版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用 第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論第第2 2頁頁 本章主要內(nèi)容本章主要內(nèi)容 4.1 4.1 問題的提出問題的提出 4.2 4.2 關系模式的規(guī)范化(重點)關系模式的規(guī)范化(重點) 4.3 4.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)* * 4.4 4.4 關系分解保持性關系分解保持性* * 4.5 4.5 小結(jié)小結(jié) 第第3 3頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.1 4.1 問題的提出問題的提出 設
2、計任何一個數(shù)據(jù)庫應用系統(tǒng),設計任何一個數(shù)據(jù)庫應用系統(tǒng),現(xiàn)實世界現(xiàn)實世界E-RE-R模型模型關系關系 模型模型, ,都會遇到都會遇到如何構(gòu)造合適的數(shù)據(jù)模式如何構(gòu)造合適的數(shù)據(jù)模式,即邏輯結(jié)構(gòu)的問,即邏輯結(jié)構(gòu)的問 題;題; 對于初步的關系模式,可能存在這樣或那樣的問題(如對于初步的關系模式,可能存在這樣或那樣的問題(如插入插入 異常、刪除異常等異常、刪除異常等),需要利用),需要利用關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論進行規(guī)進行規(guī) 范化,以逐步消除存在的問題,從而得到一定規(guī)范程度的關范化,以逐步消除存在的問題,從而得到一定規(guī)范程度的關 系模式,這就是本章的主要內(nèi)容;系模式,這就是本章的主要內(nèi)容; 本
3、章將闡述關系數(shù)據(jù)庫中最深的一些特性本章將闡述關系數(shù)據(jù)庫中最深的一些特性函數(shù)依賴、多函數(shù)依賴、多 值依賴和連接依賴值依賴和連接依賴,以及由此引出的諸多異常,如,以及由此引出的諸多異常,如插入異常插入異常 、更新異常、刪除異常及數(shù)據(jù)冗余、更新異常、刪除異常及數(shù)據(jù)冗余等,對于出現(xiàn)的問題,通等,對于出現(xiàn)的問題,通 過理論引入,對關系模式的規(guī)范化進行系統(tǒng)闡述。過理論引入,對關系模式的規(guī)范化進行系統(tǒng)闡述。 第第4 4頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.1.1 4.1.1 概念回顧概念回顧 關系關系:描述實體、屬性、實體間的聯(lián)系。從形式上看,它是:
4、描述實體、屬性、實體間的聯(lián)系。從形式上看,它是 一張二維表;一張二維表; 關系模式關系模式:對關系的描述;關系數(shù)據(jù)庫中,關系模式是型,:對關系的描述;關系數(shù)據(jù)庫中,關系模式是型, 關系是值;關系是值; 關系模式的形式化定義關系模式的形式化定義 關系模式是一個五元組:關系模式是一個五元組:R(U, D, DOM, F)R(U, D, DOM, F),其中,其中 R R:關系名;:關系名; U U:組成該關系的屬性名集合:組成該關系的屬性名集合一組屬性一組屬性U U; D D:屬性組:屬性組U U中各屬性所的域;中各屬性所的域; DOMDOM:屬性向域的映象集合:屬性向域的映象集合 F F:屬性間
5、數(shù)據(jù)的依賴關系集合:屬性間數(shù)據(jù)的依賴關系集合 第第5 5頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.1.2 4.1.2 關系模式中可能存在的異常關系模式中可能存在的異常 例例1 1:要求設計學生要求設計學生- -課程數(shù)據(jù)庫,其中課程數(shù)據(jù)庫,其中:SNO:SNO:學生學號,:學生學號,SN SN : 學生姓名,學生姓名,AGEAGE:學生年齡,:學生年齡,DEPT DEPT :學生所在的系別,:學生所在的系別,MNMN: 系主任名,系主任名,CNO CNO :課程號,:課程號,SCORE SCORE :成績。:成績。 假設用單一的關系模式假設用
6、單一的關系模式 SDCSDC來表示,則來表示,則關系模式關系模式SDCSDC如下:如下: SDCSDC(SNOSNO,SNSN,AGEAGE,DEPTDEPT,MNMN,CNOCNO,SCORESCORE) 現(xiàn)實世界已知事實的語義:現(xiàn)實世界已知事實的語義: 一個系有若干學生,一個學生只屬于一個系;一個系有若干學生,一個學生只屬于一個系; 一個系只有一名系主任;一個系只有一名系主任; 一個學生可以選修多門課程,每門課程有多名學生選修;一個學生可以選修多門課程,每門課程有多名學生選修; 每個學生所學的每門課程都有一個成績。每個學生所學的每門課程都有一個成績。 SNO SN AGE DEPT MN
7、CNO SCORE S1趙紅 20計算機 張文斌 C190 S1趙紅 20計算機 張文斌 C285 S2王小明 17外語 劉偉華 C557 S2王小明 17外語 劉偉華 C680 S2王小明 17外語 劉偉華 C7 S2王小明 17外語 劉偉華 C470 S3吳小林 19信息 劉偉華 C175 S3吳小林 19信息 劉偉華 C270 S3吳小林 19信息 劉偉華 C485 S4張濤 22自動化 鐘志強 C193 關關 系系 SDC 第第7 7頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 存在的問題存在的問題 在進行數(shù)據(jù)庫的操作時,會出現(xiàn)以下幾方面的
8、問題。在進行數(shù)據(jù)庫的操作時,會出現(xiàn)以下幾方面的問題。 數(shù)據(jù)冗余數(shù)據(jù)冗余 如果一個系有多名學生或該學生選修了多門課程,則如果一個系有多名學生或該學生選修了多門課程,則系名稱和系主系名稱和系主 任姓名任姓名就要存儲多次,學生的姓名、年齡等信息也要存儲多次;就要存儲多次,學生的姓名、年齡等信息也要存儲多次; 操作異常(更新異常、插入異常、刪除異常)操作異常(更新異常、插入異常、刪除異常) 由于數(shù)據(jù)的冗余,在對數(shù)據(jù)操作時會引起各種異常:由于數(shù)據(jù)的冗余,在對數(shù)據(jù)操作時會引起各種異常: 更新異常更新異常:如果:如果某系更換系主任或更換系名某系更換系主任或更換系名后,系統(tǒng)必須修改與該后,系統(tǒng)必須修改與該 系
9、所有學生有關的每一個元組;若有一個元組中的數(shù)據(jù)未更改,就系所有學生有關的每一個元組;若有一個元組中的數(shù)據(jù)未更改,就 會造成這個系主任姓名不一致現(xiàn)象。會造成這個系主任姓名不一致現(xiàn)象。 數(shù)據(jù)冗余數(shù)據(jù)冗余 ,更新數(shù)據(jù)時,維護數(shù)據(jù)完整性代價大,更新數(shù)據(jù)時,維護數(shù)據(jù)完整性代價大 第第8 8頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 操作異常操作異常 插入異常插入異常:如果一個系剛成立,無學生,或者雖然有學:如果一個系剛成立,無學生,或者雖然有學 生但尚未安排課程,那么就無法把這個系及其負責人的生但尚未安排課程,那么就無法把這個系及其負責人的 信息加入數(shù)據(jù)庫
10、。信息加入數(shù)據(jù)庫。 應該插入而未被插入應該插入而未被插入 刪除異常刪除異常:如果某個系的學生全部畢業(yè)了,:如果某個系的學生全部畢業(yè)了, 我們在刪除我們在刪除 該系學生信息的同時,把這個系及其系主任的信息也丟該系學生信息的同時,把這個系及其系主任的信息也丟 掉了。掉了。 不該刪除的數(shù)據(jù)被刪掉不該刪除的數(shù)據(jù)被刪掉 第第9 9頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 結(jié)論:結(jié)論: SDCSDC關系模式不是一個好的關系模式。關系模式不是一個好的關系模式。 “好好”的關系模式:的關系模式:不會發(fā)生插入異常、刪除異常、更不會發(fā)生插入異常、刪除異常、更 新異
11、常,數(shù)據(jù)冗余應盡可能少新異常,數(shù)據(jù)冗余應盡可能少。 如果將關系模式如果將關系模式SDCSDC劃分為三個關系模式劃分為三個關系模式S(Sno, SNS(Sno, SN,AGEAGE, DEPT)DEPT)、SC(Sno,Cno,Score )SC(Sno,Cno,Score )和和D(dept, MN )D(dept, MN ),可基本解決,可基本解決 以上問題,但分解后是否是最佳的模式,也不是絕對的。以上問題,但分解后是否是最佳的模式,也不是絕對的。 SNOSNAGEDEPT S1趙紅趙紅 20計算機計算機 S2王小明王小明 17外語外語 S3吳小林吳小林 19信息信息 S4張濤張濤 22自動
12、化自動化 D DEPTMN 計算機計算機 張文斌張文斌 外語外語 劉偉華劉偉華 信息信息 劉偉華劉偉華 自動化自動化 鐘志強鐘志強 S SNOCNOSCORE S1C190 S1C285 S2C557 S2C680 S2C7 S2C470 S3C175 S3C270 S3C485 S4C193 SC 第第1111頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.1.3 4.1.3 關系模式中存在異常的原因關系模式中存在異常的原因 事實上,事實上,異常現(xiàn)象產(chǎn)生的根源,就是由于關系模式中屬性間異常現(xiàn)象產(chǎn)生的根源,就是由于關系模式中屬性間 存在著復雜的依
13、賴關系存在著復雜的依賴關系。如學生學號和學生姓名、學生學號。如學生學號和學生姓名、學生學號 和系名稱、系名稱和系主任之間都存在著依賴關系,這種依和系名稱、系名稱和系主任之間都存在著依賴關系,這種依 賴都稱為賴都稱為數(shù)據(jù)依賴數(shù)據(jù)依賴; 數(shù)據(jù)冗余的產(chǎn)生和數(shù)據(jù)依賴有著密切的關系;數(shù)據(jù)冗余的產(chǎn)生和數(shù)據(jù)依賴有著密切的關系; 第第1212頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 數(shù)據(jù)依賴數(shù)據(jù)依賴 是一個關系內(nèi)部屬性與屬性之間的一種是一個關系內(nèi)部屬性與屬性之間的一種約束關系約束關系; 是語義的體現(xiàn);是語義的體現(xiàn); 是現(xiàn)實世界屬性間相互聯(lián)系的抽象;是現(xiàn)實世界屬
14、性間相互聯(lián)系的抽象; 是數(shù)據(jù)內(nèi)在的性質(zhì);是數(shù)據(jù)內(nèi)在的性質(zhì); 數(shù)據(jù)依賴的類型數(shù)據(jù)依賴的類型 函數(shù)依賴函數(shù)依賴(Functional DependencyFunctional Dependency,簡記為,簡記為FDFD) 多值依賴多值依賴(Multivalued DependencyMultivalued Dependency,簡記為,簡記為MVDMVD) 其他其他 第第1313頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 如何構(gòu)造一個好的關系模式?如何構(gòu)造一個好的關系模式? 消除關系模式中的數(shù)據(jù)冗余,更新異常,插入異常和刪消除關系模式中的數(shù)據(jù)冗余,
15、更新異常,插入異常和刪 除異常除異常 如何改造關系模式?如何改造關系模式? 如何把一個不好的關系模式分解改造為一個好的關系模如何把一個不好的關系模式分解改造為一個好的關系模 式,式,應分析一個關系模式有哪些數(shù)據(jù)依賴,消除那些不應分析一個關系模式有哪些數(shù)據(jù)依賴,消除那些不 合適的數(shù)據(jù)依賴合適的數(shù)據(jù)依賴,這就是關系數(shù)據(jù)庫設計過程中要討論,這就是關系數(shù)據(jù)庫設計過程中要討論 的規(guī)范化理論問題的規(guī)范化理論問題。 第第1414頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.2 4.2 關系模式的規(guī)范化關系模式的規(guī)范化 關系規(guī)范化理論關系規(guī)范化理論正是用來改造
16、關系模式,正是用來改造關系模式,通過分解關系模式通過分解關系模式 來消除其中不合適的數(shù)據(jù)依賴來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、,以解決插入異常、刪除異常、 更新異常和數(shù)據(jù)冗余問題。更新異常和數(shù)據(jù)冗余問題。 4.2.1 4.2.1 函數(shù)依賴函數(shù)依賴 4.2.2 4.2.2 碼碼 4.2.3 4.2.3 范式(范式(1NF1NF,2NF2NF,3NF3NF,BCNFBCNF,4NF4NF) 第第1515頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.2.1 4.2.1 函數(shù)依賴函數(shù)依賴 函數(shù)依賴定義函數(shù)依賴定義 定義定義4.1 4
17、.1 設關系模式設關系模式R R(U U,F(xiàn) F),U U是屬性全集是屬性全集,F(xiàn) F是是U U上上 的函數(shù)依賴集,的函數(shù)依賴集,X X和和Y Y是是U U的子集的子集,如果對于,如果對于R R(U U)的任意一個)的任意一個 可能的關系可能的關系r r,對于對于X X的每一個具體值,的每一個具體值,Y Y都有唯一的具體的值都有唯一的具體的值 與之對應與之對應,則稱,則稱X X函數(shù)決定函數(shù)決定Y Y,或,或Y Y函數(shù)依賴于函數(shù)依賴于X X,記,記XYXY。我們。我們 稱稱X X為決定因素,為決定因素,Y Y為依賴因素為依賴因素。當。當Y Y不函數(shù)依賴于不函數(shù)依賴于X X時,記作:時,記作: X
18、YXY。當。當XYXY且且YXYX時,則記作:時,則記作:X YX Y。 理解:理解:所謂函數(shù)依賴是指一個或一組屬性的值可以決定其它所謂函數(shù)依賴是指一個或一組屬性的值可以決定其它 屬性的值屬性的值。函數(shù)依賴正如一個函數(shù)。函數(shù)依賴正如一個函數(shù) y = f(x) y = f(x) ,x x的值給定的值給定 后,后,y y的值也就唯一地確定了。的值也就唯一地確定了。 第第1616頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 對于關系模式對于關系模式SDCSDC,有,有: U=SNOU=SNO,SNSN,AGEAGE,DEPTDEPT,MNMN,CNOCN
19、O,SCORESCORE F=SNOF=SNOSNSN,SNOSNOAGEAGE,SNOSNODEPTDEPT,DEPTDEPTMNMN, SNOSNOMNMN,(SNO(SNO,CNO)CNO)SCORESCORE 一個一個SNOSNO有多個有多個SCORESCORE的值與之對應,因此的值與之對應,因此SCORESCORE不能不能 唯一地確定,即唯一地確定,即SCORESCORE不能函數(shù)依賴于不能函數(shù)依賴于SNOSNO, 所以有:所以有:SNO SCORESNO SCORE, 同樣有:同樣有:CNO SCORECNO SCORE。 但是但是SCORESCORE可以被(可以被(SNOSNO,C
20、NOCNO)唯一地確定。所以可)唯一地確定。所以可 表示為:(表示為:(SNOSNO,CNOCNO)SCORESCORE。 第第1717頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 1 1、函數(shù)依賴說明、函數(shù)依賴說明 1 1)函數(shù)依賴與屬性間的聯(lián)系有關)函數(shù)依賴與屬性間的聯(lián)系有關 對于關系模式對于關系模式R R ,U U為屬性集合,為屬性集合,X X、Y Y為其屬性子集為其屬性子集,根據(jù),根據(jù) 函數(shù)依賴定義和實體間聯(lián)系的定義,函數(shù)依賴定義和實體間聯(lián)系的定義,可得出如下結(jié)論可得出如下結(jié)論: 1 1)若)若X X和和Y Y是是1:11:1的聯(lián)系,則存在
21、函數(shù)依賴的聯(lián)系,則存在函數(shù)依賴XY XY 和和YXYX; 2 2)若)若X X和和Y Y是是1:n1:n的聯(lián)系,則存在函數(shù)依賴的聯(lián)系,則存在函數(shù)依賴YXYX; 3 3)若)若X X和和Y Y是是m:nm:n的聯(lián)系,則的聯(lián)系,則X X和和Y Y之間不存在函數(shù)依賴關系。之間不存在函數(shù)依賴關系。 第第1818頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 以關系模式以關系模式SDCSDC為例為例 系與系主任是系與系主任是1:11:1,故有,故有deptmndeptmn和和mndeptmndept; 系與學生是系與學生是1:n1:n,故有,故有sno sno
22、 dept dept 學生與課程是學生與課程是m:nm:n,故,故snosno和和cnocno之間不存在函數(shù)依賴之間不存在函數(shù)依賴 由于函數(shù)依賴與屬性之間的聯(lián)系類型有關,所以在確定屬性間由于函數(shù)依賴與屬性之間的聯(lián)系類型有關,所以在確定屬性間 的函數(shù)依賴時,可以從的函數(shù)依賴時,可以從分析屬性間的聯(lián)系分析屬性間的聯(lián)系入手,便可入手,便可確定屬確定屬 性間的函數(shù)依賴性間的函數(shù)依賴。 第第1919頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 1 1、函數(shù)依賴說明、函數(shù)依賴說明 2 2)函數(shù)依賴是)函數(shù)依賴是語義范疇語義范疇的概念。的概念。 只能根據(jù)數(shù)據(jù)的語
23、義來確定函數(shù)依賴只能根據(jù)數(shù)據(jù)的語義來確定函數(shù)依賴。 例如,例如,“姓名姓名年齡年齡”這個函數(shù)依賴只有在不允許有同這個函數(shù)依賴只有在不允許有同 名人時成立。名人時成立。 例如,如果允許一個職工只有一個電話號碼,那么,職例如,如果允許一個職工只有一個電話號碼,那么,職 工號確定了,則其電話號碼也就隨之確定了。工號確定了,則其電話號碼也就隨之確定了。 設計者可以對現(xiàn)實世界做強制規(guī)定;關系模式的設計者可以對現(xiàn)實世界做強制規(guī)定;關系模式的所有關系實所有關系實 例例都要滿足約束條件。都要滿足約束條件。 第第2020頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論
24、1 1、函數(shù)依賴說明、函數(shù)依賴說明 3 3)函數(shù)依賴關系的存在與時間無關)函數(shù)依賴關系的存在與時間無關 必須根據(jù)語義來確定屬性之間的函數(shù)依賴,而不能單憑某一必須根據(jù)語義來確定屬性之間的函數(shù)依賴,而不能單憑某一 時刻關系中的實際數(shù)據(jù)值來判斷。時刻關系中的實際數(shù)據(jù)值來判斷。 4 4)函數(shù)依賴可以保證關系分解的無損連接性)函數(shù)依賴可以保證關系分解的無損連接性 設設R R(X X,Y Y,Z Z),),X X、Y Y、Z Z為不相交的屬性集合,如果為不相交的屬性集合,如果X XY Y或或 X XZ Z則有則有R R(X X,Y Y,Z Z)=RX=RX,YYRXRX,ZZ,其中,其中RXRX,YY表表
25、 示關系示關系R R在屬性(在屬性(X X,Y Y)上的投影,)上的投影,即即R R等于兩個分別含決定等于兩個分別含決定 因素因素X X的投影關系的投影關系(分別是(分別是RXRX,YY與與RXRX,ZZ)在在X X上的自然上的自然 連接連接,這樣便保證了,這樣便保證了關系關系R R分解后不會丟失原有的信息,稱分解后不會丟失原有的信息,稱 作作關系分解的無損連接性關系分解的無損連接性。 第第2121頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 2 2、函數(shù)依賴的基本性質(zhì)、函數(shù)依賴的基本性質(zhì) (1 1) 投影性投影性 根據(jù)平凡的函數(shù)依賴的定義可知,一
26、組屬性函數(shù)決定它的所有子集。例如,根據(jù)平凡的函數(shù)依賴的定義可知,一組屬性函數(shù)決定它的所有子集。例如, 在關系在關系SDCSDC中,(中,(SNOSNO,CNOCNO)SNOSNO和(和(SNOSNO,CNOCNO)CNOCNO。 說明:投影性產(chǎn)生的是平凡的函數(shù)依賴。說明:投影性產(chǎn)生的是平凡的函數(shù)依賴。 (2 2) 擴張性擴張性 若若XYXY且且WZWZ,則(,則(X X,W W)(Y Y,Z Z)。例如,)。例如,SNOSNO(SNSN,AGEAGE),), DEPTMNDEPTMN,則有(,則有(SNOSNO,DEPTDEPT)(SNSN,AGEAGE,MNMN)。)。 說明:擴張性實現(xiàn)了兩
27、函數(shù)依賴決定因素與被決定因素的分別合并后扔保持說明:擴張性實現(xiàn)了兩函數(shù)依賴決定因素與被決定因素的分別合并后扔保持 決定關系。決定關系。 第第2222頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 2 2、函數(shù)依賴的基本性質(zhì)、函數(shù)依賴的基本性質(zhì) (3) (3) 合并性合并性 若若XYXY且且XZXZ則必有則必有XX(Y Y,Z Z)。例如,在關系)。例如,在關系SDCSDC中,中,SNOSNO(SNSN, AGEAGE),),SNODEPTSNODEPT,則有,則有SNO SNO (SNSN,AGEAGE,DEPTDEPT)。)。 說明:決定因素相同的
28、兩函數(shù)依賴,他們的被決定因素合并后,函數(shù)依說明:決定因素相同的兩函數(shù)依賴,他們的被決定因素合并后,函數(shù)依 賴關系依然保持。賴關系依然保持。 (4) (4) 分解性分解性 若若XX(Y Y,Z Z),則),則XYXY且且XZXZ。很顯然,分解性為合并性的逆過程。很顯然,分解性為合并性的逆過程。 說明:決定因素能決定全部,當然也能決定全部中的一部分。說明:決定因素能決定全部,當然也能決定全部中的一部分。 由合并性和分解性,很容易得到以下事實:由合并性和分解性,很容易得到以下事實: XA1XA1,A2A2,,An,An成立的充分必要條件是成立的充分必要條件是XAiXAi(i=1,2,i=1,2,n,
29、n)成立。)成立。 第第2323頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 3 3、函數(shù)依賴分類、函數(shù)依賴分類 函數(shù)依賴分類及其定義函數(shù)依賴分類及其定義 1 1)平凡函數(shù)依賴()平凡函數(shù)依賴(Trivial FDTrivial FD)和)和 非平凡函數(shù)依賴非平凡函數(shù)依賴 (Nontrivial FDNontrivial FD) 2 2)完全函數(shù)依賴()完全函數(shù)依賴(Full FDFull FD)和部分函數(shù)依賴()和部分函數(shù)依賴(Partial FDPartial FD) 3 3)傳遞函數(shù)依賴()傳遞函數(shù)依賴(Transitive FDTransi
30、tive FD) 第第2424頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 1 1)平凡函數(shù)依賴與非平凡函數(shù)依賴)平凡函數(shù)依賴與非平凡函數(shù)依賴 在關系模式在關系模式R(U)R(U)中,對于中,對于U U的子集的子集X X和和Y Y: 如果如果XYXY,但,但Y Y X X,則稱,則稱XYXY是是平凡的函數(shù)依賴;平凡的函數(shù)依賴; 如果如果XYXY,但,但Y Y X, X, 則稱則稱XYXY是是非平凡的函數(shù)依賴;非平凡的函數(shù)依賴; 若若XYXY,則,則X X稱為這個函數(shù)依賴的決定屬性組,也稱為決定因素。稱為這個函數(shù)依賴的決定屬性組,也稱為決定因素。 注
31、:注:對于任一關系模式,平凡函數(shù)依賴都是必然成立的,它不對于任一關系模式,平凡函數(shù)依賴都是必然成立的,它不 反映新的語義,若不特別聲明,我們總是討論非平凡的函數(shù)依賴。反映新的語義,若不特別聲明,我們總是討論非平凡的函數(shù)依賴。 第第2525頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 例例1 1:在關系:在關系SC(Sno, Cno, score)SC(Sno, Cno, score)中中 (Sno, Cno) (Sno, Cno) scorescore,但,但score score (CnoCno,SnoSno) (Sno, Cno) Sno(Sn
32、o, Cno) Sno,但,但Sno Sno (Sno, Cno) (Sno, Cno) 非平凡函數(shù)依賴:非平凡函數(shù)依賴: (Sno, Cno) (Sno, Cno) scorescore 平凡函數(shù)依賴:平凡函數(shù)依賴: (Sno, Cno) (Sno, Cno) Sno Sno (Sno, Cno) Cno (Sno, Cno) Cno 第第2626頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 2 2)完全函數(shù)依賴與部分函數(shù)依賴)完全函數(shù)依賴與部分函數(shù)依賴 定義定義4.2 4.2 在在R(U)R(U)中,中, 如果如果XYXY,并且對于,并且對于X
33、 X的任何一個真子集的任何一個真子集X X,都有,都有X X Y, Y, 則則 稱稱Y Y對對X X完全函數(shù)依賴完全函數(shù)依賴,記作,記作X Y;X Y; 若若XYXY,但,但Y Y不完全函數(shù)依賴于不完全函數(shù)依賴于X X,則稱,則稱Y Y對對X X部分函數(shù)依賴部分函數(shù)依賴, 記作記作X X Y Y。 F P 第第2727頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 例例1: 1: 在關系在關系SC(Sno, Cno, score)SC(Sno, Cno, score)中中 由于:由于: (Sno, Cno) (Sno, Cno) scorescore
34、 ,Sno scoreSno score,Cno scoreCno score 因此:因此:(Sno, Cno) (Sno, Cno) scorescore(完全函數(shù)依賴)(完全函數(shù)依賴) 由于:由于: (Sno, Cno) (Sno, Cno) deptdept ,Sno Sno deptdept 因此:因此: (Sno, Cno) (Sno, Cno) deptdept (部分函數(shù)依賴(部分函數(shù)依賴) 由定義由定義4.24.2可知,只有當決定因素是組合屬性時,討論部分函數(shù)可知,只有當決定因素是組合屬性時,討論部分函數(shù) 依賴才有意義,當決定因素是單屬性時,都是完全函數(shù)依賴。依賴才有意義,當決
35、定因素是單屬性時,都是完全函數(shù)依賴。 F P 第第2828頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 3 3)傳遞函數(shù)依賴)傳遞函數(shù)依賴 定義定義4.3 4.3 設有關系模式設有關系模式R R(U U),),U U是屬性全集,是屬性全集,X X,Y Y,Z Z是是 U U的子集,若的子集,若XYXY(Y Y X X),但),但YXYX,而,而YZYZ,則稱,則稱Z Z對對X X傳傳 遞函數(shù)依賴遞函數(shù)依賴, ,記作:記作:X ZX Z。 注意:如果有注意:如果有YXYX,則,則X YX Y,這時稱,這時稱Z Z對對X X直接函數(shù)依賴直接函數(shù)依賴 ,
36、而不是傳遞函數(shù)依賴。,而不是傳遞函數(shù)依賴。 t 第第2929頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 例例1: 1: 在關系在關系SDCSDC中,有中,有 Sno deptSno dept, deptdept Sno Sno ,deptdept snosno, 而而dept mndept mn 則稱:則稱:mnmn傳遞函數(shù)依賴于傳遞函數(shù)依賴于SnoSno,記作,記作Sno mnSno mn t 返回本節(jié) 第第3030頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.2.2 4.2.2 碼碼 定義定義
37、4.44.4:設設K K為為R R(U,FU,F)中的屬性或?qū)傩越M合。若)中的屬性或?qū)傩越M合。若K K F F U U, 則則K K稱為稱為R R的的侯選碼侯選碼(Candidate KeyCandidate Key);若候選碼多于一個);若候選碼多于一個 ,則選定其中的一個做為,則選定其中的一個做為主碼主碼(Primary KeyPrimary Key);); 主屬性與非主屬性主屬性與非主屬性 包含在任何一個候選碼中的屬性包含在任何一個候選碼中的屬性 ,稱為,稱為主屬性主屬性 不包含在任何碼中的屬性稱為不包含在任何碼中的屬性稱為非主屬性非主屬性或非碼屬性或非碼屬性 最簡單情況:一個屬性是碼;
38、最簡單情況:一個屬性是碼; 最極端情況:整個屬性組最極端情況:整個屬性組U U是碼,也稱是碼,也稱全碼全碼(ALL-KEYALL-KEY);); 第第3131頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 外碼外碼 定義定義4.5 4.5 :若關系模式:若關系模式R R中屬性或?qū)傩越M中屬性或?qū)傩越MX X并非并非R R的碼,但的碼,但X X是是 另一個關系模式的碼,則稱另一個關系模式的碼,則稱X X是是R R的外部碼或外部關系鍵(的外部碼或外部關系鍵( Foreign keyForeign key),也稱),也稱外碼或外鍵外碼或外鍵; 如在如在SCSC
39、(SnoSno,CnoCno,ScoreScore)中,)中,SnoSno不是碼,但不是碼,但SnoSno是關系模式是關系模式S S (SnoSno,snsn,ageage,deptdept)的碼,則)的碼,則SnoSno是關系模式是關系模式SCSC的外部碼;的外部碼; 主碼與外部碼一起提供了表示關系間聯(lián)系的手段主碼與外部碼一起提供了表示關系間聯(lián)系的手段。如關系模式。如關系模式S S與與 SCSC的聯(lián)系就是通過的聯(lián)系就是通過SNOSNO這個在這個在S S中是主碼又在中是主碼又在SCSC中是外碼的屬性來中是外碼的屬性來 體現(xiàn)的。體現(xiàn)的。 返回本節(jié) 第第3232頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用
40、-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4.2.3 4.2.3 范式范式 關系模式的好與壞,用什么標準衡量?這個標準就是關系模關系模式的好與壞,用什么標準衡量?這個標準就是關系模 式的式的范式(范式(Normal FormsNormal Forms,簡記為,簡記為NFNF); 范式范式是符合某一種級別是符合某一種級別規(guī)范化要求規(guī)范化要求的關系模式的集合的關系模式的集合; 范式的種類與數(shù)據(jù)依賴有著直接的聯(lián)系,基于范式的種類與數(shù)據(jù)依賴有著直接的聯(lián)系,基于FDFD(函數(shù)依賴(函數(shù)依賴 )的范式有)的范式有1NF1NF、2NF2NF、3NF3NF、BCNFBCNF等多種。等多種。 某一
41、關系模式某一關系模式R R為第為第n n范式范式,可簡記為,可簡記為RnNFRnNF。 第第3333頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 各范式之間的關系各范式之間的關系 1NF 2NF 3NF BCNF 4NF 5NF 第第3434頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 范式間的關系范式間的關系 如果一個關系滿足某個范式要求如果一個關系滿足某個范式要求, ,則它也會滿足較其級別低則它也會滿足較其級別低 的所有范式的要求。的所有范式的要求。 一個低一級范式的關系模式一個低一級范式的關系模式
42、, ,通過通過模式分解模式分解( (投影運算投影運算) )可以可以 轉(zhuǎn)化為若干個高一級范式的關系模式的集合轉(zhuǎn)化為若干個高一級范式的關系模式的集合, ,這個過程叫做這個過程叫做 規(guī)范化規(guī)范化; 用幾個簡單的關系去取代原來結(jié)構(gòu)復雜的關系的過程叫做用幾個簡單的關系去取代原來結(jié)構(gòu)復雜的關系的過程叫做關關 系規(guī)范化系規(guī)范化。規(guī)范化理論是圍繞著范式建立的。規(guī)范化理論是圍繞著范式建立的。 第第3535頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 1 1)第一范式)第一范式1NF1NF 定義定義4.6 4.6 如果關系模式如果關系模式R R的所有屬性均為簡單屬性,
43、即的所有屬性均為簡單屬性,即每個每個 屬性都是不可再分的屬性都是不可再分的,則稱,則稱R R屬于第一范式,簡稱屬于第一范式,簡稱1NF1NF,記作,記作 R1NFR1NF。 1NF1NF要求要求屬性是原子的屬性是原子的; 第一范式是對關系模式的最起碼的要求。第一范式是對關系模式的最起碼的要求。不滿足第一范式的不滿足第一范式的 數(shù)據(jù)庫模式不能稱為關系數(shù)據(jù)庫;數(shù)據(jù)庫模式不能稱為關系數(shù)據(jù)庫; 但滿足第一范式的關系模式并不一定是一個好的關系模式。但滿足第一范式的關系模式并不一定是一個好的關系模式。 第第3636頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論
44、2 2)第二范式)第二范式2NF2NF 定義定義4.7 4.7 若若R1NFR1NF,且,且每一個非主屬性完全函數(shù)依賴于任意每一個非主屬性完全函數(shù)依賴于任意 一個候選碼一個候選碼,則,則R2NF R2NF ; 例例1 1:在關系模式在關系模式SDCSDC(SNOSNO,SNSN,AGEAGE,DEPTDEPT,MNMN,CNOCNO,SCORESCORE) 中,它的候選碼是(中,它的候選碼是(SNOSNO,CNOCNO),函數(shù)依賴關系有:),函數(shù)依賴關系有: (SNOSNO,CNOCNO) f f SCORE SCORE SNOSNSNOSN,(,(SNOSNO,CNOCNO) p p SN
45、SN SNOAGESNOAGE,(,(SNOSNO,CNOCNO) p p AGE AGE SNODEPTSNODEPT,(,(SNOSNO,CNOCNO) p p DEPTDEPT,DEPTMN DEPTMN SNO SNO t t MN, MN, (SNOSNO,CNOCNO) p p MNMN 結(jié)論:和結(jié)論:和2NF2NF定義相違背,故定義相違背,故scsc不是不是2NF2NF 第第3737頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 一個關系模式不是一個關系模式不是2NF2NF,就會產(chǎn)生以下問題(,就會產(chǎn)生以下問題(SDCSDC):): (
46、1) (1) 插入異常插入異常:假設:假設SnoSno0310203102,deptdeptISIS的學生還未選課,因的學生還未選課,因 課程號是主屬性,因此該學生的信息無法插入課程號是主屬性,因此該學生的信息無法插入SDC SDC 。 (2) (2) 刪除異常刪除異常:假定某個學生本來只選修了:假定某個學生本來只選修了3 3號課程這一門課。現(xiàn)號課程這一門課?,F(xiàn) 在因其他原因,在因其他原因,3 3號課程也不選修了。因課程號是主屬性,此操作號課程也不選修了。因課程號是主屬性,此操作 將導致該學生信息的整個元組都要刪除。將導致該學生信息的整個元組都要刪除。 (4) (4) 修改復雜修改復雜:例如學
47、生轉(zhuǎn)系(修改此學生的:例如學生轉(zhuǎn)系(修改此學生的deptdept值)如果這個值)如果這個 學生選修了學生選修了K K門課,則必須無遺漏地修改門課,則必須無遺漏地修改K K個元組中全部個元組中全部deptdept。 (3) (3) 數(shù)據(jù)冗余度大數(shù)據(jù)冗余度大:如果一個學生選修了:如果一個學生選修了1010門課程,那么他的門課程,那么他的snsn 、ageage、deptdept等值就要重復存儲等值就要重復存儲1010次。次。 第第3838頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 2NF2NF的規(guī)范化的規(guī)范化 2NF2NF規(guī)范化是指把規(guī)范化是指把1N
48、F1NF關系模式通過關系模式通過投影分解投影分解,消除非主屬消除非主屬 性對候選關鍵字的部分函數(shù)依賴性對候選關鍵字的部分函數(shù)依賴,轉(zhuǎn)換成,轉(zhuǎn)換成2NF2NF關系模式的集合關系模式的集合 的過程。的過程。 分解時遵循的原則是分解時遵循的原則是“一事一地一事一地”,讓一個關系只描述一,讓一個關系只描述一 個實體或?qū)嶓w間的聯(lián)系。如果多于一個實體或聯(lián)系,則進行投個實體或?qū)嶓w間的聯(lián)系。如果多于一個實體或聯(lián)系,則進行投 影分解。影分解。 據(jù)此我們可以將關系模式據(jù)此我們可以將關系模式SDCSDC分解成兩個關系模式分解成兩個關系模式: SDSD(SNOSNO,SNSN,AGEAGE,DEPTDEPT,MNMN
49、),描述學生實體。),描述學生實體。 SCSC(SNOSNO,CNOCNO,SCORESCORE),描述學生與課程的聯(lián)系。),描述學生與課程的聯(lián)系。 第第3939頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 注:如果關系模式注:如果關系模式R R的候選碼均為單屬性,或的候選碼均為單屬性,或R R的的 全體屬性均為主屬性,則全體屬性均為主屬性,則R2NFR2NF。 例如,教師例如,教師- -課程課程- -學生關系模式學生關系模式TCSTCS(T T,C C,S S),(),(T T,C C ,S S)三個屬性的組合才是其唯一的候選關鍵字即關系鍵,)三
50、個屬性的組合才是其唯一的候選關鍵字即關系鍵,T T, C C,S S均是主屬性,不存在非主屬性,所以也不可能存在非主屬均是主屬性,不存在非主屬性,所以也不可能存在非主屬 性對候選關鍵字的部分函數(shù)依賴,因此性對候選關鍵字的部分函數(shù)依賴,因此TCS2NFTCS2NF。 第第4040頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 3 3)第三范式)第三范式3NF3NF 定義定義4.8 4.8 如果關系模式如果關系模式R R是是1NF1NF,且,且每個非主屬性都不傳遞依每個非主屬性都不傳遞依 賴于賴于R R的候選碼的候選碼,那么稱,那么稱R R是第三范式,是
51、第三范式,簡稱簡稱3NF3NF,記作,記作 R3NF R3NF 。 3NF3NF的性質(zhì):的性質(zhì): 如果如果R3NFR3NF,則,則R R也是也是2NF2NF。 若若 R3NFR3NF ,則每一個,則每一個非主屬性非主屬性既既不部分依賴于碼不部分依賴于碼也也不不 傳遞依賴于碼傳遞依賴于碼; 第第4141頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 3NF3NF的規(guī)范化的規(guī)范化 3NF3NF的規(guī)范化是指的規(guī)范化是指把把2NF2NF關系模式通過投影分解,消除非主關系模式通過投影分解,消除非主 屬性對候選關鍵字的傳遞函數(shù)依賴屬性對候選關鍵字的傳遞函數(shù)依賴,
52、而轉(zhuǎn)換成,而轉(zhuǎn)換成3NF3NF關系模式集關系模式集 合的過程。合的過程。 3NF3NF規(guī)范化同樣遵循規(guī)范化同樣遵循“一事一地一事一地”原則原則。我們繼續(xù)將只屬。我們繼續(xù)將只屬 于于2NF2NF的關系模式的關系模式SDSD規(guī)范為規(guī)范為3NF3NF。根據(jù)。根據(jù)“一事一地一事一地”原則可原則可SDSD分分 解為:解為: S S(SNOSNO,SNSN,AGEAGE,DEPTDEPT),描述學生實體;),描述學生實體; D D(DEPTDEPT,MNMN),描述系的實體。),描述系的實體。 分解后分解后S S和和D D的主鍵分別為的主鍵分別為SNOSNO和和DEPTDEPT,不存在傳遞函數(shù)依,不存在傳
53、遞函數(shù)依 賴。所以賴。所以S3NFS3NF,D3NFD3NF。 第第4242頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 分析分析 關系模式關系模式SDSD由由2NF2NF分解為分解為3NF3NF后,既沒有非主屬性對碼的部后,既沒有非主屬性對碼的部 分依賴,也沒有非主屬性對碼的傳遞依賴分依賴,也沒有非主屬性對碼的傳遞依賴,解決了,解決了2NF2NF中存在的中存在的 四個問題,因此,分解后的關系模式四個問題,因此,分解后的關系模式S S和和D D具有以下特點:具有以下特點: (1 1)數(shù)據(jù)冗余度降低了)數(shù)據(jù)冗余度降低了。如系主任的名字存儲的次數(shù)與該。
54、如系主任的名字存儲的次數(shù)與該 系的學生人數(shù)無關,只在關系系的學生人數(shù)無關,只在關系D D中存儲一次。中存儲一次。 (2 2)不存在插入異常)不存在插入異常。如當一個新系沒有學生時,該系的。如當一個新系沒有學生時,該系的 信息可以直接插入到關系信息可以直接插入到關系D D中,而與學生關系中,而與學生關系S S無關。無關。 (3 3)不存在刪除異常)不存在刪除異常。如當要刪除某系的全部學生而仍然。如當要刪除某系的全部學生而仍然 保留該系的有關信息時,可以只刪除學生關系保留該系的有關信息時,可以只刪除學生關系S S中的相關記錄,中的相關記錄, 而不影響系關系而不影響系關系D D中的數(shù)據(jù)。中的數(shù)據(jù)。
55、(4 4)不存在修改異常)不存在修改異常。如更換系主任時,只需修改關系。如更換系主任時,只需修改關系D D中中 一個相應元組的一個相應元組的MNMN屬性值,從而不會出現(xiàn)數(shù)據(jù)的不一致現(xiàn)象。屬性值,從而不會出現(xiàn)數(shù)據(jù)的不一致現(xiàn)象。 第第4343頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 SDCSDC規(guī)范化到規(guī)范化到3NF3NF后,所存在的異?,F(xiàn)象已經(jīng)全部消失。但是后,所存在的異?,F(xiàn)象已經(jīng)全部消失。但是 ,3NF3NF只限制了非主屬性對碼的依賴關系,而沒有限制主屬只限制了非主屬性對碼的依賴關系,而沒有限制主屬 性對碼的依賴關系。性對碼的依賴關系。如果發(fā)生
56、了這種依賴,仍有可能存在數(shù)如果發(fā)生了這種依賴,仍有可能存在數(shù) 據(jù)冗余、插入異常、刪除異常和修改異常。這時,則需對據(jù)冗余、插入異常、刪除異常和修改異常。這時,則需對 3NF3NF進一步規(guī)范化,消除主屬性對碼的依賴關系,向更高一進一步規(guī)范化,消除主屬性對碼的依賴關系,向更高一 級的范式級的范式BCNFBCNF轉(zhuǎn)換。轉(zhuǎn)換。 第第4444頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 4 4)BCNFBCNF 定義定義4.9 4.9 如果關系模式如果關系模式R1NFR1NF,且,且所有的函數(shù)依賴所有的函數(shù)依賴XYXY(Y Y不包含不包含 于于X X,即,即Y
57、 Y X X),),決定因素決定因素X X都包含了都包含了R R的一個候選碼的一個候選碼,則稱,則稱R R 屬于屬于BCBC范式(范式(Boyce-Codd Normal FormBoyce-Codd Normal Form), ,記作記作 RBCNFRBCNF。 BCNFBCNF所具有的性質(zhì)所具有的性質(zhì) 每一個決定因素都包含(候選)碼每一個決定因素都包含(候選)碼; R R中的所有屬性(中的所有屬性(主屬性,非主屬性主屬性,非主屬性)都完全函數(shù)依賴于碼;)都完全函數(shù)依賴于碼; 若若RBCNF RBCNF ,則,則R3NFR3NF;但若但若R3NFR3NF,則,則R R未必屬于未必屬于BCNF
58、BCNF。 第第4545頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 例例1 1:設有關系模式設有關系模式SCSSCS(SNOSNO,SNSN,CNOCNO,SCORESCORE),其中),其中SNOSNO:學號:學號 ,SNSN:學生姓名,并:學生姓名,并假設不重名假設不重名,CNOCNO:課程號,:課程號,SCORESCORE:成績。判:成績。判 定其是否屬于定其是否屬于BCNFBCNF。 分析:分析:SCSSCS有兩個候選碼(有兩個候選碼(SNOSNO,CNOCNO)和()和(SNSN,CNOCNO),其函數(shù)依賴),其函數(shù)依賴 如下:如下:
59、SNO SNSNO SN, (SNOSNO,CNOCNO)SCORESCORE (SNSN,CNOCNO)SCORE SCORE 第第4646頁頁數(shù)據(jù)庫原理與應用數(shù)據(jù)庫原理與應用-第第4 4章章 關系數(shù)據(jù)庫設計理論關系數(shù)據(jù)庫設計理論 對于關系模式對于關系模式SCSSCS: 唯一的非主屬性唯一的非主屬性SCORESCORE對碼不存在部分函數(shù)依賴,也不存對碼不存在部分函數(shù)依賴,也不存 在傳遞函數(shù)依賴。所以在傳遞函數(shù)依賴。所以SCS3NFSCS3NF。 但是,因為但是,因為SNO SNSNO SN,即,即決定因素決定因素SNOSNO或或SNSN不包含候選不包含候選 碼;碼;從另一個角度說,存在著從另
60、一個角度說,存在著主屬性對碼的部分函數(shù)依主屬性對碼的部分函數(shù)依 賴賴:(:(SNOSNO,CNOCNO) p p SN SN,(,(SNSN,CNOCNO) p p SNO SNO,所以,所以 SCSSCS不屬于不屬于BCNFBCNF。 正是存在著這種主屬性對碼的部分函數(shù)依賴關系,造成正是存在著這種主屬性對碼的部分函數(shù)依賴關系,造成 了關系了關系SCSSCS中存在著較大的數(shù)據(jù)冗余,解決這一問題的辦中存在著較大的數(shù)據(jù)冗余,解決這一問題的辦 法仍然是通過投影分解進一步提高范式的等級,將其規(guī)法仍然是通過投影分解進一步提高范式的等級,將其規(guī) 范到范到BCNFBCNF。 第第4747頁頁數(shù)據(jù)庫原理與應用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度洗浴中心員工福利保障與激勵合同4篇
- 2024秀嶼區(qū)文印中心綜合性承包經(jīng)營管理合同3篇
- 2024聘用駕駛員安全保障及應急處理服務合同3篇
- 2025年度智能穿戴設備打膠密封服務合同4篇
- 2025年度智能船舶租賃合作協(xié)議模板4篇
- 2025年度玻璃纖維復合材料研發(fā)與市場拓展承包合同3篇
- 2024年租賃合同:設備租賃與維護條款
- 2025年度文化傳播公司員工辭退合同范本4篇
- 2025年度幼兒園食堂承包運營管理合同范本3篇
- 2025年度智慧城市建設戰(zhàn)略合作框架協(xié)議范本4篇
- 急診與災難醫(yī)學課件 03 呼吸困難大課何琳zhenshi
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復
- 《國際市場營銷》案例
- GB/T 37518-2019代理報關服務規(guī)范
- GB/T 156-2017標準電壓
- PPT溝通的藝術(shù)課件
- 內(nèi)科學:巨幼細胞性貧血課件
- 暑假家校聯(lián)系情況記錄表
- 周計劃工作安排日程表Excel模板
- Q∕GDW 12155-2021 國家電網(wǎng)有限公司應急指揮信息系統(tǒng)技術(shù)規(guī)范
評論
0/150
提交評論