多值依賴
對關係模式的影響
規範化關係模式的分解
資料依賴是一種特殊的約束,定義屬性值間的相互關連(主要體現於值的相等與否)。
描述:
是乙個關係內部屬性與屬性之間的約束關係
是現實世界屬性間相互聯絡的抽象
是資料內在的性質
是語義的體現
函式依賴、多值依賴、連線依賴、包含依賴等
函式依賴
設r(u)是乙個屬性集u上的關係模式,x和y是u的子集。 若對於r(u)的任意乙個可能的關係r,r中不可能存在兩個元組在x上的屬性值相等,而在y上的屬性值不等, 則稱 「x函式確定y」 或 「y函式依賴於x」,記作x → y。 (x為決定因素)
描述:
所有關係例項均要滿足
是語義範疇的概念
是資料庫設計者可以對現實世界作強制的規定
特殊的有:
平凡、非平凡的函式依賴
若x包含y則有x → y為平凡的函式依賴,否則則為非平凡的函式依賴
完全、部分的函式依賴
若x與y有x → y的函式依賴,但是x的任意真子集x』對y均沒有x』 → y,則為y對x的完全函式依賴,否則為部分函式依賴
傳遞的函式依賴
若x與y有x → y的函式依賴,y與z有y → z的函式依賴,且z不包含於y,y不包含於x且有x與z的x → z的函式依賴,則稱為z對x的傳遞依賴。
多值依賴
設r(u)是乙個屬性集u上的乙個關係模式, x、 y和z是u的子集,並且z=u-x-y。關係模式r(u)中多值依賴 x →→y 成立,當且僅當對r(u)的任一關係r,給定的一對(x,z)值,有一組y的值,這組值僅由x值決定,而與z值無關。
平凡、非平凡的多值依賴
若x→→y,而z為空,則稱 x→→y 為平凡的多值依賴(函式依賴);否則稱 x→→y為非平凡的多值依賴。
多值依賴的性質
對稱性 若x→→y,則x→→z,其中z=u-x-y
傳遞性 若x→→y,y→→z, 則x→→z –y
函式依賴是多值依賴的特殊情況 若x→y,則x→→y。
若x→→y,x→→z,則x→→y交z。
若x→→y,x→→z,則x→→y並z。
若x→→y,x→→z,則x→→y差z,x→→z -y
不當的資料依賴會導致資料冗餘、操作(增、刪、改)異常。
通過分解關係模式可以消除其中不合適的資料依賴。
規範化(理論)是用來改造關係模式,通過分解關係模式來消除其中不合適的資料依賴,以解決插入異常、刪除異常、更新異常和資料冗餘問題。
正規化是符合某一種級別的關係模式的集合。
關聯式資料庫中的關係必須滿足一定的要求。滿足不同程度要求的為不同正規化。
正規化種類
第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、bc正規化(bcnf)、第四正規化(4nf)等。
碼以函式依賴的概念來定義碼:
主碼和候選碼均成為碼,根據語義判斷
第一正規化(1nf)-- 關係模式的基本要求
如果乙個關係模式r的所有屬性都是不可分的基本資料項,則r∈1nf。
缺點:存在非主屬性對碼的部分函式依賴!
第二正規化(2nf)
若r∈1nf,且每乙個非主屬性完全函式依賴於碼,則r∈2nf。
缺點:存在非主屬性(dmanager)對碼的傳遞函式依賴!
第三正規化(3nf)
關係模式r中若不存在這樣的碼x、屬性組y及非主屬性z(z 不包含於y), 使得x→y,y→z成立,y → x,則稱r∈ 3nf。即每乙個非主屬性既不部分依賴於碼也不傳遞依賴於碼。
缺點:主屬性存在對碼的部分或傳遞依賴!
bc正規化(bcnf)
關係模式r∈1nf,若x→y且y 不包含於x時,x必含有碼,則r∈bcnf
特點:
所有非主屬性對每乙個碼都是完全函式依賴;
所有的主屬性對每乙個不包含它的碼,也是完全函式依賴;
沒有任何屬性完全函式依賴於非碼的任何一組屬性
第四正規化4nf*
關係模式r∈1nf,如果對於r的每個非平凡多值依賴x→→y(y不包含於x),x都含有碼,則r∈4nf。
即不允許有非平凡且非函式依賴的多值依賴,允許的非平凡多值依賴必須存在對應的函式依賴
對比
目的:使模式更加規範化,減少乃至消除資料冗餘和更新異常。
原則:無損連線、保持依賴
無損連線保證資料等價原則,保證不丟失資訊,但不一定能解決操作異常和資料冗餘等問題。
保持函式依賴反映了分解的依賴等價原則。依賴等價保證了分解後的模式與原有的模式在語義上的一致性。
公共屬性共享
保留公共屬性,進行自然連線是分解後的模式實現無損連線的必要條件。
若存在部分依賴,決定因素的真子集為公共屬性。將模式分解成部分依賴和完全依賴兩個子模式。
若存在傳遞依賴,則傳遞鏈的中間屬性為公共屬性,將鏈斷開,分解成兩個模式(保持了兩個基本依賴)。
相關屬性合一
將以函式依賴形式聯絡在一起的相關屬性放在乙個模式中,從而使原有的函式依賴得以保持。這是分解後的模式實現保持依賴的的充分條件。
對於存在部分依賴或傳遞依賴的相關屬性則不應放在乙個模式中,因為這正是導致資料冗餘和更新異常的根源,也正是模式分解所要解決的問題。
資料庫複習筆記(4) 關係資料
多值依賴 對關係模式的影響 規範化關係模式的分解 資料依賴是一種特殊的約束,定義屬性值間的相互關連 主要體現於值的相等與否 描述 是乙個關係內部屬性與屬性之間的約束關係 是現實世界屬性間相互聯絡的抽象 是資料內在的性質 是語義的體現 函式依賴 多值依賴 連線依賴 包含依賴等 函式依賴 設r u 是乙...
資料庫複習 2 關聯式資料庫
關聯式資料庫由關係資料結構 關係操作集合和完整性約束組成。關係模型的資料結構只包含關係。具有相同資料型別值的集合 集合運算 關係是笛卡爾積的有限子集,關係也是乙個二維表。對每列起乙個名字,稱為屬性 關係中能唯一標識元組的屬性組稱為候選碼 候選碼的屬性稱為主屬性 選乙個候選碼作為主碼 所有屬性都是候選...
資料庫複習 2 關聯式資料庫
關聯式資料庫由關係資料結構 關係操作集合和完整性約束組成。關係模型的資料結構只包含關係。具有相同資料型別值的集合 集合運算 關係是笛卡爾積的有限子集,關係也是乙個二維表。對每列起乙個名字,稱為屬性 關係中能唯一標識元組的屬性組稱為候選碼 候選碼的屬性稱為主屬性 選乙個候選碼作為主碼 所有屬性都是候選...