SQL語言教程第6章.ppt
第6章關(guān)系數(shù)據(jù)庫理論,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),本章主要內(nèi)容,關(guān)系數(shù)據(jù)模型以關(guān)系數(shù)據(jù)理論為基礎(chǔ),這使得我們可以判斷一個(gè)關(guān)系模型的“好”與“壞”,可以依據(jù)關(guān)系數(shù)據(jù)理論設(shè)計(jì)出好的關(guān)系模型。本章主要介紹函數(shù)依賴、模式分解和關(guān)系規(guī)范化等內(nèi)容,討論什么樣的關(guān)系是“壞”的關(guān)系,如何將“壞”的關(guān)系轉(zhuǎn)換為“好”的關(guān)系等。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),本章學(xué)習(xí)目標(biāo),理解函數(shù)依賴、及其相應(yīng)的概念和術(shù)語;掌握模式分解的準(zhǔn)則;理解關(guān)系范式的定義,掌握關(guān)系規(guī)范化的方法。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),本章重點(diǎn)和難點(diǎn),重點(diǎn):圍繞函數(shù)依賴的概念、理解和掌握關(guān)系規(guī)范化的方法,為以后設(shè)計(jì)關(guān)系數(shù)據(jù)庫奠定一個(gè)良好基礎(chǔ)。難點(diǎn):理解最小等價(jià)集的概念。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.1函數(shù)依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),函數(shù)依賴,Y=f(X),函數(shù),Y=sin(X),Y=X+1,Y=X2+2X+1,省=f(城市),姓名=f(學(xué)號(hào)),?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),函數(shù)依賴的直觀定義:,如果有一個(gè)關(guān)系模式R(A1,A2,An),X和Y為A1,A2,An的子集,那么對(duì)于關(guān)系R中的任意一個(gè)X值,都只有一個(gè)Y值與之對(duì)應(yīng),則稱X函數(shù)決定Y,或Y函數(shù)依賴于X。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),例:院系(編號(hào),名稱,負(fù)責(zé)人,地點(diǎn)),有函數(shù)依賴:,編號(hào)名稱(名稱函數(shù)依賴于編號(hào))編號(hào)負(fù)責(zé)人(負(fù)責(zé)人函數(shù)依賴于編號(hào))名稱地點(diǎn)(地點(diǎn)函數(shù)依賴于名稱)名稱編號(hào)(編號(hào)函數(shù)依賴于名稱),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),函數(shù)依賴的嚴(yán)格形式化定義:,設(shè)有關(guān)系模式R(A1,A2,An),X和Y均為A1,A2,An的子集,r是R的任一具體關(guān)系,t1、t2是r中的任意兩個(gè)元組;如果由t1X=t2X可以推導(dǎo)出t1Y=t2Y,則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為XY。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.1.2為什么要討論函數(shù)依賴,數(shù)據(jù)冗余問題數(shù)據(jù)更新問題數(shù)據(jù)插入問題數(shù)據(jù)刪除問題,存在什么問題?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),如何將“壞”的關(guān)系模式轉(zhuǎn)換成“好”的關(guān)系模式?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.1.3術(shù)語和符號(hào),非平凡函數(shù)、平凡函數(shù)依賴不函數(shù)依賴于決定因素關(guān)系模式主屬性、非主屬性函數(shù)等價(jià)完全函數(shù)依賴、部分函數(shù)依賴傳遞函數(shù)依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:非平凡函數(shù)、平凡函數(shù)依賴,如果XY,但Y不包含于X,則稱XY是非平凡的函數(shù)依賴。,如:(學(xué)號(hào),課程號(hào))成績(jī),如:(學(xué)號(hào),學(xué)院)學(xué)院,非平凡依賴,平凡依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),舉例:,關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,年齡)(學(xué)號(hào),姓名)姓名函數(shù)依賴學(xué)號(hào)姓名函數(shù)依賴,平凡,非平凡,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:不函數(shù)依賴于,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:決定因素,如果XY,則X稱作決定因素。,如學(xué)號(hào)學(xué)院,則學(xué)號(hào)稱作決定因素,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),用U表示關(guān)系模式R的屬性全集,即U=A1,A2,An,用F表示關(guān)系模式R上的函數(shù)依賴集,則關(guān)系模式R可表示為R(U,F)。,關(guān)系模式,如U=編號(hào),名稱,負(fù)責(zé)人,地點(diǎn)F=編號(hào)負(fù)責(zé)人,編號(hào)地點(diǎn),編號(hào)名稱,名稱編號(hào)則R(U,F)表示院系關(guān)系,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:主屬性、非主屬性,如果K是關(guān)系模式R(U,F)的任一候選關(guān)鍵字,X是任一屬性或?qū)傩约绻鸛K,則X稱為主屬性;否則稱為非主屬性。,因?yàn)?學(xué)號(hào),課程號(hào))是選課關(guān)系的關(guān)鍵字,所以學(xué)號(hào)和課程號(hào)均是主屬性,而成績(jī)?yōu)榉侵鲗傩浴?例如:選課(學(xué)號(hào),課程號(hào),成績(jī)),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:函數(shù)等價(jià),如果XY,并且YX,則可記作XY,這時(shí)X和Y可以稱做函數(shù)等價(jià)。,如在院系關(guān)系上:編號(hào)名稱,名稱編號(hào)所以在院系關(guān)系上編號(hào)和名稱可以稱作函數(shù)等價(jià)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),如:(學(xué)號(hào),課程號(hào))成績(jī)完全函數(shù)依賴,而:(學(xué)號(hào),院系)負(fù)責(zé)人部分函數(shù)依賴,術(shù)語:完全函數(shù)依賴、部分函數(shù)依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),舉例:,1、如果在關(guān)系模式R(A,B,C)中存在(A,B)C和BC,則(A,B)C為函數(shù)依賴。2、如果在關(guān)系模式R(A,B,C)中存在(A,B)C但不存在BC和AC,則(A,B)C為函數(shù)依賴。,部分,完全,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:傳遞函數(shù)依賴,如學(xué)號(hào)專業(yè),專業(yè)院系,則院系傳遞函數(shù)依賴于學(xué)號(hào)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),舉例:,如果在關(guān)系模式R(A,B,C)中存在AC且存在AB,BC,則AC為函數(shù)依賴,傳遞,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),練習(xí),已知關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,院系,負(fù)責(zé)人),判斷下列函數(shù)依賴的類型?學(xué)號(hào)姓名學(xué)號(hào)院系學(xué)號(hào)負(fù)責(zé)人,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.1.4函數(shù)依賴的邏輯蘊(yùn)涵,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),1.邏輯蘊(yùn)涵,函數(shù)邏輯蘊(yùn)涵的定義:設(shè)有關(guān)系模式R(U,F),XU、YU,如果從F中的函數(shù)依賴能夠推導(dǎo)出XY,則稱F邏輯蘊(yùn)涵XY,或稱XY是F的邏輯蘊(yùn)涵。,例如有關(guān)系模式R(U,F),U=A,B,C,F(xiàn)=AB,BC,問AC是否成立?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),2.推理規(guī)則,設(shè)有關(guān)系模式R(U,F),X、Y、Z均為U的子集,有如下推理規(guī)則:自反律:如果YX,則XY;增廣律:如果XY,則XZYZ;傳遞律:如果XY、YZ,則XZ。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),以上推理規(guī)則還有如下3條推論:合并規(guī)則:如果XY、XZ,則XYZ。分解規(guī)則:如果XYZ,則XY、XZ。偽傳遞規(guī)則:如果XY、YWZ,則XWZ。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),3.函數(shù)依賴集閉包,在關(guān)系模式R(U,F)中,被F所邏輯蘊(yùn)涵的函數(shù)依賴的全體稱作F的閉包,記為F+,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),閉包計(jì)算舉例,假設(shè)有關(guān)系模式F=AB,BCF+=?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),4.函數(shù)依賴集等價(jià),設(shè)F和G是兩個(gè)函數(shù)依賴集,如果和同時(shí)成立,即,則稱F和G等價(jià)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),5.最小函數(shù)依賴等價(jià)集,如果函數(shù)依賴集F滿足如下條件,則稱F為一個(gè)最小函數(shù)依賴集:F中任一函數(shù)依賴的右部都僅含有一個(gè)屬性;F中不存在這樣的函數(shù)依賴XA,X有真子集Z,使得F與F-XAZA等價(jià);F中不存在這樣的函數(shù)依賴XA,使得F與F-XA等價(jià)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),例:假設(shè)有屬性集U=A,B,C,D,E,函數(shù)依賴集F=AB,BC,ADE和函數(shù)依賴集G=AB,AC,BC,ADE,問F和G是否是最小函數(shù)依賴集?,答案:F是最小依賴集,G不是最小依賴集。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),思考題,在你熟悉的領(lǐng)域列舉一些關(guān)系,并討論這些關(guān)系上的函數(shù)依賴。用函數(shù)依賴的形式化定義證明6.1.4所給出的推理規(guī)則(自反律、增廣律和傳遞律)。用6.1.4所給出的推理規(guī)則(自反律、增廣律和傳遞律)證明6.1.4所給出的三條推論(合并規(guī)則、分解規(guī)則和偽傳遞規(guī)則)。設(shè)有關(guān)系模式R(U,F),U=A,B,C,D,E,F(xiàn)=ABE,DEB,BC,CE,EA,能否找出一個(gè)它的最小等價(jià)集?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.2模式分解,“壞”的關(guān)系模式,“好”的關(guān)系模式,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.2.1模式分解的準(zhǔn)則,模式分解具有無損連接性;無損連接是指分解后的關(guān)系通過自然連接可以恢復(fù)成原來的關(guān)系。模式分解能夠保持函數(shù)依賴。保持函數(shù)依賴分解是指在模式的分解過程中,函數(shù)依賴不能丟失的特性,即模式分解不能破壞原來的語義。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),舉例,有關(guān)系模式R(U,F),假設(shè)將其分解為:R1(U1,F1)和R2(U2,F2),其中U=U1U2,F(xiàn)+=(F1F2)+,這個(gè)分解是保持函數(shù)依賴的。是否保證無損連接分解?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),無損連接的形式定義,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),判斷一個(gè)分解是否具有無損連接特性可以用如下法則:關(guān)系模式R分解為R1和R2是無損連接分解的充分必要條件是:R1R2R1-R2或R1R2R2R1,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),保持函數(shù)依賴的形式定義:,若,則R(U,F)的分解=R1(U1,F1),Rk(Uk,Fk)保持函數(shù)依賴。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.2.2模式分解舉例,設(shè)有關(guān)系模式R(U,F),U=課程,教師,學(xué)院,F(xiàn)=課程教師,教師學(xué)院,從F中可以看出,一門課程只能由一名教師負(fù)責(zé),一名教師只能屬于一個(gè)學(xué)院。設(shè)有如表6-2所示的關(guān)系實(shí)例r,判斷如下的三個(gè)分解是否滿足無損連接和保持函數(shù)依賴的特性:,1=R1(課程,),R2(教師,),R3(學(xué)院,),2=R1(課程,教師,課程教師),R2(課程,學(xué)院,課程學(xué)院),3=R1(課程,教師,課程教師),R2(教師,學(xué)院,教師學(xué)院),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),思考題,模式分解為什么要保證無損連接和保持函數(shù)依賴?模式分解的目的就是要消除那些“不好”的函數(shù)依賴,為什么又說是保持函數(shù)依賴呢?如何判斷一個(gè)模式分解是保持函數(shù)依賴的?如何判斷一個(gè)模式分解是無損連接的?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.3關(guān)系規(guī)范化,目的是要設(shè)計(jì)“好的”關(guān)系數(shù)據(jù)庫模式。關(guān)系模式分為:第一范式第二范式第三范式BC范式第四范式第五范式,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第一范式,每個(gè)關(guān)系模式都應(yīng)滿足最低要求:所有分量都必須是不可分的最小數(shù)據(jù)項(xiàng),并把其稱為第一范式(1NF)關(guān)系。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),非規(guī)范化表格和規(guī)范化表格,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第二范式,如果R(U,F)1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于關(guān)鍵字,則R(U,F)2NF。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第二范式,判斷關(guān)系模式是否滿足2NF的方法?主關(guān)鍵字為單個(gè)屬性時(shí):一定為2NF主關(guān)鍵字為多個(gè)屬性時(shí):如果每個(gè)非主屬性組都完全依賴于主關(guān)鍵字,則為2NF;否則不是2NF。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),不滿足第二范式,因?yàn)榇嬖诓糠趾瘮?shù)依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),把“選課”關(guān)系分解為如下“選課”和“課程”兩個(gè)關(guān)系:選課(學(xué)號(hào),課程號(hào),考試成績(jī))課程(課程號(hào),課程名,責(zé)任教師,職稱),存儲(chǔ)冗余、插入異常、更新異常、刪除異常等現(xiàn)象是否還存在呢?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,如果R(U,F)2NF,并且所有非主屬性都不傳遞依賴于關(guān)鍵字,則R(U,F)3NF。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,例如:已知關(guān)系模式R(A,B,C)中存在BC則此關(guān)系模式一定滿足?NF,2,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,例如:已知關(guān)系模式R(A,B,C)中不存在BC且CB則此關(guān)系模式一定滿足?NF,3,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,例如:已知關(guān)系模式R(A,B,C)則此關(guān)系模式一定滿足?NF,3,特殊情況,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,如果一個(gè)關(guān)系模式滿足2NF,判斷關(guān)系模式是否滿足3NF的根本是判斷非主屬性之間是否有函數(shù)依賴。若有,則不滿足3NF;若無,則滿足3NF。如果一個(gè)關(guān)系模式滿足2NF,并且它最多只有一個(gè)非主屬性,則一定滿足3NF。如果一個(gè)關(guān)系模式滿足1NF,并且沒有非主屬性,則一定滿足3NF,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),滿足3NF么?,存在操作異常嗎?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),把表6-6所示意的課程關(guān)系分解成如下兩個(gè)關(guān)系:課程(課程號(hào),課程名,責(zé)任教師)教師(教師,職稱),滿足3NF么?,操作異常還存在嗎?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.3.4BC范式,第三范式實(shí)際上已經(jīng)解決了大部分操作異?,F(xiàn)象,但是有些關(guān)系模式可能還會(huì)出現(xiàn)這樣或者那樣的問題。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),假設(shè)有如下關(guān)系模式:R(教師,教室,課程)并且它所包含的語義是:一名教師可以負(fù)責(zé)多門課程;一門課程僅由一名教師負(fù)責(zé);每個(gè)教師在一個(gè)教室只能上一門課程(但是一門課程不同時(shí)間會(huì)在不同教室上)。,根據(jù)以上的語義關(guān)系模式R上的函數(shù)依賴有:課程教師(教師,教室)課程,所以R3NF,不存在非主屬性對(duì)主關(guān)鍵字的部分函數(shù)依賴和傳遞函數(shù)依賴,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),給出以下幾組數(shù)據(jù),第一組數(shù)據(jù)假設(shè)教師T1負(fù)責(zé)課程C1、C2、C3,并且C1課程使用教室M1和M4等:T1C1M1,M4C2M3,M6C3M2,M5,M7,第二組數(shù)據(jù)假設(shè)教師T2負(fù)責(zé)課程C4、C5,并且C4課程使用教室M1、M3和M4等:T2C4M1,M3,M4C5M2,M6,第三組數(shù)據(jù)假設(shè)教師T3負(fù)責(zé)課程C6、C7,并且C6課程使用教室M2和M3等:T3C6M2,M3C7M4,將這些數(shù)據(jù)排列成關(guān)系?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),是否存在操作異?,F(xiàn)象?,原因:存在一個(gè)主屬性對(duì)非主屬性的函數(shù)依賴(課程教師),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),BC范式定義:,關(guān)系模式R(U,F)1NF,XY是F上的任意函數(shù)依賴,并且YX,XU,則R(U,F)BCNF。,換句話說,如果R(U,F)中的每個(gè)函數(shù)依賴的左部都是關(guān)鍵字(或所有的決定因素都是關(guān)鍵字),則R(U,F)BCNF。,也可以說,如果R(U,F)3NF,并且不存在主屬性對(duì)非主屬性的函數(shù)依賴,則R(U,F)BCNF。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),為了解決操作異?,F(xiàn)象如何進(jìn)行分解?,任何分解都會(huì)破壞函數(shù)依賴:(教師,教室)課程結(jié)論:不將3NF分解成BCNF!,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),BC范式是判斷一個(gè)關(guān)系規(guī)范化程度的準(zhǔn)則,如果一個(gè)關(guān)系是3NF但不是BCNF,此時(shí)也不再進(jìn)行分解,而是要注意可能會(huì)產(chǎn)生的操作異常現(xiàn)象。,如何解決?,使用觸發(fā)器如何?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.3.5規(guī)范化算法,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),對(duì)R(U,F(xiàn))中的F進(jìn)行最小化處理,即計(jì)算F的最小覆蓋,并將最小等價(jià)依賴集仍然記為F;若有XA,并且XA=U,則=R,算法終止;找出不在F中出現(xiàn)的屬性(即與F中任意函數(shù)依賴的左部和右部都無關(guān)的屬性),把這樣的屬性構(gòu)成一個(gè)關(guān)系模式R0(U0,),并把U0從U中去掉,剩余的屬性仍然記為U;對(duì)F按具有相同左部的原則進(jìn)行分組(假定分為k組),每一組函數(shù)依賴Fi所涉及的全部屬性形成屬性集Ui,若UiUj(ij),就去掉Ui;經(jīng)過以上步驟得到的分解=R0,R1,Rk(R0可能為空,1k可能不連續(xù))構(gòu)成R的一個(gè)保持函數(shù)依賴的分解,并且每個(gè)Ri均為3NF;設(shè)X是R(U,F(xiàn))的關(guān)鍵字,并令=RX(X,F(xiàn)X);若對(duì)某個(gè)Ui,如果XUi,則將RX從中去掉,或UiX,則將Ri從中去掉;最后就是所求分解。,3NF保持函數(shù)依賴和無損連接的分解算法,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),以表6-1的“選課”關(guān)系為例,已知:U=學(xué)號(hào),課程號(hào),課程名,責(zé)任教師,職稱,考試成績(jī)具體分解過程:(1)計(jì)算F的最小等價(jià)集:F=(學(xué)號(hào),課程號(hào))考試成績(jī),課程號(hào)課程名,課程號(hào)責(zé)任教師,責(zé)任教師職稱(2)無影響(3)無影響(4)按相同左部進(jìn)行分組得到如下結(jié)果:F1=(學(xué)號(hào),課程號(hào))考試成績(jī)F2=課程號(hào)課程名,課程號(hào)責(zé)任教師F3=責(zé)任教師職稱,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),以表6-1的“選課”關(guān)系為例續(xù),(5)按照以上分組可以得到如下分解結(jié)果:選課(學(xué)號(hào),課程號(hào),考試成績(jī))課程(課程號(hào),課程名,責(zé)任教師)教師(責(zé)任教師,職稱)(6)無影響(7)無影響所以以上分解就是3NF無損連接和保持函數(shù)依賴分解,結(jié)果和我們前面的討論是一致的。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),設(shè)有關(guān)系模式R(U,F),其中U=A,B,C,F(xiàn)=ABC,BC,請(qǐng)問該關(guān)系模式是第幾范式,并使用三范式無損連接模式分解算法規(guī)范化該關(guān)系模式。,第1范式(1)最小覆蓋F=BC(2)無影響(3)R0(A,)(4)不存在分組問題(5)=R0(A,),R1(B,C,BC)Rx(AB,)=RX(X,F(xiàn)X)=R0(A,),R1(B,C,BC),Rx(AB,)(7)U0X,則將R0從中去掉;(8)分解結(jié)果:R1(B,C,BC),Rx(AB,),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),6.3.6規(guī)范化小結(jié),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),關(guān)于模式分解的幾個(gè)重要結(jié)論,如果要求分解保持函數(shù)依賴,那么模式分解總可以達(dá)到3NF,但是不一定能達(dá)到BCNF;如果要求分解具有無損連接的特性,那么一定可以達(dá)到BCNF;如果要求分解既保持函數(shù)依賴、又具有無損連接的特性,那么分解可以達(dá)到3NF,但是不一定能達(dá)到BCNF。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),思考題,列舉幾個(gè)不是第二范式的關(guān)系,并說明它們?yōu)槭裁床皇堑诙妒?,然后討論在這樣的關(guān)系上存在的操作異?,F(xiàn)象,最后把它們轉(zhuǎn)換成第二范式關(guān)系。列舉幾個(gè)不是第三范式的關(guān)系,并說明它們?yōu)槭裁床皇堑谌妒?,然后討論在這樣的關(guān)系上存在的操作異常現(xiàn)象,最后把它們轉(zhuǎn)換成第三范式關(guān)系。列舉幾個(gè)第三范式、但不是BC范式的關(guān)系,并說明它們?yōu)槭裁床皇荁C范式,然后討論在這樣的關(guān)系上存在的操作異?,F(xiàn)象,最后是否要把它們轉(zhuǎn)換成BC范式關(guān)系?設(shè)有關(guān)系模式R(U,F),其中U=A,B,C,F(xiàn)=BC:(1)關(guān)系模式R(U,F)是第幾范式?為什么?(2)試用6.3.5給出的3NF保持函數(shù)依賴和無損連接的分解算法對(duì)關(guān)系模式R(U,F)進(jìn)行分解(要求有詳細(xì)步驟)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),本章總結(jié),函數(shù)依賴、函數(shù)依賴的邏輯蘊(yùn)涵、推理規(guī)則、函數(shù)依賴集等價(jià)和最小函數(shù)依賴集的概念。模式分解及其需要遵守的特性。關(guān)系規(guī)范化。,