第六章 關係資料理論
一.規範化
規範化理論正是用來改造關係模式,通過分解關係模式來消除其中不合適的資料依賴,以解決插入異常、刪除異常、更新異常和資料冗餘問題。
1. 函式依賴
設r(u)是乙個屬性集u上的關係模式,x和y是u的子集。若對於r(u)的任意乙個可能的關係r,r 中不可能存在兩個元組在x上的屬性值相等, 而在y上的屬性值不等, 則稱「x函式確定y」或「y函式依賴於x」,記作x→y。
注:函式依賴與屬性間的聯絡型別有關
(1) 一對一聯絡:x←→y
(2) 多對一聯絡:x→y
(3) 多對多聯絡:不存在依賴關係
(4) 可從屬性間的聯絡型別來分析屬性間的函式依賴
2. 平凡函式依賴與非平凡函式依賴
x→y,但y⊈x則稱x→y是非平凡的函式依賴。
x→y,但y⊆x 則稱x→y是平凡的函式依賴。
例:在關係sc(sno, cno, grade)中,
非平凡函式依賴: (sno, cno) → grade
平凡函式依賴: (sno, cno) → sno
(sno, cno) → cno
3.完全函式依賴與部分函式依賴
在r(u)中,如果x→y,並且對於x的任何乙個真子集x』, 都有 x』 ↛ y, 則稱y對x完全函式依賴,記作x → y。
若x→y,但y不完全函式依賴於x,則稱y對x部分函式依賴,記作x → y
4. 傳遞函式依賴
在r(u)中,如果x→y(y⊈x),y↛x,y→z,z⊈y, 則稱z對x傳遞函式依賴(transitive functional dependency)。記為:x → z。
注: 如果y→x, 即x←→y,則z直接依賴於x,而不是傳遞函式依賴。
[例] 在關係std(sno, sdept, mname)中,有:
sno → sdept,sdept → mname,
mname傳遞函式依賴於sno
5. 碼
設k為r中的屬性或屬性組合。若k → u,則k稱為r的乙個候選碼。
如果u部分函式依賴於k,即k → u,則k稱為超碼。候選碼是最小的超碼,即k的任意乙個真子集都不是候選碼。
若關係模式r有多個候選碼,則選定其中的乙個做為主碼。
6. 正規化
正規化是符合某一種級別的關係模式的集合。
關聯式資料庫中的關係必須滿足一定的要求。滿足不同程度要求的為不同正規化。
正規化的種類:
第一正規化(1nf)
第二正規化(2nf)
第三正規化(3nf)
bc正規化(bcnf)
第四正規化(4nf)
第五正規化(5nf)
7. 各種正規化之間存在聯絡:
某一關係模式r為第n正規化,可簡記為r∈nnf。
8. 若關係模式r∈1nf,並且每乙個非主屬性都完全函式依賴於任何乙個候選碼,則r∈2nf
[例6.4] s-l-c(sno,sdept,sloc,cno,grade), sloc為學生的住處,並且每個系的學生住在同乙個地方。s-l-c的碼為(sno,cno)。
函式依賴有
(sno,cno)→grade
sno→sdept, (sno,cno)→sdept
sno→sloc, (sno,cno)→sloc
sdept→sloc
9. 設關係模式r∈1nf,若r中不存在這樣的碼x、屬性組y及非主屬性z(z ⊇ y), 使得x→y,y→z成立,y ↛ x不成立,則稱r∈ 3nf。
sc沒有傳遞依賴,因此sc ∈ 3nf。
10. 設關係模式r∈1nf,若x →y且y ⊆ x時x必含有碼,則r∈bcnf。
換言之,在關係模式r中,如果每乙個決定屬性集都包含候選碼,則r∈bcnf。
11. 關係模式r∈1nf,如果對於r的每個非平凡多值依賴x→→y(y ⊈ x),x都含有碼,則r∈4nf。
不允許有非平凡且非函式依賴的多值依賴。
允許的非平凡多值依賴實際上是函式依賴。
資料庫 Oracle學習筆記(4)
select from emp 查詢表中所有列 select ename,sal from emp 查詢表中ename列,和sal列 select concat ename,的工資是 from emp smith的工資是 smith的工資是 sal smith的工資是800 select conca...
資料庫複習筆記(4) 關係資料
多值依賴 對關係模式的影響 規範化關係模式的分解 資料依賴是一種特殊的約束,定義屬性值間的相互關連 主要體現於值的相等與否 描述 是乙個關係內部屬性與屬性之間的約束關係 是現實世界屬性間相互聯絡的抽象 是資料內在的性質 是語義的體現 函式依賴 多值依賴 連線依賴 包含依賴等 函式依賴 設r u 是乙...
資料庫複習筆記(4) 關係資料
多值依賴 對關係模式的影響 規範化關係模式的分解 資料依賴是一種特殊的約束,定義屬性值間的相互關連 主要體現於值的相等與否 描述 是乙個關係內部屬性與屬性之間的約束關係 是現實世界屬性間相互聯絡的抽象 是資料內在的性質 是語義的體現 函式依賴 多值依賴 連線依賴 包含依賴等 函式依賴 設r u 是乙...