




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、返回返回第第4章章 關系數據庫理論關系數據庫理論返回返回4.3 范式范式 規(guī)范化的基本思想是消除關系模式中的數據冗余,消除數據依賴規(guī)范化的基本思想是消除關系模式中的數據冗余,消除數據依賴中的不合適的部分,解決數據插入、刪除時發(fā)生異?,F(xiàn)象。中的不合適的部分,解決數據插入、刪除時發(fā)生異?,F(xiàn)象。 這就要求關系數據庫設計出來的關系模式要滿足一定的條件。這就要求關系數據庫設計出來的關系模式要滿足一定的條件。 我們把關系數據庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立我們把關系數據庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立的不同標準稱為范式的不同標準稱為范式Normal FormNormal Form)。)
2、。 由于規(guī)范化的程度不同,就產生了不同的范式。由于規(guī)范化的程度不同,就產生了不同的范式。 滿足最基本規(guī)范化要求的關系模式叫第一范式,滿足最基本規(guī)范化要求的關系模式叫第一范式, 在第一范式中進一步滿足一些要求為第二范式,在第一范式中進一步滿足一些要求為第二范式, 以此類推就產生了第三、四范式等概念。以此類推就產生了第三、四范式等概念。 每種范式都規(guī)定了一些限制約束條件。每種范式都規(guī)定了一些限制約束條件。 最重要的是最重要的是3NF3NF和和BCNFBCNF。這是進行規(guī)范化的主要目標。這是進行規(guī)范化的主要目標。 返回返回范式的概念最早由范式的概念最早由E.F.CoddE.F.Codd提出。提出。從
3、從19711971年起,年起,CoddCodd相繼提出了關系的三級規(guī)范相繼提出了關系的三級規(guī)范化形式,即第一范式化形式,即第一范式1NF1NF)、第二范式)、第二范式2NF2NF)、)、第三范式第三范式3NF3NF)。)。19741974年,年,CoddCodd和和BoyceBoyce以共同提出了一個新的以共同提出了一個新的范式的概念,即范式的概念,即Boyce-CoddBoyce-Codd范式,簡稱范式,簡稱BCBC范式。范式。19761976年年FaginFagin提出了第四范式,提出了第四范式,后來又有人定義了第五范式。后來又有人定義了第五范式。至此在關系數據庫規(guī)范中建立了一個范式系列:
4、至此在關系數據庫規(guī)范中建立了一個范式系列:1NF,2NF,3NF,BCNF,4NF,5NF,1NF,2NF,3NF,BCNF,4NF,5NF,一級比一級有更嚴一級比一級有更嚴格的要求。格的要求。各個范式之間的聯(lián)系可以表示為:各個范式之間的聯(lián)系可以表示為:5NF 4NF BCNF 3NF 2NF 1NF5NF 4NF BCNF 3NF 2NF 1NF如圖如圖4.34.3所示。所示。 返回返回圖圖4.3 4.3 各種范式之間的關系各種范式之間的關系1NF,2NF,3NF,BCNF,4NF,5NF,1NF,2NF,3NF,BCNF,4NF,5NF,一級比一級有更嚴一級比一級有更嚴格的要求。格的要求。
5、下面逐一介紹各級范式及其規(guī)范化。下面逐一介紹各級范式及其規(guī)范化。 返回返回4.3.1 4.3.1 第一范式第一范式第一范式第一范式First Normal FormFirst Normal Form是最基本的規(guī)是最基本的規(guī)范形式,即關系中每個屬性都是不可再分的簡單范形式,即關系中每個屬性都是不可再分的簡單項。項。定義定義4.4 4.4 如果關系模式如果關系模式R R,其所有的屬性均為簡,其所有的屬性均為簡單屬性,即每個屬性都城是不可再分的,則稱單屬性,即每個屬性都城是不可再分的,則稱R R屬于第一范式,簡稱屬于第一范式,簡稱1NF1NF,記作,記作R R1NF1NF。在第在第2 2章討論關系的
6、性質時,我們把滿足這個條章討論關系的性質時,我們把滿足這個條件的關系稱為規(guī)范化關系。件的關系稱為規(guī)范化關系。在關系數據庫系統(tǒng)中只討論規(guī)范化的關系,凡是在關系數據庫系統(tǒng)中只討論規(guī)范化的關系,凡是非規(guī)范化的關系模式必須化成規(guī)范化的關系。非規(guī)范化的關系模式必須化成規(guī)范化的關系。在非規(guī)范化的關系中去掉組合項就能化成規(guī)范化在非規(guī)范化的關系中去掉組合項就能化成規(guī)范化的關系。的關系。每個規(guī)范化的關系都屬于每個規(guī)范化的關系都屬于1NF1NF,這也是它之所以,這也是它之所以稱為稱為“第一的原因。第一的原因。 返回返回然而,一個關系模式僅僅屬于第一范式是不然而,一個關系模式僅僅屬于第一范式是不適用的。適用的。在在
7、4.14.1節(jié)中給出的關系模式節(jié)中給出的關系模式SCDSCD屬于第一范式,屬于第一范式,但其具有大量的數據冗余,具有插入異常、刪但其具有大量的數據冗余,具有插入異常、刪除異常、更新異常等弊端。除異常、更新異常等弊端。為什么會存在這種問題呢?為什么會存在這種問題呢?讓我們分析一下讓我們分析一下SCDSCD中的函數依賴關系,它的中的函數依賴關系,它的關系鍵是關系鍵是SNOSNO,CNOCNO的屬性組合,所以有:的屬性組合,所以有: (SNOSNO,CNOCNO) SCORESCORESNOSNSNOSN,(,(SNOSNO,CNOCNO) SNSNSNOAGESNOAGE,(,(SNOSNO,CN
8、OCNO) AGEAGESNODEPTSNODEPT,(,(SNOSNO,CNOCNO) DEPTDEPTSNO MNSNO MN,(,(SNOSNO,CNOCNO) MN MN fppppt返回返回我們可以用函數信賴圖表示以上函數依賴關系,如圖我們可以用函數信賴圖表示以上函數依賴關系,如圖4.44.4所示。所示。 SNMNSCORESNOCNOPPf由此可見,在SCD中,既存在完全函數依賴,又存在部分函數依賴和傳遞函數依賴。這種情況往往在數據庫中是不允許的,也正是由于關系中存在著復雜的函數依賴,才導致數據操作中出現(xiàn)了種弊端??朔@些弊端的方法是用投影運算將關系分解,去掉過于復雜的函數依賴關系
9、,向更高一級的范式進行轉換。 返回返回4.3.2 4.3.2 第二范式第二范式4.3.2.1 4.3.2.1 第二范式的定義第二范式的定義定義定義4.5 4.5 如果關系模式如果關系模式R R1NF1NF,且每個非主屬,且每個非主屬性都完全函數依賴于性都完全函數依賴于R R的每個關系鍵,則稱的每個關系鍵,則稱R R屬于屬于第二范式第二范式Second Normal FormSecond Normal Form),簡稱),簡稱2NF2NF,記作記作R R2NF2NF。在關系模式在關系模式SCDSCD中,中,SNOSNO,CNOCNO為主屬性,為主屬性,AGEAGE,DEPTDEPT,MNMN,M
10、NMN,SCORESCORE均為非主屬性,經上述分均為非主屬性,經上述分析,存在非主屬性對關系鍵的部分函數依賴,所析,存在非主屬性對關系鍵的部分函數依賴,所以以SCDSCD2NF2NF。而如圖而如圖4.24.2所示的由所示的由SCDSCD分解的三個關系模式分解的三個關系模式S S,D D,SCSC,其中,其中S S的關系鍵為的關系鍵為SNOSNO,D D的關系鍵為的關系鍵為DEPTDEPT,都是單屬性,不可能存在部分函數依賴。都是單屬性,不可能存在部分函數依賴。而對于而對于SCSC,(,(SNOSNO,CNOCNO) SCORESCORE。所以。所以SCDSCD分分解后,消除了非主屬性對關系鍵
11、的部分函數依賴,解后,消除了非主屬性對關系鍵的部分函數依賴,S S,D D,SCSC均屬于均屬于2NF2NF。 f返回返回又如在又如在2.4.22.4.2中,講述全碼的概念時給出的關中,講述全碼的概念時給出的關系模式系模式TCSTCST T,C C,S S),),一個教師可以講授多門課程,一門課程可以為一個教師可以講授多門課程,一門課程可以為多個教師講授,多個教師講授,同樣一個學生可以選聽多門課程,一門課程可同樣一個學生可以選聽多門課程,一門課程可以為多個學生選聽,以為多個學生選聽,(T,C,S)(T,C,S)三個屬性的組合是關系鍵,三個屬性的組合是關系鍵,T,C,ST,C,S都是都是主屬性,
12、而無非主屬性,所以也就不可能存在主屬性,而無非主屬性,所以也就不可能存在非主屬性對關系鍵的部分函數依賴,非主屬性對關系鍵的部分函數依賴,TCSTCS2NF2NF。經以上分析,可以得到兩個結論:經以上分析,可以得到兩個結論:1 1從從1NF1NF關系中消除非主屬性對關系鍵的部分關系中消除非主屬性對關系鍵的部分函數依賴,則可得到函數依賴,則可得到2NF2NF關系。關系。2 2如果如果R R的關系鍵為單屬性,或的關系鍵為單屬性,或R R的全體屬性的全體屬性均為主屬性,則均為主屬性,則R R2NF2NF。 返回返回4.3.2.2 2NF4.3.2.2 2NF規(guī)范化規(guī)范化2NF2NF規(guī)范化是指把規(guī)范化是
13、指把1NF1NF關系模式通過投影分解轉換關系模式通過投影分解轉換成成2NF2NF關系模式的集合。關系模式的集合。分解時遵循的基本原則就是分解時遵循的基本原則就是“一事一地一事一地”,讓一,讓一個關系只描述一個實體或者實體間的聯(lián)系。如果個關系只描述一個實體或者實體間的聯(lián)系。如果多于一個實體或聯(lián)系,則進行投影分解。多于一個實體或聯(lián)系,則進行投影分解。下面以關系模式下面以關系模式SCDSCD為例,來說明為例,來說明2NF2NF規(guī)范化的過規(guī)范化的過程程例例4.1 4.1 將將SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)SCD(SNO,SN,AGE,DEPT,MN,CNO,SCOR
14、E)規(guī)范到規(guī)范到2NF2NF。由由SNOSNSNOSN,SNOAGESNOAGE,SNODEPTSNODEPT,(,(SNOSNO,CNOCNO) SCORESCORE,可以判斷,關系,可以判斷,關系SCDSCD至少描述了兩個實體,至少描述了兩個實體,一個為學生實體,屬性有一個為學生實體,屬性有SNOSNO、SNSN、AGEAGE、DEPTDEPT、MNMN;另一個是學生與課程的聯(lián)系選課),屬性有另一個是學生與課程的聯(lián)系選課),屬性有SNOSNO、CNOCNO和和SCORESCORE。根據分解的原則,我們可以將根據分解的原則,我們可以將SCDSCD分解成如下兩分解成如下兩個關系,如圖個關系,如
15、圖4.54.5所示。所示。 f返回返回SD(SNO,SN,AGE,DEPT,MN),描述學生實體;SC(SNO,CNO,SCORE),描述學生與課程的聯(lián)系。SD SNOSNAGEDEPTMNS1趙亦17計算機劉偉S2錢爾18信息王平S3孫珊20信息王平S4李思21自動化劉偉SC SC SNOCNOSCORES1C190S1C285S2C557S2C680S2C7 S2C570S3C10S3C270S3C485S4C193圖4.5 關系SD和SC 返回返回 對于分解后的兩個關系對于分解后的兩個關系SDSD和和SCSC,主鍵分別為,主鍵分別為SNOSNO和和SNOSNO,CNOCNO),非主屬性對
16、主鍵完全函數依賴。因此,),非主屬性對主鍵完全函數依賴。因此,SDSD2NF2NF,SCSC2NF2NF,而且前面已經討論,而且前面已經討論,SCDSCD的這種分的這種分解沒有丟失任何信息,具有無損連接性。解沒有丟失任何信息,具有無損連接性。 分解后,分解后,SDSD和和SCSC的函數依賴分別如圖的函數依賴分別如圖4.64.6和和4.74.7所示。所示。 SNOSNSNOCNOSCOREAGEDEPTMN圖圖4.6 SD4.6 SD中的函數依賴關系中的函數依賴關系 圖圖4.7 SC4.7 SC中的函數依賴關系中的函數依賴關系 返回返回 1NF1NF的關系模式經過投影分解轉換成的關系模式經過投影
17、分解轉換成2NF2NF后,消除了一后,消除了一些數據冗余。些數據冗余。 分析圖分析圖4.54.5中中SDSD和和SCSC中的數據,可以看出,它們存儲的中的數據,可以看出,它們存儲的冗余度比關系模式冗余度比關系模式SCDSCD有了較大輻度的降低。有了較大輻度的降低。 學生的姓名、年齡不需要重復存儲多次。學生的姓名、年齡不需要重復存儲多次。 這樣便可在一定程度上避免數據更新所造成的數據不這樣便可在一定程度上避免數據更新所造成的數據不一致性的問題。一致性的問題。 由于把學生的基本信息與選課信息分開存儲,則學生由于把學生的基本信息與選課信息分開存儲,則學生基本信息因沒選課而不能插入的問題得到了解決,插
18、基本信息因沒選課而不能插入的問題得到了解決,插入異?,F(xiàn)象得到了部分改善。入異常現(xiàn)象得到了部分改善。 同樣,如果某個學生不再選修同樣,如果某個學生不再選修C1C1課程,只在選課關系課程,只在選課關系SCSC中刪去該該學生選修中刪去該該學生選修C1C1的記錄即可,而的記錄即可,而SDSD中有關該中有關該學生的其它信息不會受到任何影響,也解決了部分刪學生的其它信息不會受到任何影響,也解決了部分刪除異常問題。除異常問題。 因此可以說關系模式因此可以說關系模式SDSD和和SCSC在性能上比在性能上比SCDSCD有了顯著提有了顯著提高。高。 返回返回下面對下面對2NF2NF規(guī)范化作形式化的描述。規(guī)范化作形
19、式化的描述。設關系模式設關系模式R RX,Y,ZX,Y,Z),),R R1NF1NF,但但R R2NF2NF,其中,其中,X X是鍵屬性,是鍵屬性,Y Y,Z Z是非鍵屬性,且存在部分函數依賴,是非鍵屬性,且存在部分函數依賴,X X Y Y。設。設X X可表示為可表示為X1X1、X2X2,其中,其中X1 YX1 Y。則。則R RX X,Y Y,Z Z可以分解可以分解為為RX1RX1,YY和和RXRX,ZZ。因為因為X1YX1Y,所以,所以R(XR(X,Y Y,Z)=RX1Z)=RX1,YY* *RX1RX1,X2X2,Z=RX1Z=RX1,YY* *RXRX,ZZ,即,即R R等于其投影等于其
20、投影RX1RX1,YY和和XX,ZZ在在X1X1上的自然連接,上的自然連接,R R的分解具有的分解具有無損連接性。無損連接性。由于由于X1 YX1 Y,因此,因此RX1RX1,YY2NF2NF。若若RXRX,Z Z 2NF2NF,可以按照上述方,可以按照上述方法繼續(xù)進行投影分解,直到將法繼續(xù)進行投影分解,直到將RXRX,ZZ分解為屬于分解為屬于2NF2NF關系的集合,且這關系的集合,且這種分解必定是有限的。種分解必定是有限的。 pff返回返回4.3.2.3 2NF4.3.2.3 2NF的缺點的缺點2NF2NF的關系模式解決了的關系模式解決了1NF1NF中存在的一些問題,中存在的一些問題,2NF
21、2NF規(guī)范化的程度比規(guī)范化的程度比1NF1NF前進了一步,但前進了一步,但2NF2NF的關系模的關系模式在進行數據操作時,仍然存在著一些問題:式在進行數據操作時,仍然存在著一些問題:1 1數據冗余。每個系名和系主任的名字存儲的次數據冗余。每個系名和系主任的名字存儲的次數等于該系的學生人數。數等于該系的學生人數。2 2插入異常。當一個新系沒有招生時,有關該系插入異常。當一個新系沒有招生時,有關該系的信息無法插入。的信息無法插入。3 3刪除異常。某系學生全部畢業(yè)而沒有招生時,刪除異常。某系學生全部畢業(yè)而沒有招生時,刪除全部學生的記錄也隨之刪除了該系的有關信刪除全部學生的記錄也隨之刪除了該系的有關信
22、息。息。4 4更新異常。更換系主任時,仍需改動較多的學更新異常。更換系主任時,仍需改動較多的學生記錄。生記錄。之所以存在這些問題,是由于在之所以存在這些問題,是由于在SCDSCD中存在著非主中存在著非主屬性對主鍵的傳遞依賴。屬性對主鍵的傳遞依賴。分析分析SCDSCD中的函數依賴關系,中的函數依賴關系,SNOSNSNOSN,SNOAGESNOAGE,SNODEPTSNODEPT,DEPTMNDEPTMN,SNO MNSNO MN,非主屬性,非主屬性MNMN對主鍵對主鍵SNOSNO傳遞依賴。傳遞依賴。為此,對關系模式為此,對關系模式SCDSCD還需進一步簡化,消除這種還需進一步簡化,消除這種傳遞依
23、賴,得到傳遞依賴,得到3NF3NF。 t返回返回4.3.3 4.3.3 第三范式第三范式4.3.3.1 4.3.3.1 第三范式的定義第三范式的定義定義定義4.6 4.6 如果關系模式如果關系模式R R2NF2NF,且每個非,且每個非主屬性都不傳遞依賴于主屬性都不傳遞依賴于R R的每個關系鍵,則的每個關系鍵,則稱稱R R屬于第三范式屬于第三范式Third Normal FormThird Normal Form),),簡稱簡稱3NF3NF,記作,記作R R3NF3NF。第三范式具有如下性質:第三范式具有如下性質:1 1如果如果R R3NF3NF,則,則R R也是也是2NF2NF。返回返回2 2
24、如果如果R R2NF2NF,則,則R R不一定是不一定是3NF3NF。例如,我們前面由關系模式例如,我們前面由關系模式SCDSCD分解而得到的分解而得到的SDSD和和SCSC都為都為2NF2NF,其中,其中,SCSC3NF3NF,但在,但在SDSD中存在著中存在著非主屬性非主屬性MNMN對主鍵對主鍵SNOSNO傳遞依賴,傳遞依賴,SD3NFSD3NF。對于。對于SDSD,應該進一步進行分解,使其轉換成應該進一步進行分解,使其轉換成3NF3NF。 4.3.3.2 3NF4.3.3.2 3NF規(guī)范化規(guī)范化3NF3NF規(guī)范化是指把規(guī)范化是指把2NF2NF關系模式通過投影分解轉換關系模式通過投影分解轉
25、換成成3NF3NF關系模式的集合。關系模式的集合。和和2NF2NF的規(guī)范化時遵循的原則相同,即的規(guī)范化時遵循的原則相同,即“一事一一事一地地”,讓一個關系只描述一個實體或者實體間的,讓一個關系只描述一個實體或者實體間的聯(lián)系。聯(lián)系。下面以下面以2NF2NF關系模式關系模式SDSD為例,來說明為例,來說明3NF3NF規(guī)范化的規(guī)范化的過程。過程。 返回返回例例4.24.2將將SD(SNO,SN,AGE,DEPT,MN)SD(SNO,SN,AGE,DEPT,MN)規(guī)范到規(guī)范到3NF3NF。 分析分析SDSD的屬性組成,可以判斷,關系的屬性組成,可以判斷,關系SDSD實際上實際上描述了兩個實體:描述了兩
26、個實體: 一個為學生實體,屬性有一個為學生實體,屬性有SNOSNO,SNSN,AGEAGE,DEPTDEPT; 另一個是系的實體,其屬性另一個是系的實體,其屬性DEPTDEPT和和MNMN。根據分解的原則,我們可以將根據分解的原則,我們可以將SDSD分解成如下兩個分解成如下兩個關系,如圖關系,如圖4.84.8所示。所示。 S(SNO,SN,AGE,DEPT)S(SNO,SN,AGE,DEPT),描述學生實體;,描述學生實體; D(DEPTD(DEPT,MN)MN),描述系的實體。,描述系的實體。 返回返回S DS DDEPTMN計算機劉偉信息王平自動化劉偉SNOSNAGEDEPTS1趙亦17計
27、算機S2錢爾18信息S3孫珊20信息S4李思21自動化對于分解后的兩個關系S和D,主鍵分別為SNO和DEPT,不存在非主屬性對主鍵的傳遞函數依賴。因此,S3NF,D3NF。圖圖4.8 4.8 關系關系S S和和D D 返回返回 分解后,分解后,S S和和D D的函數依賴分別如圖的函數依賴分別如圖4.94.9和和4.104.10所示。所示。SNOSNDEPTAGEDEPTMN圖圖4.9 S4.9 S中的函數依賴關系圖中的函數依賴關系圖圖圖4.10 D4.10 D中的函數依賴關系圖中的函數依賴關系圖由以上兩圖可以看出,關系模式SD由2NF分解為3NF后,函數依賴關系變得更加簡單,既沒有非主屬性對鍵
28、的部分依賴,也沒有非主屬性對鍵的傳遞依賴,解決了2NF中存在的四個問題。返回返回1數據冗余降低。系主任的名字存儲的次數與該系的學生人數無關,只在關系D中存儲一次。2不存在插入異常。當一個新系沒有學生時,該系的信息可以直接插入到關系D中,而與學生關系S無關。3不存在刪除異常。要刪除某系的全部學生而仍然保留該系的有關信息時,可以只刪除學生關系S中的相關學生記錄,而不影響系關系D中的數據。 4不存在更新異常。更換系主任時,只需修改關系D中一個相應元組的MN屬性值,從而不會出現(xiàn)數據的不一致現(xiàn)象。SCD規(guī)范到3NF后,所存在的異?,F(xiàn)象已經全部消失。但是,3NF只限制了非主屬性對鍵的依賴關系,而沒有限制主
29、屬性對鍵的依賴關系。如果發(fā)生了這種依賴,仍有可能存在數據冗余、插入異常、刪除異常和修改異常。這時,則需對3NF進一步規(guī)范化,消除主屬性對鍵的依賴關系,為了解決這種問題,Boyce與Codd共同提出了一個新范式的定義,這就是Boyce-Codd范式,通常簡稱BCNF或BC范式。它彌補了3NF的不足。返回返回4.3.4 BC4.3.4 BC范式范式4.3.4.1 BC4.3.4.1 BC范式的定義范式的定義定義定義4.7 4.7 如果關系模式如果關系模式R R1NF1NF,且所有的,且所有的函數依賴函數依賴XYXYY XY X), ,決定因素決定因素X X都包都包含了含了R R的一個候選鍵,則稱的
30、一個候選鍵,則稱R R屬于屬于BCBC范式范式Boyce-Codd Normal FormBoyce-Codd Normal Form),記作),記作R RBCNFBCNF。BCNFBCNF具有如下性質:具有如下性質:1 1滿足滿足BCNFBCNF的關系將消除任何屬性主屬的關系將消除任何屬性主屬性或非主屬性對鍵的部分函數依賴和性或非主屬性對鍵的部分函數依賴和傳遞函數依賴。也就是說,如果傳遞函數依賴。也就是說,如果R RBCNFBCNF,則則R R也是也是3NF3NF。證明:采用反證法。設證明:采用反證法。設R R不是不是3NF3NF。則必然。則必然存在如下條件的函數依賴,存在如下條件的函數依賴
31、,XYXYY Y X X),),YZYZ,其中,其中X X是鍵屬性,是鍵屬性,Y Y是任意屬是任意屬性組,性組,Z Z是非主屬性,是非主屬性,Z YZ Y,這樣,這樣YZYZ函函數依賴的決定因素數依賴的決定因素Y Y不包含候選鍵,這與不包含候選鍵,這與BCNFBCNF范式的定義相矛盾,所以如果范式的定義相矛盾,所以如果R RBCNFBCNF,則,則R R也是也是3NF3NF。 返回返回2 2如果如果R R3NF3NF,則,則R R不一定是不一定是BCNFBCNF?,F(xiàn)舉例說明。設關系模式現(xiàn)舉例說明。設關系模式SNCSNCSNOSNO,SNSN,CN0CN0,SCORESCORE),其中),其中S
32、NOSNO代代表學號,表學號,SNSN代表學生姓名并假設沒有重名,代表學生姓名并假設沒有重名,CNOCNO代表課程號,代表課程號,SCORESCORE代表成績??梢耘卸ǎ沓煽?。可以判定,SNCSNC有兩個候選鍵有兩個候選鍵SNOSNO,CNOCNO和和SNSN,CNOCNO),其函數依賴如下:),其函數依賴如下: SNO SNSNO SN(SNOSNO,CNOCNO)SCORESCORE(SNSN,CNOCNO)SCORESCORE。唯一的非主屬性唯一的非主屬性SCORESCORE對鍵不存在部分函數依賴,也不存在傳遞函數對鍵不存在部分函數依賴,也不存在傳遞函數依賴。所以依賴。所以SNCSN
33、C3NF3NF。但是,因為但是,因為SNO SNSNO SN,即決定因素,即決定因素SNOSNO或或SNSN不包含候選鍵,從另一個不包含候選鍵,從另一個角度說,存在著主屬性對鍵的部分函數依賴:角度說,存在著主屬性對鍵的部分函數依賴: (SNOSNO,CNOCNO) SNSN,(,(SNSN,CNOCNO) SNOSNO,所以,所以SNCSNC不是不是BCNFBCNF。正是存在著這種主屬性對鍵的部分函數依賴關系,造成了關系正是存在著這種主屬性對鍵的部分函數依賴關系,造成了關系SNCSNC中中存在著較大的數據冗余,學生姓名的存儲次數等于該生所選的課存在著較大的數據冗余,學生姓名的存儲次數等于該生所
34、選的課程數。從而會引起修改異常。程數。從而會引起修改異常。比如,當要更改某個學生的姓名時,則必須搜索出現(xiàn)該姓名的每個比如,當要更改某個學生的姓名時,則必須搜索出現(xiàn)該姓名的每個學生記錄,并對其姓名逐一修改,這樣容易造成數據的不一致問學生記錄,并對其姓名逐一修改,這樣容易造成數據的不一致問題。題。解決這一問題的辦法仍然是通過投影分解進一步提高解決這一問題的辦法仍然是通過投影分解進一步提高SNCSNC的范式等級,的范式等級,將將SNCSNC規(guī)范到規(guī)范到BCNFBCNF。 p p返回返回4.3.4.2 BCNF4.3.4.2 BCNF規(guī)范化規(guī)范化BCNFBCNF規(guī)范化是指把規(guī)范化是指把3NF3NF關系
35、模式通過投影分解轉關系模式通過投影分解轉換成換成BCNFBCNF關系模式的集合。關系模式的集合。下面以下面以3NF3NF關系模式關系模式SNCSNC為例,來說明為例,來說明BCNFBCNF規(guī)范化規(guī)范化的過程。的過程。例例4.34.3將將SNC(SNO,SN,CNOSNC(SNO,SN,CNO,SCORE)SCORE)規(guī)范到規(guī)范到BCNFBCNF。分析分析SNCSNC數據冗余的原因,是因為在這一個關系數據冗余的原因,是因為在這一個關系中存在兩個實體,一個為學生實體,屬性有中存在兩個實體,一個為學生實體,屬性有SNOSNO、SNSN;另一個是選課實體,屬性有;另一個是選課實體,屬性有SNOSNO、
36、CNOCNO和和SCORESCORE。根據分解的原則,我們可以將根據分解的原則,我們可以將SNCSNC分解成如下兩分解成如下兩個關系:個關系:S1(SNO,SN)S1(SNO,SN),描述學生實體;,描述學生實體;S2(SNO,CNO,SCORE)S2(SNO,CNO,SCORE),描述學生與課程的聯(lián)系。,描述學生與課程的聯(lián)系。對于對于S1S1,有兩個候選鍵,有兩個候選鍵SNOSNO和和SNSN,對于對于S2S2,主鍵為,主鍵為SNOSNO,CNOCNO)。)。在這兩個關系中,無論主屬性還是非主屬性都不在這兩個關系中,無論主屬性還是非主屬性都不存在對鍵的部分依賴和傳遞依賴,存在對鍵的部分依賴和
37、傳遞依賴,S1S1BCNFBCNF,S2S2BCNFBCNF。 返回返回分解后,分解后,S1S1和和S2S2的函數依賴分別如圖的函數依賴分別如圖4.114.11和和4.124.12所示。所示。SNOSNSNOCNOSCORE圖圖4.11 S14.11 S1中的函數依賴關系中的函數依賴關系 圖圖4.12 S24.12 S2中的函數依賴關系中的函數依賴關系 關系SNC轉換成BCNF后,數據冗余度明顯降低。學生的姓名只在關系S1中存儲一次,學生要改名時,只需改動一條學生記錄中的相應的SN值,從而不會發(fā)生修改異常。 返回返回例例4.44.4設關系模式設關系模式TCSTCST T,C C,S S),),
38、T T表示教師,表示教師,C C表示課程,表示課程,S S表表示學生。語義假設是,每一位教師只講授一門課程;每門課程由示學生。語義假設是,每一位教師只講授一門課程;每門課程由多個教師講授;某一學生選定某門課程,就對應于一確定的教師。多個教師講授;某一學生選定某門課程,就對應于一確定的教師。根據語義假設,根據語義假設,TCSTCS的函數依賴是:的函數依賴是:(S S,C C)TT,(,(S S,T T)CC,TCTC。函數依賴圖如圖函數依賴圖如圖4.134.13所示。所示。 SCTSTC4.13 TCS4.13 TCS中的函數依賴關系中的函數依賴關系 返回返回對于對于TCSTCS,(,(S S,
39、C C和和S S,T T都是候選鍵,兩個候選鍵相交,有都是候選鍵,兩個候選鍵相交,有公共的屬性公共的屬性S S。TCSTCS中不存在非主屬性,也就不可能存在非主屬性對中不存在非主屬性,也就不可能存在非主屬性對鍵的部分依賴或傳遞依賴,所以鍵的部分依賴或傳遞依賴,所以TCSTCS3NF3NF。但從但從TCSTCS的一個關系實例如圖的一個關系實例如圖4.144.14分析,仍存在一些問題。分析,仍存在一些問題。 TCST1C1S1T1C1S2T2C1S3T2C1S4T3C2S2T4C2S2T4C3S2圖圖4.14 4.14 關系關系TCS TCS 返回返回1 1數據冗余。雖然每個教師只開一門課,但每個
40、選修該數據冗余。雖然每個教師只開一門課,但每個選修該教師該該門課程的學生元組都要記錄這一信息。教師該該門課程的學生元組都要記錄這一信息。2 2插入異常。當某門課程本學期不開,自然就沒有學生插入異常。當某門課程本學期不開,自然就沒有學生選修。沒有學生選修,因為主屬性不能為空,教師上選修。沒有學生選修,因為主屬性不能為空,教師上該門課程的信息就無法插入。同樣原因,學生剛入校該門課程的信息就無法插入。同樣原因,學生剛入校, ,尚未選課,有關信息也不能輸入。尚未選課,有關信息也不能輸入。3 3刪除異常。如果選修某門課程的學生全部畢業(yè),刪除刪除異常。如果選修某門課程的學生全部畢業(yè),刪除學生記錄的同時學生記錄的同時, ,隨之也刪除了教師開設該門課程的信隨之也刪除了教師開設該門課程的信息。息。4 4更新異常。當某個教師開設的某門課程改名后,所有更新異常。當某個教師開設的某門課程改名后,所有選修
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國快殺螟數據監(jiān)測研究報告
- 鋼結構公司2025年度鋼結構建筑安全風險評估與防控合同
- 二零二五年度新能源汽車電池研發(fā)合同解除協(xié)議
- 二零二五年度房產買賣合同代簽服務授權書
- 第二章 第1節(jié) 生物與非生物 教學設計教學反思-2023-2024學年浙教版科學七年級上冊
- 二零二五年度美容院美容美發(fā)入股合同
- 二零二五年度架子工勞務分包施工安全風險評估與管理合同
- 餐飲企業(yè)二零二五年度員工入職勞動合同及員工福利保障協(xié)議
- 二零二五年度家庭成員財產分配及遺產分割協(xié)議
- 第19課《蘇州園林》教學設計- 2024-2025學年統(tǒng)編版語文八年級上冊
- 血液凈化治療臨床應用進展
- (正式版)FZ∕T 63001-2024 縫紉線用滌綸本色紗線
- 《財務管理學(第10版)》課件 第5、6章 長期籌資方式、資本結構決策
- 單位定點洗車協(xié)議書
- 留置導尿法操作評分標準
- CJJ-T67-2015風景園林制圖標準
- 《氨制冷企業(yè)安全規(guī)范》AQ7015-2018
- 咖啡學概論智慧樹知到期末考試答案章節(jié)答案2024年華南理工大學
- 醫(yī)院門診醫(yī)生績效考核標準及評分細則
- 遼寧省沈陽市名校2024年中考物理模擬試題含解析
- 歷史類常識考試100題及完整答案
評論
0/150
提交評論