第4章 关系数据理论
以下圖片來自西安交通大學侯迪老師的ppt,僅供學習和復習使用,請勿轉載或他用
4.1 數據依賴
-
數據依賴
-
通過關系中屬性間值的相等與否體現出的數據間的相互依存和制約關系;
-
是對現實世界中事物間相互聯系的抽象,是數據的內在性質,是語義的體現。
-
-
數據依賴的類型
-
函數依賴(Functional Dependency,簡記為FD)
-
多值依賴(Multivalued Dependency,簡記為MVD)
-
連接依賴(Jion Dependency,簡記為JD)
-
4.1.1 函數依賴
?定義4.1:設R為關系模式,r為R上的任意一個關系實例,X,Y是R的兩個屬性子集,若對于r上的任意兩個元組t1,t2,都有:如果 t1[X]=t2[X],則必有t1[Y]=t2[Y],則稱在R上X函數決定Y或者Y函數依賴于X,記為X→Y,稱X為決定子或左部,稱Y為被決定子或右部。(1)平凡函數依賴
大的集合決定小的集合
(2)完全函數依賴與部分函數依賴
X->Y且X的任何一個真子集都無法決定Y,則為完全函數依賴
(3)傳遞函數依賴與直接函數依賴
X->Y且Y->Z,而Y不能決定X且Y對X的依賴非平凡
(4)函數依賴的邏輯蘊含
(5)函數依賴集合的閉包
由一個函數依賴集能夠邏輯蘊含得到的所有的函數依賴集合
推理規則(Armstrong公理):
邏輯導出:如果F能夠通過上述的三條公理推出X->Y,則F=>X->Y
(6)屬性集合的閉包
求屬性集閉包的算法:
即先找X的子集在左部的函數依賴,得到一個集合,然后再找這個集合的子集在左部的函數依賴,循環做下去。
(7)函數依賴集的等價覆蓋
閉包相同,則等價
(8)最小函數依賴集(重點)
右部均為單屬性
左部沒有多余屬性
F中沒有多余的函數依賴
求最小函數依賴集的步驟:
將右部都拆成單屬性
X\rightarrow Z ,其中X=X_1X_2X_3X_4...,去掉左部多余的屬性,對X_1,X_2...逐一求X-X_i在F上的閉包,如果閉包中包括了Z,則去掉X_i。
注:這里F是沒有變的,本來F中若是BD->E,求BD-D的閉包時這一項并不變
消除多余函數依賴,逐一去掉每個函數依賴FDi:X\rightarrow A,然后看X在F去掉該函數依賴后的閉包,如果包括了A,則去掉該函數依賴。
注意:最小函數依賴集不一定唯一
4.1.2 多值依賴
除了函數依賴以外,關系的屬性間還存在其他一些數據依賴關系,多值依賴(multivalued dependency,MVD)就是其中之一。
判定方法:對于任意關系中,如果存在兩個元組(就是行),記為A,B,如果他們的某一屬性X的值相等,那么我們交換它們另外的屬性Y的值后,得到的新的兩個元組,在表中是可以在原來的表中找到與它們相匹配的元組的。
(1)例子
a相同,交換B上的值,得到的元組依然應該在關系中。
(2)推導規則
(3)多值依賴和函數依賴的區別
4.2 關系模式分解
4.2.1 無損分解
即將分解完的多個關系重新連接起來,若和原來的關系一樣則無損。
注意這里的無損不是指數據丟失,若數據增多也是有損。
例:
(1)判別算法
例題
4.2.2 保持函數依賴
?定義4.19:設ρ={ R1,…,Rk }是R的一個分解,F是R上的FD集,如果有: ? ? ? ? ? ∪πRi(F)? F則稱分解ρ保持函數依賴集F。例題
說明:
計算D_G^+時,按照算法,首先{D}U({D}∩{A,B})?的閉包∩{A,B}),不變,BC類似,也不變,然后CD時C的閉包為ABCD,∩{C,D}得CD,然后從D∪{C,D}={C,D}開始繼續算,最后得到D_G^+。
4.3 關系模式規范化(重點)
重點:判斷+分解(3NF或BCNF)
4.3.1 第一范式1NF
4.3.2 求候選鍵
候選鍵:能唯一標識一個元組且去掉候選鍵中的任何屬性便不能唯一標識。
4.3.3 第二范式2NF
4.3.4 第三范式3NF
存在非主屬性決定非主屬性的情況
如果只有一個非主屬性,則必然滿足。
4.3.5 BCNF
即消除了主屬性對候選鍵的部分依賴和傳遞依賴
即對于任何非平凡的函數依賴,左部都包含候選鍵
如果沒有非主屬性,則必然是3NF,但未必是BCNF。
4.3.6 第四范式
4.3.7 判斷范式級別例題
4.3.8 規范化算法
(1)分解為BCNF
舉例:
使用分解樹,每次先檢查是否滿足BCNF(左部是否都為鍵),如果不滿足,找到一個不滿足的函數依賴F:X->A,將XA分出來變成一個關系模式,然后從屬性集合中刪掉A,繼續如此,得到一個分解樹。
(2)分解為3NF
舉例:
先得到最小依賴集,然后按照左部相同進行分組,不同的組變成不同的關系模式,若有包含關系,則可去掉。
然后再求出R的鍵,如果已經包含在一個關系模式中,則不需要并入,如果沒有,則成為一個單獨的關系模式并入。
4.3.9 基于MVD的規范化
總結
總結
以上是生活随笔為你收集整理的第4章 关系数据理论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智慧园区一体化信息管理平台设计方案
- 下一篇: 一行代码实现蒲公英市场APP检查更新