oracle中dbms
功能依賴 (Functional Dependency)
A relational Database management System (RDBMS) represents the database o a collection of relations/tables. A functional dependency is a constraint between two sets of attributes in a relation. It is the property of semantics or meaning of attribute. Functional dependency is also a property of relational schema "R" and not a particular legal relation "r" of "R".
關系數據庫管理系統(RDBMS)代表數據庫是關系/表的集合。 功能依賴性是關系中兩組屬性之間的約束。 它是語義的屬性或屬性的含義。 功能依賴性也是關系模式“ R”的屬性,而不是“ R”的特定法律關系“ r” 。
Now let us consider, a relational "a" schema "R" and let "x" and "y" be the two set of attributes, now there is a functional dependency from "x" to "y"
現在讓我們考慮一個關系“ a”模式“ R”,并讓“ x”和“ y”成為兩組屬性,現在存在一個從“ x”到“ y”的功能依賴關系。
If, t1[x] = t2[x] then, t1[y] = t2[y]
如果t1 [x] = t2 [x],則t1 [y] = t2 [y]
Here, "x" is the determinant and "y" is the dependent or "x" determines "y".
在此 ,“ x”是行列式,“ y”是從屬項,“ x”確定“ y”。
Some functional dependency is directly visible in relational model but some either set of dependencies also hold good which are not directly visible.
一些功能依賴關系在關系模型中是直接可見的,但是某些依賴關系集也可以保持良好狀態,而不能直接看到。
The entire set of functional dependency is called as complete set.
整個功能依賴性集稱為完整集。
Therefore, we must know how to calculate closure set of functional dependencies before Normalization.
因此,我們必須知道如何在歸一化之前計算函數依賴的閉包集。
A functional dependency from "A" to "B" is said to be trivial if "B" is a subset of "A".
如果“ B”是“ A”的子集,則從“ A”到“ B”的功能依賴關系被認為是微不足道的。
Example: In the corresponding relation,
示例:在對應關系中,
Tuple A C
t1 a1 c1
t2 a1 c1
t3 a2 c2
t3 a2 c2
t4 a3 c3
t5 a3 c2
A → C holds as
t1[A] = t2[A] then t1[C] = t2[C]
t3[A] = t3[A] then t3[C] = t4[C]
but, C → A does not holds as.
t3[C] = t4[C] = t3[C] but t3[A] = t4[A] does not equal t5[A].
如何查找功能依賴項有效還是無效? (How to find whether a functional Dependency is valid or invalid?)
There are some steps to find whether a functional dependency is valid or invalid:
有一些步驟可以確定功能依賴項是有效的還是無效的 :
Step 1) Check if all the values of "A" are distinct than it is valid otherwise invalid.
步驟1)檢查“ A”的所有值是否均不同,否則有效。
Step 2) Check if all the values of the "B" are same than the functional dependency is also valid.
步驟2)檢查“ B”的所有值是否均與功能依賴項相同是否有效。
Step 3) Otherwise we have to find at least one value of "A" on which are having different values of "B" than the functional dependency is invalid.
步驟3)否則,我們必須找到至少一個值“ A”,在該值上具有不同于功能依賴項無效的“ B”值。
屬性關閉 (Attribute Closure)
The set "A*" is said to be the closure set of "A" if the set of attributes are functionally dependent on the attributes of "A"
如果屬性集在功能上取決于“ A”的屬性,則將集合“ A *”稱為“ A”的閉包集合。
一些計算封閉集的推理規則 (Some inference rules to calculate the closure set)
Reflexive rule: A rule is said to be reflexive if B is a subset of a then A → B. This is called trivial functional dependency rule.
自反規則:如果B是A→B的子集,則規則說是自反的。這稱為瑣碎功能依賴規則。
Augmentation rule: A rule is said to be augmented if A → B then Ar → Br holds good.
增強規則:如果A→B然后Ar→Br保持良好,則可以說是增強規則。
Transitive rule: A rule is said to be transitive if A → B, B → r then A → r.
傳遞規則:如果A→B,B→r然后是A→r,則稱為傳遞規則 。
These three rules are functionally complete and known as RAT rule or RAT axioms and also called Armstrong rule which means only theses rules are sufficient enough to find closure set.
這三個規則在功能上是完整的,稱為RAT規則或RAT公理,也稱為Armstrong規則,這意味著僅這些規則足以找到閉合集。
4) Union rule
4)聯盟規則
A rule is said to be union if A → B, B → r then A → Br also holds good.
如果A→B,B→r那么A→Br也成立,則規則稱為并集。
Decomposition rule: A rule is said to be decomposed if A → Br, A → B then A → r.
分解規則:如果A→Br,A→B然后A→r,則稱為分解規則 。
Pseudo transitivity rule: If A → B and BW → r then WA → r.
偽傳遞性規則:如果A→B和BW→r,則WA→r。
翻譯自: https://www.includehelp.com/dbms/functional-dependency-and-attribute-closure.aspx
oracle中dbms