資源描述:
《關系數(shù)據(jù)庫的設計理論》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、數(shù)據(jù)庫原理及應用第5章關系數(shù)據(jù)庫的設計理論第5章關系數(shù)據(jù)庫的設計理論關系數(shù)據(jù)庫邏輯設計針對具體問題,如何構造一個適合于它的數(shù)據(jù)模式數(shù)據(jù)庫邏輯設計的工具──關系數(shù)據(jù)庫的規(guī)范化理論第5章關系數(shù)據(jù)庫的設計理論5.1關系模式的設計問題5.2數(shù)據(jù)的函數(shù)依賴5.3關系數(shù)據(jù)庫模式的規(guī)范化理論5.4關系模式分解算法5.1關系模式的設計問題關系模式由五部分組成,即它是一個五元組:R(U,D,DOM,F)R:關系名U:組成該關系的屬性名集合D:屬性組U中屬性所來自的域DOM:屬性向域的映象集合F:屬性間數(shù)據(jù)的依賴關系集合什么是數(shù)據(jù)依賴1
2、.完整性約束的表現(xiàn)形式限定屬性取值范圍:例如學生成績必須在0-100之間定義屬性值間的相互關連(主要體現(xiàn)于值的相等與否),這就是數(shù)據(jù)依賴,它是數(shù)據(jù)庫模式設計的關鍵什么是數(shù)據(jù)依賴(續(xù))2.數(shù)據(jù)依賴一個關系內(nèi)部屬性與屬性之間的約束關系現(xiàn)實世界屬性間相互聯(lián)系的抽象數(shù)據(jù)內(nèi)在的性質語義的體現(xiàn)什么是數(shù)據(jù)依賴(續(xù))3.數(shù)據(jù)依賴的類型函數(shù)依賴(FunctionalDependency,簡記為FD)多值依賴(MultivaluedDependency,簡記為MVD)其他5.1.1數(shù)據(jù)依賴關系模式R(U,D,DOM,F)簡化為一個三元組
3、:R(U,F)當且僅當U上的一個關系r滿足F時,r稱為關系模式R(U,F)的一個關系5.1.2數(shù)據(jù)依賴對關系模式的影響[例]建立一個描述學生信息的數(shù)據(jù)庫,該數(shù)據(jù)庫涉及的對象包括學生的學號(Sno)、所在系(Sdept)、系主任姓名(Mname)、課程名(Cname)和成績(Grade)。單一的關系模式:StudentU={Sno,Sdept,Mname,Cname,Grade}數(shù)據(jù)依賴對關系模式的影響(續(xù))屬性組U上的一組函數(shù)依賴F:F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→
4、Grade}SnoCnameSdeptMnameGrade關系模式Student中存在的問題1.數(shù)據(jù)冗余太大2.更新異常(UpdateAnomalies)3.插入異常(InsertionAnomalies)4.刪除異常(DeletionAnomalies)數(shù)據(jù)依賴對關系模式的影響(續(xù))結論:Student關系模式不是一個好的模式?!昂谩钡哪J剑翰粫l(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應盡可能少原因:由存在于模式中的某些數(shù)據(jù)依賴引起的解決方法:通過分解關系模式來消除其中不合適的數(shù)據(jù)依賴5.2數(shù)據(jù)的函數(shù)依
5、賴函數(shù)依賴平凡函數(shù)依賴與非平凡函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴傳遞函數(shù)依賴5.2.1函數(shù)依賴1.定義設R(U)是一個屬性集U上的關系模式,X和Y是U的子集。若對于r中任意兩個元組s和t,當s[X]=t[X]時,就有s[Y]=t[Y],則稱屬性子集X函數(shù)決定屬性子集Y或者稱Y函數(shù)依賴于X,記為X→Y。否則就稱X不函數(shù)決定Y或者稱Y不函數(shù)依賴于X,記為X?Y。如果X→Y,且Y→X,則記為X←→Y。如果X→Y,則稱X為決定因素(determinant)。說明所有關系實例均要滿足語義范疇的概念數(shù)據(jù)庫設計者可以對現(xiàn)實世界作強
6、制的規(guī)定5.2.1函數(shù)依賴【例5-1】圖書管理系統(tǒng)中的圖書借閱關系模式為R(讀者編號,姓名,圖書編號,書名,借書日期),由現(xiàn)實世界的語義可知,讀者編號唯一,圖書編號唯一,姓名和書名可以重復出現(xiàn)。求其函數(shù)依賴。函數(shù)依賴:讀者編號→姓名,圖書編號→書名,(讀者編號,圖書編號)→借書日期5.2.1函數(shù)依賴【例5-2】指出學生關系S(學號,姓名,圖書證號,系別,系主任)中存在的函數(shù)依賴關系。關系S中存在下列函數(shù)依賴:學號→姓名(每個學號只能有一個學生姓名)學號→系別(每個學號只能在一個系)學號→圖書證號(每個學號只能有一個圖
7、書證號)系別→系主任(每個系只能由一名系主任)2.函數(shù)依賴的3種基本情形(1)平凡與非平凡函數(shù)依賴在關系模式R(U)中,對于U的子集X和Y,如果X→Y,但Y?X,則稱X→Y是非平凡的函數(shù)依賴若X→Y,但Y?X,則稱X→Y是平凡的函數(shù)依賴【例5-3】在關系SC(Sno,Cno,Grade)中,非平凡函數(shù)依賴:(Sno,Cno)→Grade平凡函數(shù)依賴:(Sno,Cno)→Sno(Sno,Cno)→Cno(2)部分與完全函數(shù)依賴定義在R(U)中,如果X→Y,并且對于X的任何一個真子集X’,都有X’Y,則稱Y對X完全函數(shù)依
8、賴,記作XFY。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作XPY。(2)部分與完全函數(shù)依賴(續(xù))【例5-4】關系SC(Sno,Cno,Sname,Grade)中(Sno,Cno)→Grade是完全函數(shù)依賴,(Sno,Cno)→Sname是部分函數(shù)依賴因為Sno→Sname成立,且Sno是(Sno,Cno)的真子集(3)傳遞與