




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、千磨萬(wàn)擊還堅(jiān)勁 任爾東西南北風(fēng)數(shù)數(shù) 據(jù)據(jù) 庫(kù)庫(kù) 原原 理理Theory of Database第六章第六章 關(guān)系數(shù)據(jù)理論關(guān)系數(shù)據(jù)理論Theory of Database3第六章 關(guān)系數(shù)據(jù)理論6.1 問(wèn)題的提出問(wèn)題的提出6.2 規(guī)范化規(guī)范化6.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)*6.4 模式的分解模式的分解6.5 小結(jié)小結(jié)Theory of Database46.1 問(wèn)題的提出關(guān)系模式由五部分組成關(guān)系模式由五部分組成即它是一個(gè)五元組:即它是一個(gè)五元組:R(U, D, DOM, F)R:關(guān)系名:關(guān)系名U:組成該關(guān)系的屬性名集合:組成該關(guān)系的屬性名集合D:屬性組:屬性組U中屬性所來(lái)自的域中屬性
2、所來(lái)自的域DOM:屬性向域的映象集合:屬性向域的映象集合F:屬性間數(shù)據(jù)的依賴關(guān)系集合:屬性間數(shù)據(jù)的依賴關(guān)系集合Theory of Database56.1 問(wèn)題的提出(續(xù))關(guān)系模式關(guān)系模式R(U, D, DOM, F)簡(jiǎn)化為一個(gè)三元組 R(U, F)當(dāng)且僅當(dāng)當(dāng)且僅當(dāng)U上的一個(gè)關(guān)系上的一個(gè)關(guān)系r滿足滿足F時(shí),時(shí),r稱為關(guān)系模式稱為關(guān)系模式R(U, F)的一個(gè)關(guān)系。)的一個(gè)關(guān)系。Theory of Database66.1 問(wèn)題的提出(續(xù))例例1 建立一個(gè)描述學(xué)校教務(wù)的數(shù)據(jù)庫(kù):建立一個(gè)描述學(xué)校教務(wù)的數(shù)據(jù)庫(kù):學(xué)生的學(xué)號(hào)(學(xué)生的學(xué)號(hào)(SnoSno)、所在系()、所在系(SdeptSdept)系主任姓名
3、(系主任姓名(MnameMname)、課程名()、課程名(CnameCname) 和成績(jī)(和成績(jī)(GradeGrade)單一的關(guān)系模式單一的關(guān)系模式 : table1 U Sno, Sdept, Mname, Cname, Grade Theory of Database7存在的問(wèn)題存在的問(wèn)題6.1 問(wèn)題的提出(續(xù))1. 數(shù)據(jù)冗余太大數(shù)據(jù)冗余太大2. 更新問(wèn)題(更新問(wèn)題(Update question)3. 插入異常(插入異常(Insertion Anomalies)4. 刪除異常(刪除異常(Deletion Anomalies)Theory of Database86.1 問(wèn)題的提出(續(xù))結(jié)
4、論:結(jié)論:Student關(guān)系模式不是一個(gè)好的模式。關(guān)系模式不是一個(gè)好的模式?!昂煤谩钡哪J剑旱哪J剑翰粫?huì)發(fā)生插入異常、刪除異常、更新異常,不會(huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少數(shù)據(jù)冗余應(yīng)盡可能少原因原因:這是因?yàn)檫@個(gè)模型中的函數(shù)依賴存在某些這是因?yàn)檫@個(gè)模型中的函數(shù)依賴存在某些 不好的性質(zhì)。不好的性質(zhì)。Theory of Database9第六章 關(guān)系數(shù)據(jù)理論6.1 問(wèn)題的提出問(wèn)題的提出6.2 規(guī)范化規(guī)范化6.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)*6.4 模式的分解模式的分解6.5 小結(jié)小結(jié)Theory of Database106.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6
5、.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database116.2.1 函數(shù)依賴一、函數(shù)依賴一、函數(shù)依賴二、平凡函數(shù)依賴與非平凡函數(shù)依賴二、平凡函數(shù)依賴與非平凡函數(shù)依賴三、完全函數(shù)依賴與部分函數(shù)依賴三、完全函數(shù)依賴與部分函數(shù)依賴四、傳遞函數(shù)依賴四、傳遞函數(shù)依賴Theory of Database12一、函數(shù)依賴一、函數(shù)依賴6.2.1 函數(shù)依賴(續(xù))定義定義6.1設(shè)設(shè)R(U)是一個(gè)屬性集是一個(gè)屬性集U上的關(guān)系模式,上的關(guān)系模式,X和和Y是是U的的子集
6、。若對(duì)于子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系的任意一個(gè)可能的關(guān)系r,r中不中不可能存在兩個(gè)元組在可能存在兩個(gè)元組在X上的屬性值相等,上的屬性值相等, 而在而在Y上上的的屬性值不等,屬性值不等, 則稱則稱 “X函數(shù)確定函數(shù)確定Y” 或或 “Y函數(shù)依函數(shù)依賴賴于于X”,記作,記作XY。 X:決定因素;:決定因素;Y:被決定因素。:被決定因素。 Theory of Database13說(shuō)明:說(shuō)明: 6.2.1 函數(shù)依賴(續(xù))1. 所有關(guān)系實(shí)例均要滿足所有關(guān)系實(shí)例均要滿足2. 語(yǔ)義范疇的概念語(yǔ)義范疇的概念3. 數(shù)據(jù)庫(kù)設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定數(shù)據(jù)庫(kù)設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定例如:例如:
7、student(sno,sname,sex,age) snosname, snosex, snoagecourse(cno,cname,credit) cnocname, cnocreditTheory of Database14二、平凡函數(shù)依賴與非平凡函數(shù)依賴二、平凡函數(shù)依賴與非平凡函數(shù)依賴6.2.1 函數(shù)依賴(續(xù))在關(guān)系模式在關(guān)系模式R(U)中,對(duì)于中,對(duì)于U的子集的子集X和和Y,如果如果XY,但,但Y X,則稱,則稱XY是非平凡的函數(shù)依賴。是非平凡的函數(shù)依賴。如果如果XY,但,但Y X, 則稱則稱XY是平凡的函數(shù)依賴。是平凡的函數(shù)依賴。例:在關(guān)系例:在關(guān)系SC(Sno, Cno, Gra
8、de)中,中, 非平凡函數(shù)依賴:非平凡函數(shù)依賴: (Sno, Cno) Grade平凡函數(shù)依賴:平凡函數(shù)依賴: (Sno, Cno) Sno (Sno, Cno) CnoTheory of Database156.2.1 函數(shù)依賴(續(xù))二、平凡函數(shù)依賴與非平凡函數(shù)依賴二、平凡函數(shù)依賴與非平凡函數(shù)依賴若若XY,則,則X稱為這個(gè)函數(shù)依賴的決定屬性組,稱為這個(gè)函數(shù)依賴的決定屬性組,也稱為決定因素(也稱為決定因素(Determinant)。)。若若XY,YX,則記作,則記作XY。若若Y不函數(shù)依賴于不函數(shù)依賴于X,則記作,則記作XY。Theory of Database16若若XY,但,但Y不完全函數(shù)依
9、賴于不完全函數(shù)依賴于X,則稱則稱Y對(duì)對(duì)X部分函數(shù)依賴,記作部分函數(shù)依賴,記作X P Y。在在R(U)中,如果中,如果XY,并且對(duì)于,并且對(duì)于X的任何一個(gè)真的任何一個(gè)真子集子集X,都有,都有X Y, 則稱則稱Y對(duì)對(duì)X完全函數(shù)依賴,完全函數(shù)依賴,記作記作X F Y。三、完全函數(shù)依賴與部分函數(shù)依賴三、完全函數(shù)依賴與部分函數(shù)依賴6.2.1 函數(shù)依賴(續(xù))定義定義 6.2Theory of Database17table1(Sno, Sdept, Mname, Cname, Grade)中中(Sno,Cno)Grade是完全函數(shù)依賴是完全函數(shù)依賴,(Sno,Cno)Sdept是部分函數(shù)依賴是部分函數(shù)依賴
10、。FP6.2.1 函數(shù)依賴(續(xù))三、完全函數(shù)依賴與部分函數(shù)依賴三、完全函數(shù)依賴與部分函數(shù)依賴?yán)豪阂驗(yàn)橐驗(yàn)镾noSdept成立,且成立,且Sno是是(Sno,Cno)的真子集。)的真子集。Theory of Database18定義定義6.3 在在R(U)中,如果中,如果XY,(Y X) ,YX YZ, ZY則稱則稱Z對(duì)對(duì)X傳遞函數(shù)依賴。傳遞函數(shù)依賴。 記為:記為: X Z四、傳遞函數(shù)依賴四、傳遞函數(shù)依賴傳遞傳遞6.2.1 函數(shù)依賴(續(xù))注:如果注:如果YX, 即即XY,則,則Z直接依賴于直接依賴于X。例例: 在在table1(Sno, Sdept, Mname, Cname, Grade)
11、 , 有:有: Sno Sdept,Sdept Mname Mname傳遞函數(shù)依賴于傳遞函數(shù)依賴于SnoTheory of Database196.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database20設(shè)設(shè)K為為R中的屬性或?qū)傩越M合。若中的屬性或?qū)傩越M合。若K U, 則則K稱為稱為R的侯選碼(的侯選碼(Candidate Key)。)。6.2.2 碼F若候選碼多于一個(gè),則選定其中的一個(gè)做為主碼若候選碼多
12、于一個(gè),則選定其中的一個(gè)做為主碼(Primary Key)。)。定義定義6.4Theory of Database216.2.2 碼(續(xù))主屬性與非主屬性主屬性與非主屬性u(píng)包含在任何一個(gè)候選碼中的屬性包含在任何一個(gè)候選碼中的屬性 ,稱為主屬性,稱為主屬性 (Prime attribute)u不包含在任何碼中的屬性稱為非主屬性不包含在任何碼中的屬性稱為非主屬性 (Nonprime attribute)或非碼屬性或非碼屬性(Non-key attribute)u整個(gè)屬性組是碼,稱為全碼整個(gè)屬性組是碼,稱為全碼(All-key)全碼全碼Theory of Database226.2.2 碼(續(xù))例例
13、2 關(guān)系模式關(guān)系模式S(Sno,Sdept,Sage)中,單個(gè)屬性中,單個(gè)屬性Sno是碼,是碼,SC(Sno,Cno,Grade)中,()中,(Sno,Cno)是碼。)是碼。例例3關(guān)系模式關(guān)系模式R(P,W,A)P:演奏者:演奏者 W:作品:作品 A:聽(tīng)眾:聽(tīng)眾一個(gè)演奏者可以演奏多個(gè)作品一個(gè)演奏者可以演奏多個(gè)作品某一作品可被多個(gè)演奏者演奏某一作品可被多個(gè)演奏者演奏聽(tīng)眾可以欣賞不同演奏者的不同作品聽(tīng)眾可以欣賞不同演奏者的不同作品碼為碼為(P,W,A),即,即All-Key Theory of Database23外部碼外部碼6.2.2 碼(續(xù))定義定義6.5 關(guān)系模式關(guān)系模式 R 中屬性或?qū)傩越M
14、中屬性或?qū)傩越MX 并非并非 R的碼,的碼,但但 X 是另一個(gè)關(guān)系模式的碼,則稱是另一個(gè)關(guān)系模式的碼,則稱 X 是是R 的外部碼(的外部碼(Foreign key),也稱外碼。),也稱外碼。如在如在SC(Sno,Cno,Grade)中,)中,Sno不是碼,不是碼,但但Sno是關(guān)系模式是關(guān)系模式S(Sno,Sdept,Sage)的碼,)的碼,則則Sno是關(guān)系模式是關(guān)系模式SC的外部碼。的外部碼。主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段。主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段。Theory of Database246.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式
15、6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database256.2.3 范式關(guān)系模式滿足不同標(biāo)準(zhǔn)化程度稱為滿足不同范式。關(guān)系模式滿足不同標(biāo)準(zhǔn)化程度稱為滿足不同范式。1971-1972年年E.F.Codd系統(tǒng)提出了系統(tǒng)提出了1NF,2NF,3NF。后來(lái)又和他人一起提出了后來(lái)又和他人一起提出了BCNF,4NF,5NF.范式的種類:范式的種類:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(
16、5NF)Theory of Database266.2.3 范式(續(xù))NF5NF4BCNFNF3NF2NF1各種范式之間存在聯(lián)系:各種范式之間存在聯(lián)系:某一關(guān)系模式某一關(guān)系模式R為第為第n范式,可簡(jiǎn)記為范式,可簡(jiǎn)記為RnNF。一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解可以一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程就叫規(guī)范化。這種過(guò)程就叫規(guī)范化。 Theory of Database276.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 B
17、CNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database286.2.4 1NF 2NF1NF的定義:的定義:如果一個(gè)關(guān)系模式如果一個(gè)關(guān)系模式R的所有屬性都是不可分的的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則基本數(shù)據(jù)項(xiàng),則R1NF。第一范式是對(duì)關(guān)系模式的最起碼的要求。第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)。不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)。但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。Theory of Database29
18、(Sno, Cno) P SdeptSno Sloc(Sno, Cno) F GradeSno Sdept6.2.4 1NF 2NF(續(xù))例例4 關(guān)系模式關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方。為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方。函數(shù)依賴包括:函數(shù)依賴包括:(Sno, Cno) P SlocSdept SlocTheory of Database30SnoCnoGradeSdeptSlocS-L-C6.2.4 1NF 2NF(續(xù)) S-L-C的碼為的碼為(Sno, Cno)。S-L-C滿足第一
19、范式。滿足第一范式。非主屬性非主屬性Sdept和和Sloc部分函數(shù)依賴于碼部分函數(shù)依賴于碼(Sno, Cno)。實(shí)線:完全函數(shù)依賴;虛線:部分函數(shù)依賴。實(shí)線:完全函數(shù)依賴;虛線:部分函數(shù)依賴。Theory of Database31S-L-C不是一個(gè)好的關(guān)系模式不是一個(gè)好的關(guān)系模式6.2.4 1NF 2NF(續(xù)) S-L-C(Sno, Sdept, Sloc, Cno, Grade)碼:碼:Sno+Cno產(chǎn)生的問(wèn)題:產(chǎn)生的問(wèn)題:(1) 插入異常插入異常(2) 刪除異常刪除異常(3) 數(shù)據(jù)冗余度大數(shù)據(jù)冗余度大(4) 修改復(fù)雜修改復(fù)雜Theory of Database326.2.4 1NF 2N
20、F(續(xù)) S-L-C不是一個(gè)好的關(guān)系模式不是一個(gè)好的關(guān)系模式原因:原因:Sdept、 Sloc部分函數(shù)依賴于碼。部分函數(shù)依賴于碼。解決方法:解決方法:S-L-C分解為兩個(gè)關(guān)系模式,以消除這些分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴:部分函數(shù)依賴: SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)Theory of Database33SnoCnoGradeSCS-LSnoSdeptSlocu關(guān)系模式關(guān)系模式SC的碼為的碼為(Sno,Cno)u關(guān)系模式關(guān)系模式S-L的碼為的碼為Snou這樣非主屬性對(duì)碼都是完全函數(shù)依賴這樣非主屬性對(duì)碼都是完全函數(shù)依賴 6.2.4
21、 1NF 2NF(續(xù)) 函數(shù)依賴圖:函數(shù)依賴圖:Theory of Database34例:例: S-L-C(Sno,Sdept,Sloc,Cno,Grade)1NF S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF6.2.4 1NF 2NF(續(xù)) 2NF定義定義6.6 若若R1NF,且每一個(gè)非主屬性完全函數(shù),且每一個(gè)非主屬性完全函數(shù) 依賴于碼,則依賴于碼,則R2NF。Theory of Database356.2.4 1NF 2NF(續(xù)) 采用投影分解法將一個(gè)采用投影分解法
22、將一個(gè)1NF的關(guān)系分解為多個(gè)的關(guān)系分解為多個(gè)2NF的關(guān)系,的關(guān)系,可以在一定程度上減輕原可以在一定程度上減輕原1NF關(guān)系中存在的插入異常、關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問(wèn)題。刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問(wèn)題。將一個(gè)將一個(gè)1NF關(guān)系分解為多個(gè)關(guān)系分解為多個(gè)2NF的關(guān)系,并不能完全消除的關(guān)系,并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。Theory of Database366.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依
23、賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database37 6.2.5 3NF3NF定義定義6.7 關(guān)系模式關(guān)系模式R 中每一個(gè)非主屬性既不部中每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼,分依賴于碼也不傳遞依賴于碼,則稱則稱R 3NF?;颍夯颍篟 2NF且非主屬性不傳遞函數(shù)依賴于碼。且非主屬性不傳遞函數(shù)依賴于碼。Theory of Database38可得:可得: Sno Sloc,即,即S-L中存在非主屬性對(duì)碼的中存在非主屬性對(duì)碼的 傳遞函數(shù)依賴,傳遞函數(shù)依賴,S-L 3NFSnoSdeptSdept SnoSdeptSloc傳遞傳遞 6.2.5
24、 3NF(續(xù))例:例:2NF關(guān)系模式關(guān)系模式S-L(Sno, Sdept, Sloc)中中函數(shù)依賴:函數(shù)依賴:Theory of Database39函數(shù)依賴圖:函數(shù)依賴圖:S-LSnoSdeptSloc 6.2.5 3NF(續(xù))Theory of Database40 6.2.5 3NF(續(xù))解決方法解決方法采用投影分解法,把采用投影分解法,把S-L分解為兩個(gè)關(guān)系模式,以分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴:消除傳遞函數(shù)依賴: S-D(Sno, Sdept) D-L(Sdept,Sloc)S-D的碼為的碼為Sno, D-L的碼為的碼為Sdept。分解后的關(guān)系模式分解后的關(guān)系模式S-D與與D
25、-L中不再存在傳遞依賴。中不再存在傳遞依賴。Theory of Database41SnoSdeptS-DSdeptSlocD-LS-L(Sno, Sdept, Sloc) 2NFS-L(Sno, Sdept, Sloc) 3NF S-D(Sno,Sdept) 3NFD-L(Sdept, Sloc) 3NF 6.2.5 3NF(續(xù))S-D的碼為的碼為Sno, D-L的碼為的碼為SdeptTheory of Database42 6.2.5 3NF(續(xù))采用投影分解法將一個(gè)采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)的關(guān)系分解為多個(gè)3NF的關(guān)系,的關(guān)系,可以在一定程度上解決原可以在一定程度上解決原
26、2NF關(guān)系中存在的插入異常、關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問(wèn)題。刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問(wèn)題。將一個(gè)將一個(gè)2NF關(guān)系分解為多個(gè)關(guān)系分解為多個(gè)3NF的關(guān)系后,仍然不能的關(guān)系后,仍然不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。Theory of Database436.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Database44定
27、義定義6.8 關(guān)系模式關(guān)系模式R1NF,若若XY且且Y X時(shí)時(shí)X必含有碼,必含有碼,則則R BCNF。 6.2.6 BCNF等價(jià)于:每一個(gè)決定屬性因素都包含碼。等價(jià)于:每一個(gè)決定屬性因素都包含碼。BCNFTheory of Database45充分充分不必要不必要 6.2.6 BCNF(續(xù))若若RBCNF所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴;所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴;所有的主屬性對(duì)每一個(gè)不包含它的碼,也是完全函數(shù)依賴;所有的主屬性對(duì)每一個(gè)不包含它的碼,也是完全函數(shù)依賴;沒(méi)有任何屬性完全函數(shù)依賴于非碼的任何一組屬性;沒(méi)有任何屬性完全函數(shù)依賴于非碼的任何一組屬性;R BCNFR 3
28、NFTheory of Database46 6.2.6 BCNF(續(xù))例例5 關(guān)系模式關(guān)系模式C(Cno,Cname,Pcno)C3NFCBCNF例例6 關(guān)系模式關(guān)系模式S(Sno,Sname,Sdept,Sage,fno)S有兩個(gè)碼有兩個(gè)碼Sno,fno(身份證號(hào)身份證號(hào))S3NF。SBCNFTheory of Database47 6.2.6 BCNF(續(xù))例例7 關(guān)系描述關(guān)系描述SJP(S,J,P),S是學(xué)生,是學(xué)生,J表示課程,表示課程, P表示名次。每一個(gè)學(xué)生選修每門(mén)課程的成績(jī)表示名次。每一個(gè)學(xué)生選修每門(mén)課程的成績(jī) 有一定的名次,每門(mén)課程中每一名次只有一個(gè)有一定的名次,每門(mén)課程中每
29、一名次只有一個(gè) 學(xué)生(即沒(méi)有并列名次)。學(xué)生(即沒(méi)有并列名次)。由語(yǔ)義可得到下面的函數(shù)依賴:由語(yǔ)義可得到下面的函數(shù)依賴: (S,J) P;(J,P) S;(S,J)與()與(J,P)都可以作為候選碼。)都可以作為候選碼。 這兩個(gè)碼各由兩個(gè)屬性組成,而且它們是相交的。這兩個(gè)碼各由兩個(gè)屬性組成,而且它們是相交的。這個(gè)關(guān)系模式中顯然沒(méi)有屬性對(duì)碼傳遞依賴或這個(gè)關(guān)系模式中顯然沒(méi)有屬性對(duì)碼傳遞依賴或 部分依賴。所以,部分依賴。所以, SJP 3NF,而且除(,而且除(S,J)與)與 (J,P)以外沒(méi)有其他決定因素,所以)以外沒(méi)有其他決定因素,所以SJP BCNF。Theory of Database48
30、6.2.6 BCNF(續(xù))例例8在關(guān)系模式在關(guān)系模式STJ(S,T,J)中,)中,S表示學(xué)生,表示學(xué)生, T表示教師,表示教師,J表示課程。每個(gè)教師只教一門(mén)課,表示課程。每個(gè)教師只教一門(mén)課, 一門(mén)課可以有多個(gè)老師,學(xué)生選定課程就固定了老師。一門(mén)課可以有多個(gè)老師,學(xué)生選定課程就固定了老師。l函數(shù)依賴:函數(shù)依賴: (S,J)T,(S,T)J,TJl(S,J)和和(S,T)都是候選碼都是候選碼Theory of Database49 JSJTSTSTJ中的函數(shù)依賴中的函數(shù)依賴 6.2.6 BCNF(續(xù))例例8在關(guān)系模式在關(guān)系模式STJ(S,T,J)中,)中,S表示學(xué)生,表示學(xué)生, T表示教師,表示教
31、師,J表示課程。每個(gè)教師只教一門(mén)課,表示課程。每個(gè)教師只教一門(mén)課, 一門(mén)課可以有多個(gè)老師,學(xué)生選定課程就固定了老師。一門(mén)課可以有多個(gè)老師,學(xué)生選定課程就固定了老師。Theory of Database50STJ3NF l沒(méi)有任何非主屬性對(duì)碼傳遞依賴或部分依賴沒(méi)有任何非主屬性對(duì)碼傳遞依賴或部分依賴 STJBCNFlT是決定因素,是決定因素,T不包含碼不包含碼 6.2.6 BCNF(續(xù))Theory of Database51SJSTTJTJ 6.2.6 BCNF(續(xù))解決方法:解決方法:將將STJ分解為二個(gè)關(guān)系模式:分解為二個(gè)關(guān)系模式: ST(S,T) BCNF, TJ(T,J) BCNF沒(méi)有任
32、何屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴。沒(méi)有任何屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴。Theory of Database523NF與與BCNF的關(guān)系:的關(guān)系:充分充分不必要不必要充分充分必要必要 6.2.6 BCNF(續(xù))R BCNFR 3NF如果如果R3NF,且,且R只有一個(gè)候選碼只有一個(gè)候選碼R BCNFR 3NFTheory of Database536.2 規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)Theory of Dat
33、abase546.2.9 規(guī)范化小結(jié)關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的工具關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的工具目的:盡量消除插入、刪除異常,修改復(fù)雜,數(shù)據(jù)冗余目的:盡量消除插入、刪除異常,修改復(fù)雜,數(shù)據(jù)冗余基本思想:逐步消除數(shù)據(jù)依賴中不合適的部分基本思想:逐步消除數(shù)據(jù)依賴中不合適的部分u實(shí)質(zhì):概念的單一化實(shí)質(zhì):概念的單一化Theory of Database556.2.9 規(guī)范化小結(jié)(續(xù))關(guān)系模式規(guī)范化的基本步驟關(guān)系模式規(guī)范化的基本步驟消除非主屬性對(duì)碼的部分函數(shù)依賴消除非主屬性對(duì)碼的部分函數(shù)依賴消除非主屬性對(duì)碼的傳遞函數(shù)依賴消除非主屬性對(duì)碼的傳遞函數(shù)依賴消除主屬性對(duì)碼的部分和傳遞
34、函數(shù)依賴消除主屬性對(duì)碼的部分和傳遞函數(shù)依賴消除非平凡且非函數(shù)依賴的多值依賴消除非平凡且非函數(shù)依賴的多值依賴消除決定因素消除決定因素非碼的非平凡非碼的非平凡函數(shù)依賴函數(shù)依賴 1NF 2NF 3NF BCNF 4NFTheory of Database566.2.9 規(guī)范化小結(jié)(續(xù))l不能說(shuō)規(guī)范化程度越高的關(guān)系模式就越好不能說(shuō)規(guī)范化程度越高的關(guān)系模式就越好;l在設(shè)計(jì)數(shù)據(jù)庫(kù)模式結(jié)構(gòu)時(shí),必須對(duì)現(xiàn)實(shí)世界的實(shí)際在設(shè)計(jì)數(shù)據(jù)庫(kù)模式結(jié)構(gòu)時(shí),必須對(duì)現(xiàn)實(shí)世界的實(shí)際 情況和用戶應(yīng)用需求作進(jìn)一步分析,確定一個(gè)合適情況和用戶應(yīng)用需求作進(jìn)一步分析,確定一個(gè)合適 的、能夠反映現(xiàn)實(shí)世界的模式的、能夠反映現(xiàn)實(shí)世界的模式;l上面的
35、規(guī)范化步驟可以在其中任何一步終止。上面的規(guī)范化步驟可以在其中任何一步終止。結(jié)論:結(jié)論:Theory of Database57第六章 關(guān)系數(shù)據(jù)理論6.1 問(wèn)題的提出問(wèn)題的提出6.2 規(guī)范化規(guī)范化6.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)*6.4 模式的分解模式的分解6.5 小結(jié)小結(jié)Theory of Database586.3 數(shù)據(jù)依賴的公理系統(tǒng)邏輯蘊(yùn)含邏輯蘊(yùn)含定義定義6.11 對(duì)于滿足一組函數(shù)依賴對(duì)于滿足一組函數(shù)依賴 F 的關(guān)系模式的關(guān)系模式R ,其任何一個(gè)關(guān)系,其任何一個(gè)關(guān)系r,若函數(shù)依賴,若函數(shù)依賴XY都成立都成立, 則稱則稱F邏輯蘊(yùn)含邏輯蘊(yùn)含X Y。Theory of Databas
36、e59Armstrong公理系統(tǒng)公理系統(tǒng)6.3 數(shù)據(jù)依賴的公理系統(tǒng)(續(xù)) 關(guān)系模式關(guān)系模式R 來(lái)說(shuō)有以下的推理規(guī)則:來(lái)說(shuō)有以下的推理規(guī)則:A1.自反律(自反律(Reflexivity):若):若Y X U, 則則X Y為為F所蘊(yùn)含。所蘊(yùn)含。A3.傳遞律(傳遞律(Transitivity):若):若XY及及YZ為為F所蘊(yùn)含,所蘊(yùn)含, 則則XZ為為F所蘊(yùn)含。所蘊(yùn)含。A2.增廣律(增廣律(Augmentation):若):若XY為為F所蘊(yùn)含,且所蘊(yùn)含,且Z U, 則則XZYZ為為F所蘊(yùn)含。所蘊(yùn)含。Theory of Database606.3 數(shù)據(jù)依賴的公理系統(tǒng)(續(xù))A1.自反律自反律: 若若Y X
37、 U,則,則X Y為為F所蘊(yùn)含。所蘊(yùn)含。證證: 設(shè)設(shè)Y X U 對(duì)對(duì)R 的任一關(guān)系的任一關(guān)系r中的任意兩個(gè)元組中的任意兩個(gè)元組t,s: 若若tX=sX,由于,由于Y X,有,有ty=sy, 所以所以XY成立,自反律得證。成立,自反律得證。Theory of Database616.3 數(shù)據(jù)依賴的公理系統(tǒng)(續(xù))A2.增廣律增廣律: 若若XY為為F所蘊(yùn)含,且所蘊(yùn)含,且Z U, 則則XZYZ 為為F所蘊(yùn)含。所蘊(yùn)含。證:設(shè)證:設(shè)XY為為F所蘊(yùn)含,且所蘊(yùn)含,且Z U。 設(shè)設(shè)R 的任一關(guān)系的任一關(guān)系r中任意的兩個(gè)元組中任意的兩個(gè)元組t,s: 若若tXZ=sXZ,則有,則有tX=sX和和tZ=sZ; 由由XY,于是有,于是有tY=sY,所以,所以tYZ=sYZ, 所以所以XZYZ為為F所蘊(yùn)含,增廣律得證。所蘊(yùn)含,增廣律得證。Theory of Database626.3 數(shù)據(jù)依賴的公理系統(tǒng)(續(xù))A3.傳遞律:若傳遞律:若XY及及YZ為為F所蘊(yùn)含,所蘊(yùn)含, 則則XZ為為F所蘊(yùn)含。所蘊(yùn)含。證:設(shè)證:設(shè)XY及及YZ為為F所蘊(yùn)含。所蘊(yùn)含。 對(duì)對(duì)R 的任一關(guān)系的任一關(guān)系 r中的任意兩個(gè)元組中的任意兩個(gè)元組 t,s: 若若tX=sX,由于,由于XY,有,有 tY=sY; 再由再由YZ,有,有tZ=sZ, 所以所以
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全執(zhí)法試題及答案
- 深處種菱淺種稻-《汽車數(shù)據(jù)出境安全指引(2025版)》(征求意見(jiàn)稿)的準(zhǔn)確理解與適用
- 安全施工管理試題及答案
- 血液凈化設(shè)備市場(chǎng)國(guó)內(nèi)外競(jìng)爭(zhēng)格局對(duì)比研究報(bào)告
- 安全生產(chǎn)教育試題及答案
- 2025年消費(fèi)金融在下沉市場(chǎng)的地域差異與政策影響報(bào)告001
- 2025年農(nóng)業(yè)灌溉用水管理:水資源保護(hù)與高效利用技術(shù)報(bào)告
- 2025年五金制品行業(yè)跨境電商物流與倉(cāng)儲(chǔ)解決方案報(bào)告
- 助殘主題班會(huì)課件
- 制定班規(guī)主題班會(huì)課件
- 國(guó)開(kāi)(內(nèi)蒙古)2024年《家庭社會(huì)工作》形考1-3終考答案
- 華佗古本五禽戲智慧樹(shù)知到期末考試答案章節(jié)答案2024年安徽中醫(yī)藥大學(xué)
- 齊魯文化智慧樹(shù)知到期末考試答案2024年
- 小班語(yǔ)言故事《喇叭花電話》課件
- 眼科視光中心可行性方案
- 臺(tái)球館火災(zāi)危險(xiǎn)性分析報(bào)告
- JCT890-2017 蒸壓加氣混凝土墻體專用砂漿
- 汽車吊、隨車吊起重吊裝施工方案
- 銷售總監(jiān)職業(yè)規(guī)劃書(shū)
- 民國(guó)時(shí)期服飾簡(jiǎn)論
- 教學(xué)設(shè)備投標(biāo)方案(完整技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論