SQL語言教程第6章.ppt
《SQL語言教程第6章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《SQL語言教程第6章.ppt(72頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第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è)元組;如果由t1[X]=t2[X]可以推導(dǎo)出t1[Y]=t2[Y],則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。,數(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ù)依賴,如果X→Y,但Y不包含于X,則稱X→Y是非平凡的函數(shù)依賴。,如:(學(xué)號(hào),課程號(hào))→成績,如:(學(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ù)語:決定因素,如果X→Y,則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)均是主屬性,而成績?yōu)榉侵鲗傩浴?例如:選課(學(xué)號(hào),課程號(hào),成績),數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),術(shù)語:函數(shù)等價(jià),如果X→Y,并且Y→X,則可記作X←→Y,這時(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))→成績完全函數(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和B→C,則(A,B)→C為函數(shù)依賴。2、如果在關(guān)系模式R(A,B,C)中存在(A,B)→C但不存在B→C和A→C,則(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)中存在A→C且存在A→B,B→C,則A→C為函數(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)出X→Y,則稱F邏輯蘊(yùn)涵X→Y,或稱X→Y是F的邏輯蘊(yùn)涵。,,,例如有關(guān)系模式R(U,F),U={A,B,C},F(xiàn)={A→B,B→C},問A→C是否成立?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),2.推理規(guī)則,設(shè)有關(guān)系模式R(U,F),X、Y、Z均為U的子集,有如下推理規(guī)則:自反律:如果YX,則X→Y;增廣律:如果X→Y,則XZ→YZ;傳遞律:如果X→Y、Y→Z,則X→Z。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),以上推理規(guī)則還有如下3條推論:合并規(guī)則:如果X→Y、X→Z,則X→YZ。分解規(guī)則:如果X→YZ,則X→Y、X→Z。偽傳遞規(guī)則:如果X→Y、YW→Z,則XW→Z。,數(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={A→B,B→C}F+=?,數(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ù)依賴X→A,X有真子集Z,使得F與F-{X→A}∪{Z→A}等價(jià);F中不存在這樣的函數(shù)依賴X→A,使得F與F-{X→A}等價(jià)。,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),例:假設(shè)有屬性集U={A,B,C,D,E},函數(shù)依賴集F={A→B,B→C,AD→E}和函數(shù)依賴集G={A→B,A→C,B→C,AD→E},問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)={AB→E,DE→B,B→C,C→E,E→A},能否找出一個(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=U1∪U2,F(xiàn)+=(F1∪F2)+,這個(gè)分解是保持函數(shù)依賴的。是否保證無損連接分解?,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),無損連接的形式定義,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),判斷一個(gè)分解是否具有無損連接特性可以用如下法則:關(guān)系模式R分解為R1和R2是無損連接分解的充分必要條件是:R1∩R2→R1-R2或R1∩R2→R2–R1,數(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),考試成績)課程(課程號(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)中存在B→C則此關(guān)系模式一定滿足?NF,,2,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),第三范式,例如:已知關(guān)系模式R(A,B,C)中不存在B→C且C→B則此關(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ù)依賴有:課程?教師(教師,教室)?課程,所以R∈3NF,不存在非主屬性對(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等:T1C1—M1,M4C2—M3,M6C3—M2,M5,M7,第二組數(shù)據(jù)假設(shè)教師T2負(fù)責(zé)課程C4、C5,并且C4課程使用教室M1、M3和M4等:T2C4—M1,M3,M4C5—M2,M6,第三組數(shù)據(jù)假設(shè)教師T3負(fù)責(zé)課程C6、C7,并且C6課程使用教室M2和M3等:T3C6—M2,M3C7—M4,將這些數(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,X→Y是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)生的操作異?,F(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;若有X→A,并且X∪A=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,若Ui?Uj(ij),就去掉Ui;經(jīng)過以上步驟得到的分解ρ={R0,R1,…,Rk}(R0可能為空,1…k可能不連續(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,如果X?Ui,則將RX從τ中去掉,或Ui?X,則將Ri從τ中去掉;最后τ就是所求分解。,3NF保持函數(shù)依賴和無損連接的分解算法,數(shù)據(jù)庫應(yīng)用與設(shè)計(jì),以表6-1的“選課”關(guān)系為例,已知:U={學(xué)號(hào),課程號(hào),課程名,責(zé)任教師,職稱,考試成績}具體分解過程:(1)計(jì)算F的最小等價(jià)集:F={(學(xué)號(hào),課程號(hào))?考試成績,課程號(hào)?課程名,課程號(hào)?責(zé)任教師,責(zé)任教師?職稱}(2)無影響(3)無影響(4)按相同左部進(jìn)行分組得到如下結(jié)果:F1={(學(xué)號(hào),課程號(hào))?考試成績}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),考試成績)課程(課程號(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)={AB→C,B→C},請(qǐng)問該關(guān)系模式是第幾范式,并使用三范式無損連接模式分解算法規(guī)范化該關(guān)系模式。,第1范式(1)最小覆蓋F={B→C}(2)無影響(3)R0({A},Φ)(4)不存在分組問題(5)ρ={R0({A},Φ),R1({B,C},B→C)}Rx({AB},Φ)τ=ρ∪RX(X,F(xiàn)X)={R0({A},Φ),R1({B,C},B→C),Rx({AB},Φ)}(7)∵U0?X,則將R0從τ中去掉;(8)分解結(jié)果:R1({B,C},B→C),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)={B?C}:(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ī)范化。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- SQL 語言 教程
鏈接地址:http://m.italysoccerbets.com/p-12561543.html