版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章 關(guān)系數(shù)據(jù)庫設(shè)計實際 關(guān)系數(shù)據(jù)庫設(shè)計實際是關(guān)系數(shù)據(jù)庫的指南,也是關(guān)系關(guān)系數(shù)據(jù)庫設(shè)計實際是關(guān)系數(shù)據(jù)庫的指南,也是關(guān)系數(shù)據(jù)庫的實際根底。它是數(shù)據(jù)庫領(lǐng)域的專家和學(xué)者們總結(jié)數(shù)據(jù)庫的實際根底。它是數(shù)據(jù)庫領(lǐng)域的專家和學(xué)者們總結(jié)數(shù)據(jù)庫設(shè)計中的閱歷教訓(xùn)的根底上,借助近代數(shù)學(xué)工具而數(shù)據(jù)庫設(shè)計中的閱歷教訓(xùn)的根底上,借助近代數(shù)學(xué)工具而提出來的。它把籠統(tǒng)的數(shù)學(xué)實際和詳細的實踐問題結(jié)合起提出來的。它把籠統(tǒng)的數(shù)學(xué)實際和詳細的實踐問題結(jié)合起來,為數(shù)據(jù)庫領(lǐng)域的開展起到了推進作用。來,為數(shù)據(jù)庫領(lǐng)域的開展起到了推進作用。意義:意義: 提供分析和判別數(shù)據(jù)庫方式好壞的準那么;提供分析和判別數(shù)據(jù)庫方式好壞的準那么; 指點設(shè)計好的
2、數(shù)據(jù)庫方式。指點設(shè)計好的數(shù)據(jù)庫方式。位置:位置:本章是本書最難的部分之一,但對于運用設(shè)計非常有用本章是本書最難的部分之一,但對于運用設(shè)計非常有用5.1 5.1 問題的提出什么是不好的數(shù)據(jù)庫設(shè)計問題的提出什么是不好的數(shù)據(jù)庫設(shè)計實踐問題,假定在設(shè)計數(shù)據(jù)庫時出現(xiàn)如下的關(guān)系方式:實踐問題,假定在設(shè)計數(shù)據(jù)庫時出現(xiàn)如下的關(guān)系方式:Student(Sno, Sname, DeptStudent(Sno, Sname, Dept,Cno, Grade)Cno, Grade)學(xué)生學(xué)號,姓名,院系,課程號,成果學(xué)生學(xué)號,姓名,院系,課程號,成果SnoSnoSnameSnameDeptDeptCnoCnoGrade
3、Grade10001000李平李平計算機計算機001001868610001000李平李平計算機計算機002002979710001000李平李平計算機計算機003003838310011001王莉王莉計算機計算機001001808010011001王莉王莉計算機計算機0020027575上述的關(guān)系方式在實踐運用中會出現(xiàn)什么樣的問題呢?上述的關(guān)系方式在實踐運用中會出現(xiàn)什么樣的問題呢?1 1、數(shù)據(jù)存在冗余、數(shù)據(jù)存在冗余 該關(guān)系方式中,學(xué)生每選一門課,他的名字和院系就該關(guān)系方式中,學(xué)生每選一門課,他的名字和院系就要反復(fù)存放一次。而且,假設(shè)他的院系改動的話,那么對要反復(fù)存放一次。而且,假設(shè)他的院系改
4、動的話,那么對于其的每一個元組的院系都要改動。這樣不僅增添了更新于其的每一個元組的院系都要改動。這樣不僅增添了更新代價,而且還有能夠出現(xiàn)一個人在不同院系的情況。代價,而且還有能夠出現(xiàn)一個人在不同院系的情況。2 2、插入刪除異常、插入刪除異常 該關(guān)系方式的主鍵應(yīng)該是由學(xué)生學(xué)號和課程號共同構(gòu)該關(guān)系方式的主鍵應(yīng)該是由學(xué)生學(xué)號和課程號共同構(gòu)成。按照常理,新學(xué)生登記注冊,應(yīng)該在學(xué)生信息庫里存成。按照常理,新學(xué)生登記注冊,應(yīng)該在學(xué)生信息庫里存在他的資料,但假設(shè)此時他還未選課,那么關(guān)于這個學(xué)生在他的資料,但假設(shè)此時他還未選課,那么關(guān)于這個學(xué)生的信息就不能創(chuàng)建,這是違背現(xiàn)實的情況的。的信息就不能創(chuàng)建,這是違背
5、現(xiàn)實的情況的。3 3、更新復(fù)雜、更新復(fù)雜 假設(shè)某個學(xué)生轉(zhuǎn)換所在系,那么和他一切的相關(guān)的記錄假設(shè)某個學(xué)生轉(zhuǎn)換所在系,那么和他一切的相關(guān)的記錄都必需進展修正。而且,容易呵斥潛在的數(shù)據(jù)不一致的問題。都必需進展修正。而且,容易呵斥潛在的數(shù)據(jù)不一致的問題。比如比如李平李平的記錄,能夠會只修正了其中一部分元組。的記錄,能夠會只修正了其中一部分元組。結(jié)論:結(jié)論:StudentStudent關(guān)系方式不是一個好的方式。關(guān)系方式不是一個好的方式?!昂玫姆绞剑汉玫姆绞剑翰粫l(fā)生插入異常、刪除異常、更新異常,不會發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡能夠少。數(shù)據(jù)冗余應(yīng)盡能夠少。緣由:由存在于方式中的某些數(shù)據(jù)依
6、賴引起的緣由:由存在于方式中的某些數(shù)據(jù)依賴引起的處理方法:經(jīng)過分解關(guān)系方式來消除其中不適宜處理方法:經(jīng)過分解關(guān)系方式來消除其中不適宜 的數(shù)據(jù)依賴。的數(shù)據(jù)依賴。由此可見,一個關(guān)系方式假設(shè)設(shè)計的不合理,將會呵斥很多由此可見,一個關(guān)系方式假設(shè)設(shè)計的不合理,將會呵斥很多問題。假設(shè)我們將上述的關(guān)系方式進展分解:問題。假設(shè)我們將上述的關(guān)系方式進展分解: Student(Sno, SnameStudent(Sno, Sname,Dept)Dept) SC(Sno, Cno, Grade) SC(Sno, Cno, Grade)分解以后可以處理上述的問題。但是上述關(guān)系方式在有些情分解以后可以處理上述的問題。但
7、是上述關(guān)系方式在有些情況下也不是最優(yōu)的。詳細的關(guān)系方式的設(shè)計不僅要結(jié)合數(shù)據(jù)況下也不是最優(yōu)的。詳細的關(guān)系方式的設(shè)計不僅要結(jié)合數(shù)據(jù)庫設(shè)計實際,也還要根據(jù)實踐的運用來決策。庫設(shè)計實際,也還要根據(jù)實踐的運用來決策。關(guān)系方式的方式化定義關(guān)系方式的方式化定義關(guān)系方式由五部分組成,即它是一個五元組:關(guān)系方式由五部分組成,即它是一個五元組: R(U, D, DOM, F)R(U, D, DOM, F)R R: 關(guān)系名關(guān)系名U U: 組成該關(guān)系的屬性名集合組成該關(guān)系的屬性名集合D D: 屬性組屬性組U U中屬性所來自的域中屬性所來自的域DOMDOM: 屬性向域的映象集合屬性向域的映象集合F F: 屬性間數(shù)據(jù)的依
8、賴關(guān)系集合屬性間數(shù)據(jù)的依賴關(guān)系集合什么是數(shù)據(jù)依賴什么是數(shù)據(jù)依賴1.完好性約束的表現(xiàn)方式限定屬性取值范圍:例如學(xué)生成果必需在0-100之間定義屬性值間的相互關(guān)連主要表達于值的相等與否,這就是數(shù)據(jù)依賴,它是數(shù)據(jù)庫方式設(shè)計的關(guān)鍵2. 數(shù)據(jù)依賴是經(jīng)過一個關(guān)系中屬性間值的相等與否表達出來的數(shù)據(jù)間的相互關(guān)系是現(xiàn)實世界屬性間相互聯(lián)絡(luò)的籠統(tǒng)是數(shù)據(jù)內(nèi)在的性質(zhì)是語義的表達3. 3. 數(shù)據(jù)依賴的類型數(shù)據(jù)依賴的類型函數(shù)依賴函數(shù)依賴Functional DependencyFunctional Dependency,簡記為,簡記為FDFD多值依賴多值依賴Multivalued DependencyMultivalued
9、 Dependency,簡記為,簡記為MVDMVD其他其他5.2 5.2 規(guī)范化實際規(guī)范化實際 規(guī)范化實際正是用來改造關(guān)系方式,經(jīng)過分解關(guān)系方式來消規(guī)范化實際正是用來改造關(guān)系方式,經(jīng)過分解關(guān)系方式來消除其中不適宜的數(shù)據(jù)依賴,以處理插入異常、刪除異常、更新異除其中不適宜的數(shù)據(jù)依賴,以處理插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。常和數(shù)據(jù)冗余問題。v 函數(shù)依賴函數(shù)依賴一、屬性間的聯(lián)絡(luò)一、屬性間的聯(lián)絡(luò) 客觀世界中的事物是彼此聯(lián)絡(luò),相互制約的。這種聯(lián)客觀世界中的事物是彼此聯(lián)絡(luò),相互制約的。這種聯(lián)系分為兩類:一類是實體與實體之間的聯(lián)絡(luò);另一類是實系分為兩類:一類是實體與實體之間的聯(lián)絡(luò);另一類是實體內(nèi)部
10、各屬性之間的聯(lián)絡(luò)。體內(nèi)部各屬性之間的聯(lián)絡(luò)。屬性之間的聯(lián)絡(luò)分為三類:屬性之間的聯(lián)絡(luò)分為三類:1 1、1 11 1:例假設(shè)學(xué)生關(guān)系方式中沒有同名景象,那么學(xué)號和:例假設(shè)學(xué)生關(guān)系方式中沒有同名景象,那么學(xué)號和姓名兩個屬性之間的關(guān)系是一對一的關(guān)系。姓名兩個屬性之間的關(guān)系是一對一的關(guān)系。2 2、1 1M M:例一個院系有多個人,但是單個人只能屬于一個:例一個院系有多個人,但是單個人只能屬于一個院系,那么院系和人的學(xué)號之間的關(guān)系是一對多的。院系,那么院系和人的學(xué)號之間的關(guān)系是一對多的。3 3、M MN N:一個課程號對應(yīng)于多個學(xué)號,一個學(xué)號對應(yīng)于多:一個課程號對應(yīng)于多個學(xué)號,一個學(xué)號對應(yīng)于多個課程號,這兩
11、個屬性之間是多對多的聯(lián)絡(luò)。個課程號,這兩個屬性之間是多對多的聯(lián)絡(luò)。二、函數(shù)依賴的定義二、函數(shù)依賴的定義定義:設(shè)有關(guān)系方式定義:設(shè)有關(guān)系方式R(U),X和和Y是屬性集是屬性集U的子集,的子集,r是是R上的任一詳細關(guān)系,上的任一詳細關(guān)系,u和和v是是r中的恣意兩個元組。假設(shè)由中的恣意兩個元組。假設(shè)由uX=vX能推導(dǎo)出能推導(dǎo)出uY=vY,那么稱,那么稱X函數(shù)決議函數(shù)決議Y,或,或Y函函數(shù)依賴于數(shù)依賴于X,記為,記為Y YX X: :F FD D例:有一個學(xué)習(xí)方式例:有一個學(xué)習(xí)方式 R(S#,SNAME,C#,GRADE,TNAME,TAGE)R(S#,SNAME,C#,GRADE,TNAME,TAG
12、E)如今規(guī)定,每個學(xué)號只對應(yīng)一個詳細學(xué)生,每個課程號只如今規(guī)定,每個學(xué)號只對應(yīng)一個詳細學(xué)生,每個課程號只由一個教師來教,寫出函數(shù)依賴。由一個教師來教,寫出函數(shù)依賴。GRADE)C#,(S#-TNAMEC#-SNAMES# -三、屬性間的聯(lián)絡(luò)和函數(shù)依賴三、屬性間的聯(lián)絡(luò)和函數(shù)依賴屬性間的聯(lián)絡(luò)有三種,但并不是每一種關(guān)系中都存在函數(shù)屬性間的聯(lián)絡(luò)有三種,但并不是每一種關(guān)系中都存在函數(shù)依賴,設(shè)有屬性集依賴,設(shè)有屬性集X、Y屬于關(guān)系方式屬于關(guān)系方式R, 假設(shè)假設(shè)X和和Y之間是之間是11關(guān)系,那么存在函數(shù)依賴:關(guān)系,那么存在函數(shù)依賴:X XY YY,Y,X X假設(shè)假設(shè)X X和和Y Y之間是之間是1 1M M關(guān)
13、系,那么存在函數(shù)依賴:關(guān)系,那么存在函數(shù)依賴:XY 假設(shè)假設(shè)X X和和Y Y之間是之間是N NM M關(guān)系,那么:關(guān)系,那么:X X和和Y Y之間不存在函數(shù)依賴之間不存在函數(shù)依賴例:假設(shè)人名獨一的話,那么一個人名對應(yīng)一個學(xué)號,那么有例:假設(shè)人名獨一的話,那么一個人名對應(yīng)一個學(xué)號,那么有S SN NO OS SN NA AM ME ES SN NA AM ME E, ,S SN NO O例:院系和學(xué)號之間的聯(lián)絡(luò)是一對多的,那么存在的例:院系和學(xué)號之間的聯(lián)絡(luò)是一對多的,那么存在的FDFD為為SDEPTSDEPTSNOSNO 四、四、FDFD的邏輯蘊涵的邏輯蘊涵定義:設(shè)定義:設(shè)F F是在關(guān)系方式是在關(guān)
14、系方式R R上成立的函數(shù)依賴集,上成立的函數(shù)依賴集, 是一個是一個FDFD。假設(shè)對于。假設(shè)對于R R的每個滿足的每個滿足F F的關(guān)系也滿足的關(guān)系也滿足 , ,那么稱那么稱F F邏輯蘊涵邏輯蘊涵 ,記為,記為定義:被定義:被F F邏輯蘊涵的函數(shù)依賴的全體構(gòu)成的集合,稱為邏輯蘊涵的函數(shù)依賴的全體構(gòu)成的集合,稱為函數(shù)依賴集的閉包,記為函數(shù)依賴集的閉包,記為F+F+。Y YX X Y YX X Y YX X Y YX X| |F F五、五、FDFD的推理規(guī)那么的推理規(guī)那么從知的從知的FDFD集推導(dǎo)未知的集推導(dǎo)未知的FDFD,可以運用的推導(dǎo)規(guī)那么,可以運用的推導(dǎo)規(guī)那么ArmstrongArmstrong
15、設(shè)有關(guān)系方式設(shè)有關(guān)系方式R RU U,X X、Y Y、Z Z是是U U的子集:的子集:A1(A1(自反性自反性) ):假設(shè):假設(shè) ,那么有,那么有 在在R R上成立。上成立。A2(A2(增廣性增廣性) ):假設(shè):假設(shè) 在在R R上成立,那么有上成立,那么有A3(A3(傳送性傳送性) ):假設(shè):假設(shè) 在在R R上成立,那么有上成立,那么有 X XY Y Y YX X Y YX X Y YZ ZX XZ Z Z ZY Y和和Y YX XZ ZX X 證明證明ArmstrongArmstrong公理,用公理,用FDFD定義:定義:A1A1:設(shè):設(shè)u,vu,v是是r r中的恣意兩個元組,假設(shè)中的恣意兩
16、個元組,假設(shè)uX=vXuX=vX,那么,那么u,vu,v中的中的X X的恣意子集也必然相等,由條件中的恣意子集也必然相等,由條件中uY=vYuY=vY,根據(jù),根據(jù)函數(shù)依賴的定義,可以得到函數(shù)依賴的定義,可以得到Y(jié) YX X A2A2:設(shè):設(shè)u,vu,v是是r r中的恣意兩個元組,設(shè)中的恣意兩個元組,設(shè)uXZ=vXZuXZ=vXZ,即,即uXuZ=vXvZuXuZ=vXvZ,那么,那么uX=vX,uZ=vZuX=vX,uZ=vZ,由條件,由條件根據(jù)函數(shù)依賴定義有根據(jù)函數(shù)依賴定義有uY=vY,uY=vY,那么那么uYZ=uYuZ=uYZ=uYuZ=vYvZ=vYZvYvZ=vYZ這樣在這樣在uXZ
17、=vXZuXZ=vXZ的根底上推出了的根底上推出了uYZ=vYZuYZ=vYZ,得證。,得證。A3A3:設(shè):設(shè)u,vu,v是是r r中的恣意兩個元組,對于中的恣意兩個元組,對于uX=vXuX=vX,由于由于 ,那么有,那么有uY=vYuY=vY,又由于,又由于 那么根據(jù)定那么根據(jù)定義可以得出義可以得出uZ=vZuZ=vZ,因此得到,因此得到Y(jié) YX X Z ZY Y Z ZX X 例題:知關(guān)系例題:知關(guān)系R(X,Y,Z)R(X,Y,Z)以及其上的函數(shù)依賴集以及其上的函數(shù)依賴集F F,求,求F+F+。X XY YZ ZX XY YZ ZX XZ ZX XY YZ ZY YZ ZX XY YZ Z
18、X XY YX XY YZ ZZ ZX XY YZ ZY YX XY YZ ZX XX XY YZ ZX XY YZ ZX XY YZ ZX XZ ZY YZ ZX XZ ZX XZ ZX XZ ZX XY YX XZ ZZ ZX XZ ZY YX XZ ZX XX XZ ZX XZ ZX XY YZ ZX XY YY YZ ZX XY YX XZ ZX XY YX XY YX XY YZ ZX XY YY YX XY YX XX XY YX XY YZ ZZ ZZ ZY YZ ZY YZ ZZ ZY YZ ZY YY YZ ZY YZ ZY YZ ZY YZ ZY YY YY YY YX X
19、Y YZ ZX XY YZ ZX XX XZ ZX XX XY YX XZ ZX XY YX XX XX XX XZZY YY,Y,XXF FFDFD的分類:的分類:1 1、對于、對于FDFD: ,假設(shè),假設(shè) ,那么稱為,那么稱為“平凡的平凡的FDFD2 2、對于、對于FDFD: ,假設(shè),假設(shè) ,那么稱為,那么稱為“非平凡的非平凡的FDFD3 3、對于、對于FDFD: ,假設(shè),假設(shè) 那么為那么為“完全非平凡的完全非平凡的FDFDY YX X X XY Y Y YX X X XY Y Y YX X X XY YArmstrongArmstrong的推論:的推論:1 1、合并規(guī)那么:、合并規(guī)那么:
20、2 2、分解規(guī)那么:、分解規(guī)那么:3 3、偽傳送規(guī)那么:、偽傳送規(guī)那么:Y YZ ZZ Z可可以以得得到到X XX XY Y, ,由由X XZ ZX XY Y, ,Y YZ Z可可以以得得到到X X由由X XZ ZZ Z則則得得到到X XW WY YW WY Y, ,由由X XY YZ Z( (A A3 3) )得得證證X XZ ZY Y( (A A2 2) )X XY YZ ZX X又又X XY Y( (A A2 2) )X XY YX X合并規(guī)那么:合并規(guī)那么:分解規(guī)那么:分解規(guī)那么:Z Z同理:X同理:XY(A3)Y(A3)X XYZYZX XZ Z同理:YZ同理:YZY(A1)Y(A1
21、)YZYZYZYZY Y偽傳送規(guī)那么:偽傳送規(guī)那么:Z ZWXWXZ ZWYWY又又WYWYWXWXY YX X* * 用函數(shù)依賴定義鍵用函數(shù)依賴定義鍵 超鍵:能獨一標識元組的屬性集稱為關(guān)系方式的超鍵。超鍵:能獨一標識元組的屬性集稱為關(guān)系方式的超鍵。 候選鍵:假設(shè)一個屬性集能獨一標識元組,且不含有多候選鍵:假設(shè)一個屬性集能獨一標識元組,且不含有多 余的屬性,那么這個屬性集成為候選鍵。余的屬性,那么這個屬性集成為候選鍵。定義:假設(shè)關(guān)系方式定義:假設(shè)關(guān)系方式R R的屬性集為的屬性集為A1,A2,AnA1,A2,An,F(xiàn) F是是R R上成立上成立的一個的一個FDFD集,集,X X是是A1,A2,An
22、A1,A2,An的一個子集,假設(shè)的一個子集,假設(shè)X XA1,A2,A1,A2,AnAn在在F+F+中,那么稱中,那么稱X X是是R R的一個超鍵。假設(shè)的一個超鍵。假設(shè)X XA1,A2,AnA1,A2,An在在F+F+中,且對于中,且對于X X的任何一個真子集的任何一個真子集X1X1, X1 X1A1,A2,AnA1,A2,An在都不在在都不在F+F+中,那么稱中,那么稱X X是是R R的一個候選鍵。的一個候選鍵。屬性集的閉包屬性集的閉包定義:設(shè)定義:設(shè)F F是屬性集是屬性集U U上的上的FDFD集,集,X X是是U U的子集,那么屬性集的子集,那么屬性集X X的閉包的閉包X+X+,它是一個從,
23、它是一個從F F集運用集運用FDFD推導(dǎo)規(guī)那么推出的一切滿推導(dǎo)規(guī)那么推出的一切滿足足X XAA的屬性集的屬性集A A的集合:的集合:中中 A A在在F FX X| | 屬屬性性集集A AX X定理:定理:X XYY能用能用FDFD推理規(guī)那么推出的充分必要條件是推理規(guī)那么推出的充分必要條件是證明:證明:( (充分性充分性) )根據(jù)根據(jù) ,設(shè),設(shè)Y=A1,A2,AnY=A1,A2,An。由屬性集。由屬性集閉包定義可知:閉包定義可知:X XAiAi在在F+F+中。再根據(jù)合并規(guī)那么,中。再根據(jù)合并規(guī)那么,X XA1,A1,A2,An A2,An 即即X XYY。( (必要性必要性) )由由X XYY,
24、根據(jù)分解規(guī)那么,根據(jù)分解規(guī)那么,X XAiAi,根據(jù)屬性集閉,根據(jù)屬性集閉包定義可得包定義可得 ,所以,所以 ,即,即 X XY Y X XY Y X XA Ai i X XA A, ,. . . ., ,A A, ,A An n2 21 1 X XY Y* *用屬性集的閉包來定義候選鍵用屬性集的閉包來定義候選鍵定義:假設(shè)關(guān)系方式定義:假設(shè)關(guān)系方式R R的屬性集為的屬性集為U U,F(xiàn) F是是R R上成立的一個上成立的一個FDFD集,集,X X是是U U的一個子集,假設(shè)的一個子集,假設(shè)X X的屬性集的閉包的屬性集的閉包X+ =U,X+ =U,那么那么稱稱X X為為R R的一個超鍵,假設(shè)對于的一個
25、超鍵,假設(shè)對于X X的任何一個真子集的任何一個真子集Y Y,有有Y+UY+U。那么。那么X X為為R R的一個候選鍵。的一個候選鍵。算法:求屬性集算法:求屬性集X X關(guān)于關(guān)于FDFD集集F F的閉包的閉包X+X+輸入:屬性集輸入:屬性集U U,U U上的上的FDFD集集F F,X X是是U U的子集的子集輸出:輸出:X X關(guān)于關(guān)于F F的閉包的閉包X X方法:方法: Result:=X;Result:=X; repeat repeat for F for F 中的每個中的每個FD YFD YZ doZ do if then Result:=Result U Z; if then Result:
26、=Result U Z; until (result until (result 沒有改動沒有改動) ); Result Result 即為所求的即為所求的X+X+R Re es su ul lt tY Y 例:屬性集例:屬性集U U為為ABCDABCD,F(xiàn)DFD集為集為 , ,求求A+,AD+ A+,AD+ A+ (1) Result=A A+ (1) Result=A (2) Result=A U B =AB (2) Result=A U B =AB (3) Result=AB U C =ABC (3) Result=AB U C =ABCB B D DC C, ,B BB B, , A
27、AAD+ = ABCDAD+ = ABCD例題:例題:A AG G C CE EB B, ,A AC CD DB BD D, ,C CG GD D, ,B BC CC C, ,B BE EA A, ,C CE EG G, ,D DC C, , A AB BF F求求BD+BD+1) result=BD, AB1) result=BD, AB不含于不含于resultresult,result=BDresult=BD2) result=BD2) result=BD,D D包含于包含于result,result =BD U EG=BDEGresult,result =BD U EG=BDEG3) r
28、esult=BDEG3) result=BDEG,C C不含于不含于result,result=BDEGresult,result=BDEG4) result=BDEG4) result=BDEG,BEBE包含于包含于result,result =BDEG U C=BCDEGresult,result =BDEG U C=BCDEG5) result=BCDEG,BC5) result=BCDEG,BC包含于包含于result,result=BCDEG U D=BCDEGresult,result=BCDEG U D=BCDEG6) result=BCDEG,CG6) result=BCDEG
29、,CG包含于包含于result,result=BCDEG U BD=BCDEGresult,result=BCDEG U BD=BCDEG7) result=BCDEG,ACD7) result=BCDEG,ACD不含于不含于result,result=BCDEGresult,result=BCDEG8) result=BCDEG,CE 8) result=BCDEG,CE 含于含于result,result=BCDEGUAG=ABCDEGresult,result=BCDEGUAG=ABCDEG* 快速求解候選鍵的充分條件快速求解候選鍵的充分條件對于給定的關(guān)系方式對于給定的關(guān)系方式R=(A1
30、,A2,An)R=(A1,A2,An)和函數(shù)依賴集和函數(shù)依賴集F F,可將其屬性分為四類:可將其屬性分為四類:1 1、僅僅出如今、僅僅出如今F F的函數(shù)依賴左部的屬性的函數(shù)依賴左部的屬性L L類;類;2 2、僅僅出如今、僅僅出如今F F的函數(shù)依賴右部的屬性的函數(shù)依賴右部的屬性R R類;類;3 3、在、在F F的函數(shù)依賴的左右兩邊都沒有出現(xiàn)的屬性的函數(shù)依賴的左右兩邊都沒有出現(xiàn)的屬性N N類;類;4 4、在、在F F的函數(shù)依賴的左右兩邊都出現(xiàn)的屬性的函數(shù)依賴的左右兩邊都出現(xiàn)的屬性LRLR類;類;定理:對于給定關(guān)系方式定理:對于給定關(guān)系方式R R及其函數(shù)依賴集及其函數(shù)依賴集F(F(不包含平凡不包含平
31、凡FD)FD)1) X1) X是是L L類屬性,那么類屬性,那么X X必為必為R R的任何一個候選鍵的成員。的任何一個候選鍵的成員。2) X2) X是是R R類屬性,那么類屬性,那么X X不包含在任何候選鍵中。不包含在任何候選鍵中。3) X3) X是是R R的的N N類屬性,那么類屬性,那么X X也必為也必為R R的任何一個候選鍵的成員。的任何一個候選鍵的成員。4) X4) X是是R R的的LRLR類屬性,那么類屬性,那么X X能夠是也能夠不是候選鍵的成員。能夠是也能夠不是候選鍵的成員。1) 1) 反證法:設(shè)反證法:設(shè)W W為為R R的任一候選鍵,的任一候選鍵,X X不是不是W W的成員。由于
32、的成員。由于X X僅僅出如今僅僅出如今F F的函數(shù)依賴左部,所以的函數(shù)依賴左部,所以R R中沒有其它屬性能中沒有其它屬性能夠函數(shù)決議夠函數(shù)決議X X,這樣,這樣W+W+中就不能夠包含中就不能夠包含X X,這樣就與,這樣就與W W是是R R的的候選鍵相矛盾。所以候選鍵相矛盾。所以X X必然是候選鍵必然是候選鍵W W的成員。的成員。X X為為L L類的情況類的情況2) 2) 反證法:設(shè)反證法:設(shè)W W是是R R的任一候選鍵,的任一候選鍵,X X不是不是W W的成員。由于的成員。由于X X沒有出如今沒有出如今F F中,那么中,那么R R中沒有其它屬性可以函數(shù)決議中沒有其它屬性可以函數(shù)決議X X。這樣
33、這樣W+W+中就不能夠包含中就不能夠包含X X,這與,這與W W是是R R的候選鍵相矛盾。所以的候選鍵相矛盾。所以X X必然是候選鍵必然是候選鍵W W的成員。的成員。X X是是N N類的情況類的情況例:設(shè)有關(guān)系方式例:設(shè)有關(guān)系方式R(A,B,C,D)R(A,B,C,D),其函數(shù)依賴集,其函數(shù)依賴集F F如下,如下,求求R R的候選鍵。的候選鍵。D D A AC CD DB B, ,C CD DB B, ,A AD D, ,B BB B, , D D傳統(tǒng)步驟:傳統(tǒng)步驟:1 1、分別求、分別求A/B/C/D/AB/AC/AD/BC/BD/CDA/B/C/D/AB/AC/AD/BC/BD/CD AB
34、C/ABD/ACD/BCD/ABCD ABC/ABD/ACD/BCD/ABCD的屬性集的的屬性集的 閉包。閉包。 2 2、根據(jù)候選鍵定義找出候選鍵。、根據(jù)候選鍵定義找出候選鍵??焖俨襟E:快速步驟:1、L類類L類類:A,C LR類類: B,D (AC)+=ABCD 所以所以AC是關(guān)系方式是關(guān)系方式R的獨一候選鍵。的獨一候選鍵。求解候選鍵的步驟求解候選鍵的步驟1、根據(jù)關(guān)系方式上成立的、根據(jù)關(guān)系方式上成立的FD集確定屬性的類型。集確定屬性的類型。2、根據(jù)屬性類型求屬性集的閉包。、根據(jù)屬性類型求屬性集的閉包。3、滿足候選鍵定義條件的即為所求的候選鍵。留意有些、滿足候選鍵定義條件的即為所求的候選鍵。留意
35、有些情況下候選鍵不是獨一的。情況下候選鍵不是獨一的。例:設(shè)有關(guān)系方式例:設(shè)有關(guān)系方式R(A,B,C,D)R(A,B,C,D),F(xiàn) F是是R R上成立的上成立的FDFD集,試寫集,試寫出出R R的一切候選鍵。的一切候選鍵。B B D DA A, , D DF F解答:分析解答:分析R R的屬性類型:的屬性類型: 求解屬性集閉包:求解屬性集閉包:* *練習(xí)練習(xí)1 1、給定關(guān)系方式、給定關(guān)系方式R (ABCDEG)R (ABCDEG),R R上成立的上成立的FDFD集集B B A AE E, ,C CD DA A, ,C CG G, , D DF F求求D+,C+,A+,CD+,AD+,AC+,AC
36、D+D+,C+,A+,CD+,AD+,AC+,ACD+求出求出R R的一切候選鍵的一切候選鍵解:解: D D(DG) C+=(ABC) A+ =(AB)(DG) C+=(ABC) A+ =(AB) (AD)+=(ABDG) (AC)+=(ABC) (ACD)+=(ABCDEG) (AD)+=(ABDG) (AC)+=(ABC) (ACD)+=(ABCDEG)首先確定關(guān)系首先確定關(guān)系R R的屬性類型的屬性類型 L L類:類:C,D C,D ;LRLR類:類:A A ;R R類:類:B,E,GB,E,G(CD)+=(ABCDEG)(CD)+=(ABCDEG),所以,所以R R的候選鍵是的候選鍵是C
37、DCD。2 2、設(shè)關(guān)系方式、設(shè)關(guān)系方式R(ABCD)R(ABCD)上的函數(shù)依賴集為上的函數(shù)依賴集為F F,并且,并且A A D DD D, ,C CC C, , A AB BF F 求求R R的一切候選鍵。的一切候選鍵。 求求R R的一切不是候選鍵的超鍵。的一切不是候選鍵的超鍵。 L L類:類:B B ;LRLR類:類:A,C,DA,C,D (B)+=(B) (B)+=(B),(AB)+=(ABCD)(AB)+=(ABCD); (BC)+=(ABCD) (BC)+=(ABCD);(BD)+=(ABCD)(BD)+=(ABCD)一切不是候選鍵的超鍵一切不是候選鍵的超鍵 ABC, ABD, BCD
38、, ABCD ABC, ABD, BCD, ABCDv 規(guī)范化規(guī)范化 關(guān)系必需是規(guī)范化的。通常按屬性間依賴情況,來區(qū)關(guān)系必需是規(guī)范化的。通常按屬性間依賴情況,來區(qū)分關(guān)系規(guī)范化的程度為第一范式,第二范式,第三范式等。分關(guān)系規(guī)范化的程度為第一范式,第二范式,第三范式等。術(shù)語和記號:術(shù)語和記號:則則記記為為X X若若Y Y不不函函數(shù)數(shù)依依賴賴于于X X,Y Y則則記記為為X XX X, ,Y YY Y, ,X XX X叫叫做做決決定定因因素素Y Y, ,X XY Y定義:在關(guān)系定義:在關(guān)系R(U)R(U)中,假設(shè)中,假設(shè) ,并且對于,并且對于X X的任何一個的任何一個真子集真子集X X都有都有 ,那
39、么稱,那么稱Y Y對對X X完全函數(shù)依賴。完全函數(shù)依賴。定義:假設(shè)定義:假設(shè) ,但,但Y Y不完全函數(shù)依賴于不完全函數(shù)依賴于X X,那么稱,那么稱Y Y對對X X部部分函數(shù)依賴。分函數(shù)依賴。定義:在定義:在R(U)R(U)中,假設(shè)中,假設(shè) , , ,那么,那么稱稱Z Z對對X X傳送函數(shù)依賴。傳送函數(shù)依賴。定義:包含在任何一個候選鍵中的屬性,叫做主屬性。不包定義:包含在任何一個候選鍵中的屬性,叫做主屬性。不包含在任何候選鍵中的屬性稱為非主屬性。含在任何候選鍵中的屬性稱為非主屬性。Y YX X X X Y YX),X),(Y(YY,Y,X XY XY XZ ZY Y Y YX X 范式范式 關(guān)系
40、數(shù)據(jù)庫中的關(guān)系是要滿足一定的要求的。滿足不關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定的要求的。滿足不同的要求稱為不同的范式。滿足最低要求的稱為第一范式,同的要求稱為不同的范式。滿足最低要求的稱為第一范式,簡稱簡稱1NF1NF。在第一范式中滿足進一步的要求的稱為第二范。在第一范式中滿足進一步的要求的稱為第二范式,其他以此類推。式,其他以此類推。 對于各種范式之間的聯(lián)絡(luò)有:對于各種范式之間的聯(lián)絡(luò)有:1 1N NF F2 2N NF F3 3N NF FB BC CN NF F4 4N NF F5 5N NF F對某一關(guān)系方式對某一關(guān)系方式R R,它屬于第幾范式,記為,它屬于第幾范式,記為x xN NF FR
41、R1NF1NF定義:假設(shè)一個關(guān)系方式定義:假設(shè)一個關(guān)系方式R R的每個詳細關(guān)系的每個詳細關(guān)系r r的每個的每個屬性值都是不可再分的最小數(shù)據(jù)單位,稱屬性值都是不可再分的最小數(shù)據(jù)單位,稱R R滿足滿足1NF1NF,r r為為1NF1NF關(guān)系。關(guān)系。1NF2NF定義:假設(shè)定義:假設(shè) ,且,且R R的每一個非主屬性完全函數(shù)依的每一個非主屬性完全函數(shù)依賴于任一候選鍵,稱賴于任一候選鍵,稱R R是滿足第二范式的關(guān)系方式。是滿足第二范式的關(guān)系方式。例:設(shè)有關(guān)系方式例:設(shè)有關(guān)系方式SLC(Sno, Dept, Dom, Cno, Grade)SLC(Sno, Dept, Dom, Cno, Grade)其中其
42、中DomDom為宿舍樓,并規(guī)定一個系的同窗住在同一棟樓。為宿舍樓,并規(guī)定一個系的同窗住在同一棟樓。寫出關(guān)系方式中存在的函數(shù)依賴,求候選鍵。斷定該關(guān)寫出關(guān)系方式中存在的函數(shù)依賴,求候選鍵。斷定該關(guān)系方式能否是系方式能否是2NF2NF。1 1N NF FR R解:存在的函數(shù)依賴有:解:存在的函數(shù)依賴有:G Gr ra ad de eC Cn no o) )( (S Sn no o, ,D Do om mD De ep pt tD Do om m, ,S Sn no oD De ep pt t, ,S Sn no oL L類:類:Sno,Cno Sno,Cno ;LRLR類:類:Dept Dept
43、;R R類:類:Dom,GradeDom,Grade而且而且(Sno,Cno)+=(Sno,Cno,Dept,Dom,Grade)(Sno,Cno)+=(Sno,Cno,Dept,Dom,Grade),所以所以Sno,CnoSno,Cno為候選鍵。為候選鍵。主屬性:主屬性:Sno, CnoSno, Cno非主屬性:非主屬性:Dept, Dom, GradeDept, Dom, Grade由于由于 所以所以DomDom和和DeptDept都不完全函都不完全函數(shù)依賴于候選鍵數(shù)依賴于候選鍵(Sno,Cno)(Sno,Cno),所以,所以R R不滿足不滿足2NF2NF定義,最高定義,最高只到達只到達1
44、NF1NF。Dom,Dom,SnoSnoDept,Dept,SnoSno* * *那么不滿足那么不滿足2NF2NF的關(guān)系方式能夠產(chǎn)生的問題:的關(guān)系方式能夠產(chǎn)生的問題:1 1、插入異常:假設(shè)某學(xué)生未選課,該學(xué)生的信息記錄就不、插入異常:假設(shè)某學(xué)生未選課,該學(xué)生的信息記錄就不能被創(chuàng)建,由于短少主鍵的能被創(chuàng)建,由于短少主鍵的CnoCno這一部分值。這一部分值。2 2、刪除異常:假設(shè)某個要刪除某個學(xué)生的選課信息,必然、刪除異常:假設(shè)某個要刪除某個學(xué)生的選課信息,必然會將其固有信息即院系和宿舍樓信息刪除,呵斥刪除異常。會將其固有信息即院系和宿舍樓信息刪除,呵斥刪除異常。3 3、修正復(fù)雜。假設(shè)某個學(xué)生需求
45、轉(zhuǎn)系,本只需求修正、修正復(fù)雜。假設(shè)某個學(xué)生需求轉(zhuǎn)系,本只需求修正DeptDept分量的值,但由于分量的值,但由于DomDom值依賴于值依賴于DeptDept,所以,所以DomDom的值也要修的值也要修改,而且該學(xué)生選多少們課就要修正多少條記錄。改,而且該學(xué)生選多少們課就要修正多少條記錄。4 4、存儲冗余,對每一次的選課都要存儲學(xué)生其他信息。、存儲冗余,對每一次的選課都要存儲學(xué)生其他信息。將上述方式分解為:將上述方式分解為:SC(Sno, Cno, Grade)SC(Sno, Cno, Grade) SD(Sno, Dept, Dom) SD(Sno, Dept, Dom)SnoSnoCnoCn
46、oGradeGradeDeptDeptDomDomSnoSnoSCSC中的中的FDFDSDSD中的中的FDFD分解為滿足分解為滿足2NF2NF的多個關(guān)系方式后,得到的新的關(guān)系方式的多個關(guān)系方式后,得到的新的關(guān)系方式假設(shè)不滿足假設(shè)不滿足3NF3NF,依然能夠存在問題,:,依然能夠存在問題,:這里分解得到的這里分解得到的SDSD中存在以下問題中存在以下問題1 1、數(shù)據(jù)有冗余:每個系的學(xué)生都住在同一個地方,但是、數(shù)據(jù)有冗余:每個系的學(xué)生都住在同一個地方,但是系的信息將會反復(fù)出現(xiàn),反復(fù)次數(shù)相當于學(xué)生的人數(shù)。系的信息將會反復(fù)出現(xiàn),反復(fù)次數(shù)相當于學(xué)生的人數(shù)。2 2、插入異常:假設(shè)某個系剛剛成立,還未有學(xué)生
47、注冊,、插入異常:假設(shè)某個系剛剛成立,還未有學(xué)生注冊,那么該系的信息無法插入該系的信息入庫。那么該系的信息無法插入該系的信息入庫。3 3、刪除異常:假設(shè)某個系的學(xué)生都畢業(yè)了,在刪除該系的、刪除異常:假設(shè)某個系的學(xué)生都畢業(yè)了,在刪除該系的學(xué)生信息的時候,會將該系的信息刪除掉。學(xué)生信息的時候,會將該系的信息刪除掉。4 4、修正復(fù)雜:當學(xué)校調(diào)整學(xué)生宿舍時,把外語系的學(xué)生全、修正復(fù)雜:當學(xué)校調(diào)整學(xué)生宿舍時,把外語系的學(xué)生全部遷到另外一棟樓,那么需求修正的記錄是該系的一切學(xué)生部遷到另外一棟樓,那么需求修正的記錄是該系的一切學(xué)生因此滿足因此滿足2NF2NF的關(guān)系方式在某些情況下依然不是最好的。的關(guān)系方式在
48、某些情況下依然不是最好的。3NF定義:關(guān)系方式定義:關(guān)系方式R(U)R(U)滿足滿足2NF2NF,且它的任何一個非主屬性都,且它的任何一個非主屬性都不傳送依賴于任何候選鍵,那么稱不傳送依賴于任何候選鍵,那么稱R R為滿足為滿足3NF3NF的關(guān)系方式。的關(guān)系方式。上述的上述的SCSC中沒有第三方屬性,所以不存在傳送函數(shù)依賴,中沒有第三方屬性,所以不存在傳送函數(shù)依賴,但是在但是在SDSD中,中,DomDom經(jīng)過經(jīng)過DeptDept傳送函數(shù)依賴于傳送函數(shù)依賴于SnoSno,所以,所以SCSC滿滿足足3NF3NF,而,而SDSD不滿足不滿足3NF3NF。D Do om mD De ep pt tD D
49、e ep pt t, ,S Sn no o,Dom Sno,Dom Sno處理方法:分解處理方法:分解SDSD為以下兩個為以下兩個 SD(Sno, Dept)SD(Sno, Dept) DD(Dept, Dom) DD(Dept, Dom)分解以后的兩個關(guān)系方式都滿足分解以后的兩個關(guān)系方式都滿足3NF3NF。一個滿足一個滿足3NF3NF的關(guān)系方式也不一定是最好的,例如在關(guān)系的關(guān)系方式也不一定是最好的,例如在關(guān)系方式方式STJ( S,T,J )STJ( S,T,J )中,中,S S表示學(xué)生,表示學(xué)生,T T表示教師,表示教師,J J表示課表示課程。假設(shè)每一個教師只教一門課。但是每門課由假設(shè)干教師
50、程。假設(shè)每一個教師只教一門課。但是每門課由假設(shè)干教師教,某一學(xué)生選定某門課,就確定了一個固定的教師,于教,某一學(xué)生選定某門課,就確定了一個固定的教師,于是存在的函數(shù)依賴如下是存在的函數(shù)依賴如下: :J JT TT T, ,J J) )( (S S, ,根據(jù)函數(shù)依賴可以求出該根據(jù)函數(shù)依賴可以求出該STJSTJ的候選鍵為的候選鍵為(S,J)(S,J)或者或者(S,T)(S,T),此時的關(guān)系方式中的一切屬性是主屬性,那么關(guān)系方式滿足此時的關(guān)系方式中的一切屬性是主屬性,那么關(guān)系方式滿足3NF3NF。但是該關(guān)系方式在有時依然存在一些問題:。但是該關(guān)系方式在有時依然存在一些問題:1 1、插入異常:假設(shè)某個
51、教師開設(shè)了某門課,但是沒人選,、插入異常:假設(shè)某個教師開設(shè)了某門課,但是沒人選,那么有關(guān)信息無法存入數(shù)據(jù)庫。那么有關(guān)信息無法存入數(shù)據(jù)庫。2 2、刪除異常:選了某門課程的學(xué)生全部畢業(yè),該信息喪失、刪除異常:選了某門課程的學(xué)生全部畢業(yè),該信息喪失3 3、數(shù)據(jù)冗余大:教師信息根據(jù)選課的學(xué)生人數(shù)要存儲多次、數(shù)據(jù)冗余大:教師信息根據(jù)選課的學(xué)生人數(shù)要存儲多次4 4、修正復(fù)雜:教師所授課程改名后,一切選該課的記錄都、修正復(fù)雜:教師所授課程改名后,一切選該課的記錄都要改。要改。BCNF定義:關(guān)系方式定義:關(guān)系方式 ,F(xiàn) F是關(guān)系方式是關(guān)系方式R R的函數(shù)依賴的函數(shù)依賴集,假設(shè)集,假設(shè)F F中一切函數(shù)依賴的左部
52、都包含了中一切函數(shù)依賴的左部都包含了R R的任何一個候的任何一個候選鍵,稱選鍵,稱R R是滿足是滿足Boyce-CoddBoyce-Codd范式,記為范式,記為BCNFBCNF。即每一個。即每一個決議要素都包含候選鍵。決議要素都包含候選鍵。1NF1NFR(U)R(U)定理:一個定理:一個BCNFBCNF范式必是范式必是3NF3NF。證明:反證法。設(shè)證明:反證法。設(shè)R R是一個是一個BCNFBCNF但不是但不是3NF3NF。那么必存在非主。那么必存在非主屬性屬性A A候選鍵候選鍵X X以及屬性集以及屬性集Y Y,使得,使得X XY,YY,YA,A,且且 , ,那么那么Y Y不能夠包含不能夠包含R
53、 R的候選鍵的候選鍵X X 。由于假設(shè)。由于假設(shè)X X包含于包含于Y Y中,根中,根據(jù)自反性,可得據(jù)自反性,可得Y YXX。但是由于。但是由于Y Y在這里是決議要素,根在這里是決議要素,根據(jù)定義這里的條件據(jù)定義這里的條件R R就不是就不是BCNFBCNF。這和假設(shè)相矛盾,從而。這和假設(shè)相矛盾,從而定理得證。但是滿足定理得證。但是滿足3NF3NF不一定滿足不一定滿足BCNFBCNF。Y XY X練習(xí)練習(xí)1 1、設(shè)有關(guān)系方式、設(shè)有關(guān)系方式R(X,Y,Z)R(X,Y,Z),其上的函數(shù)依賴集如下,斷定,其上的函數(shù)依賴集如下,斷定R R最高滿足第幾范式。最高滿足第幾范式。Z Z Y YY Y, ,X X
54、Z ZZ Z, , X XY YF F解:首先根據(jù)函數(shù)依賴求候選鍵:解:首先根據(jù)函數(shù)依賴求候選鍵: L L類:類:X X;LRLR類:類:Y,ZY,Z; 且且(XY)+=(XYZ) ,(XZ)+=(XYZ)(XY)+=(XYZ) ,(XZ)+=(XYZ),所以所以R R的候選鍵為的候選鍵為XYXY和和XZXZ。沒有非主屬性,所以。沒有非主屬性,所以R R滿足滿足3NF3NF,但但R R不是不是BCNFBCNF,由于決議要素,由于決議要素Y Y中不包含候選鍵。中不包含候選鍵。2 2、判別以下說法能否正確:、判別以下說法能否正確:1 1任何一個包含兩個屬性的關(guān)系方式一定滿足任何一個包含兩個屬性的關(guān)
55、系方式一定滿足3NF3NF。2 2任何一個包含兩個屬性的關(guān)系方式一定滿足任何一個包含兩個屬性的關(guān)系方式一定滿足BCNFBCNF。3 3任何一個包含三個屬性的關(guān)系方式一定滿足任何一個包含三個屬性的關(guān)系方式一定滿足3NF3NF。4 4任何一個關(guān)系方式一定有鍵。任何一個關(guān)系方式一定有鍵。解答:解答:設(shè)有二元關(guān)系設(shè)有二元關(guān)系R(X,Y)R(X,Y),那么,那么X X和和Y Y之間的函數(shù)依賴能夠如下:之間的函數(shù)依賴能夠如下:1) , ,1) , ,那么關(guān)系方式的候選鍵為那么關(guān)系方式的候選鍵為X X。沒有第三方。沒有第三方屬性傳送函數(shù)依賴,所以屬性傳送函數(shù)依賴,所以R R滿足滿足3NF3NF,而且決議要素
56、包含候,而且決議要素包含候選鍵,選鍵,R R滿足滿足BCNFBCNF。2) ,2) ,那么關(guān)系方式的候選鍵為那么關(guān)系方式的候選鍵為X X和和Y Y。沒有第三。沒有第三方屬性傳送函數(shù)依賴,而且決議要素包含候選鍵,方屬性傳送函數(shù)依賴,而且決議要素包含候選鍵,R R滿足滿足BCNFBCNF。Y YX X Y XY XX XY YY,Y,X X3)X3)X和和Y Y之間不存在函數(shù)依賴,那么關(guān)系方式的候選鍵是之間不存在函數(shù)依賴,那么關(guān)系方式的候選鍵是XYXY。這個時候這個時候R R也是滿足也是滿足BCNFBCNF,由于此時不存在推翻,由于此時不存在推翻R R不是不是BCNFBCNF的條件。包含三個屬性的
57、關(guān)系方式不一定是的條件。包含三個屬性的關(guān)系方式不一定是3NF3NF,如上面提,如上面提到的到的SDSD關(guān)系方式中關(guān)系方式中DomDom傳送函數(shù)依賴于傳送函數(shù)依賴于SnoSno。關(guān)系方式一定有鍵,這是關(guān)系方式的固有屬性。關(guān)系方式一定有鍵,這是關(guān)系方式的固有屬性。所以只需第三種說法不正確。所以只需第三種說法不正確。假設(shè)某商業(yè)集團數(shù)據(jù)庫有一關(guān)系方式假設(shè)某商業(yè)集團數(shù)據(jù)庫有一關(guān)系方式R R如下:如下: R R商店編號,商品編號,數(shù)量,部門編號,擔任人商店編號,商品編號,數(shù)量,部門編號,擔任人現(xiàn)規(guī)定:現(xiàn)規(guī)定:1 1、每個商店的每種商品只在一個部門銷售。、每個商店的每種商品只在一個部門銷售。 2 2、每個商
58、店的每個部門只需一個擔任人。、每個商店的每個部門只需一個擔任人。 3 3、每個商店的每種商品只需一個庫存數(shù)量。、每個商店的每種商品只需一個庫存數(shù)量?;卮鹨韵聠栴}:回答以下問題:1 1、寫出、寫出R R的根本函數(shù)依賴的根本函數(shù)依賴 2 2、找出關(guān)系方式、找出關(guān)系方式R R的候選鍵的候選鍵 3 3、關(guān)系方式、關(guān)系方式R R最高到達第幾范式?為什么最高到達第幾范式?為什么分析關(guān)系方式分析關(guān)系方式分析:關(guān)系分析:關(guān)系R R存在的函數(shù)依賴有:存在的函數(shù)依賴有:數(shù)數(shù)量量)(商商店店編編號號,商商品品編編號號負負責責人人)(商商店店編編號號,部部門門編編號號部部門門編編號號)(商商店店編編號號,商商品品編編
59、號號利用函數(shù)依賴求候選鍵:利用函數(shù)依賴求候選鍵:L L類屬性:商店編號,商品編號;類屬性:商店編號,商品編號;LRLR類:類: 部門編號;部門編號;R R類:類: 擔任人擔任人數(shù)量。而且商店編號,商品編號數(shù)量。而且商店編號,商品編號U U,所以關(guān)系方式,所以關(guān)系方式R R的候選鍵為商店編號,商品編號。的候選鍵為商店編號,商品編號。判別判別R R屬于第幾范式:屬于第幾范式:非主屬性為:部門編號,擔任人,數(shù)量。它們對候選鍵都非主屬性為:部門編號,擔任人,數(shù)量。它們對候選鍵都是完全函數(shù)依賴關(guān)系,所以是完全函數(shù)依賴關(guān)系,所以R R是滿足第二范式的。但是,是滿足第二范式的。但是,負負責責人人)(商商店店
60、編編號號,商商品品編編號號)(部部門門編編號號,商商店店編編號號)(商商店店編編號號,商商品品編編號號所以非主屬性擔任人對候選鍵傳送依賴,那么所以非主屬性擔任人對候選鍵傳送依賴,那么R R不滿足第不滿足第三范式,因此三范式,因此R R最高滿足第二范式。最高滿足第二范式。證明:證明:A AA A,則則有有X XY Y( (2 2) )如如果果X XV VY Y則則有有W WX XW W, ,V VY Y, ,( (1 1) )如如果果X X1VYVYWXWXVYVYWYWYV,V,W WWYWYWXWXY,Y,X X又又V VW WW,W,V V2A AX XY YA AX X又又X XX XY
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度排水設(shè)施保險合同4篇
- 二零二五版飯店蔬菜肉類產(chǎn)地直供合作合同2篇
- 二零二五年度全新科技項目居間合作費合同模板下載2篇
- 二零二五年度內(nèi)蒙古肉牛產(chǎn)業(yè)鏈人才培養(yǎng)與引進合同
- 2025年度汽車銷售促銷活動執(zhí)行合同模板
- 二零二五年度學(xué)校室內(nèi)外體育設(shè)施一體化采購合同范本3篇
- 2025年度民間借貸合同監(jiān)督與委托管理服務(wù)合同4篇
- 2025年度面粉加工企業(yè)二零二五年度綠色有機面粉采購合同4篇
- 2025年度新能源汽車抵押擔保服務(wù)合同
- 二零二五年度公共綠地養(yǎng)護管理合同范本3篇
- 廣東省茂名市電白區(qū)2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量監(jiān)測生物學(xué)試卷(含答案)
- 2024版?zhèn)€人私有房屋購買合同
- 2024爆炸物運輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護保密協(xié)議與信息安全風(fēng)險評估合同3篇
- 《食品與食品》課件
- 讀書分享會《白夜行》
- 光伏工程施工組織設(shè)計
- DB4101-T 121-2024 類家庭社會工作服務(wù)規(guī)范
- 化學(xué)纖維的鑒別與測試方法考核試卷
- 2024-2025學(xué)年全國中學(xué)生天文知識競賽考試題庫(含答案)
- 自動駕駛汽車道路交通安全性探討研究論文
評論
0/150
提交評論