數(shù)據(jù)庫(kù) 第七章_第1頁(yè)
數(shù)據(jù)庫(kù) 第七章_第2頁(yè)
數(shù)據(jù)庫(kù) 第七章_第3頁(yè)
數(shù)據(jù)庫(kù) 第七章_第4頁(yè)
數(shù)據(jù)庫(kù) 第七章_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)第七章第1頁(yè),共67頁(yè),2023年,2月20日,星期六2第7章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域中的主要研究課題。關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論就是數(shù)據(jù)庫(kù)設(shè)計(jì)的一個(gè)理論指南。關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化是指面對(duì)一個(gè)現(xiàn)實(shí)問題,如何選擇一個(gè)比較好的關(guān)系模式集合。規(guī)范化理論研究的是關(guān)系模式中各屬性之間的數(shù)據(jù)依賴關(guān)系及其對(duì)關(guān)系模式性能的影響;以及判斷關(guān)系模式好壞的理論標(biāo)準(zhǔn)—范式。第2頁(yè),共67頁(yè),2023年,2月20日,星期六3第7章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系模式的形式化定義一個(gè)完整的關(guān)系模式由五部分組成,即它是一個(gè)五元組:

R(U,D,DOM,F)R:關(guān)系名

U:組成該關(guān)系的屬性名集合

D:屬性組U中屬性所來自的域

DOM:屬性向域的映象集合

F:屬性間數(shù)據(jù)的依賴關(guān)系集合第3頁(yè),共67頁(yè),2023年,2月20日,星期六4第7章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論什么是數(shù)據(jù)依賴一個(gè)關(guān)系內(nèi)部屬性與屬性之間的約束關(guān)系數(shù)據(jù)依賴的類型函數(shù)依賴(FunctionalDependency,簡(jiǎn)記為FD)多值依賴(MultivaluedDependency,簡(jiǎn)記為MVD)其他第4頁(yè),共67頁(yè),2023年,2月20日,星期六5第7章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系模式的簡(jiǎn)化表示關(guān)系模式R(U,D,DOM,F)簡(jiǎn)化為一個(gè)三元組:

R(U,F)當(dāng)且僅當(dāng)U上的一個(gè)關(guān)系r滿足F時(shí),r稱為關(guān)系模式R(U,F)的一個(gè)關(guān)系。第5頁(yè),共67頁(yè),2023年,2月20日,星期六67.1函數(shù)依賴設(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。。例:Student(Sno,SName,Sdept,Sage)Sno→SName,Sno→Sdept,Sno→Sage例:SC(Sno,Cno,Grade)(Sno,Cno)→Grade第6頁(yè),共67頁(yè),2023年,2月20日,星期六77.1.2一些術(shù)語和符號(hào)平凡函數(shù)依賴與非平凡函數(shù)依賴在關(guān)系模式R(U)中,對(duì)于U的子集X和Y,如果X→Y,但YX,則稱X→Y是非平凡的函數(shù)依賴若X→Y,但YX,則稱X→Y是平凡的函數(shù)依賴?yán)涸陉P(guān)系SC(Sno,Cno,Grade)中,非平凡函數(shù)依賴:(Sno,Cno)→

Grade

平凡函數(shù)依賴:(Sno,Cno)→

Sno(Sno,Cno)→Cno如不作特別說明,總是討論非平凡函數(shù)依賴。第7頁(yè),共67頁(yè),2023年,2月20日,星期六87.1.2一些術(shù)語和符號(hào)若X→Y,則X稱為這個(gè)函數(shù)依賴的決定屬性組,也稱為決定因素(Determinant)。若X→Y,Y→X,則記作X←→Y。若Y不函數(shù)依賴于X,則記作X→Y。第8頁(yè),共67頁(yè),2023年,2月20日,星期六97.1.2一些術(shù)語和符號(hào)完全函數(shù)依賴與部分函數(shù)依賴在R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,都有X’Y,則稱Y對(duì)X完全函數(shù)依賴,記作

XFY。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴,記作XPY。例:(Sno,Cno)→Grade是完全函數(shù)依賴,

(Sno,Cno)→Sdept是部分函數(shù)依賴因?yàn)镾no→Sdept成立,且Sno是(Sno,Cno)的真子集第9頁(yè),共67頁(yè),2023年,2月20日,星期六107.1.2一些術(shù)語和符號(hào)傳遞函數(shù)依賴在R(U)中,如果X→Y,(YX),Y→XY→Z,則稱Z對(duì)X傳遞函數(shù)依賴。記為:X→Z注:如果Y→X,即X←→Y,則Z直接依賴于X。例:在關(guān)系S(Sno,Sname,Dept,Dept_master)中有:

Sno→dept,Sdept→Dept_masterDept_master傳遞函數(shù)依賴于Sno傳遞第10頁(yè),共67頁(yè),2023年,2月20日,星期六117.1.3為什么要討論函數(shù)依賴數(shù)據(jù)依賴對(duì)關(guān)系模式的影響例:建立一個(gè)描述學(xué)校教務(wù)的數(shù)據(jù)庫(kù): 學(xué)生的學(xué)號(hào)(Sno)、所在系(Sdept) 系主任姓名(Mname)、課程名(Cname) 成績(jī)(Grade)單一的關(guān)系模式:Student<U、F>U={Sno,Sdept,Mname,Cname,Grade}第11頁(yè),共67頁(yè),2023年,2月20日,星期六127.1.3為什么要討論函數(shù)依賴

屬性組U上的一組函數(shù)依賴F:

F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}

SnoCnameSdeptMnameGrade第12頁(yè),共67頁(yè),2023年,2月20日,星期六137.1.3為什么要討論函數(shù)依賴關(guān)系模式Student<U,F>中存在的問題1.數(shù)據(jù)冗余太大2.更新異常(UpdateAnomalies)3.插入異常(InsertionAnomalies)4.刪除異常(DeletionAnomalies)第13頁(yè),共67頁(yè),2023年,2月20日,星期六147.1.3為什么要討論函數(shù)依賴結(jié)論:

Student關(guān)系模式不是一個(gè)好的模式。“好”的模式:不會(huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少原因:由存在于模式中的某些數(shù)據(jù)依賴引起的解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴第14頁(yè),共67頁(yè),2023年,2月20日,星期六157.1.3為什么要討論函數(shù)依賴分解關(guān)系模式把這個(gè)單一模式分成3個(gè)關(guān)系模式:

S(Sno,Sdept,Sno→Sdept);SC(Sno,Cno,Grade,(Sno,Cno)→Grade);DEPT(Sdept,Mname,Sdept→Mname)第15頁(yè),共67頁(yè),2023年,2月20日,星期六167.2關(guān)系規(guī)范化

規(guī)范化理論正是用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。第16頁(yè),共67頁(yè),2023年,2月20日,星期六177.2.1關(guān)系模式中的碼候選碼與主碼設(shè)K為R<U,F>中的屬性或?qū)傩越M合。若K

U,則K稱為R的侯選碼。若候選碼多于一個(gè),則選定其中的一個(gè)做為主碼。主屬性與非主屬性包含在任何一個(gè)候選碼中的屬性,稱為主屬性不包含在任何碼中的屬性稱為非主屬性或非碼屬性全碼整個(gè)屬性組是碼,稱為全碼F第17頁(yè),共67頁(yè),2023年,2月20日,星期六187.2.1關(guān)系模式中的碼例:關(guān)系模式S(Sno,Sdept,Sage),單個(gè)屬性Sno是碼SC(Sno,Cno,Grade)中,(Sno,Cno)是碼關(guān)系模式R(P,W,A)

P:演奏者W:作品A:聽眾一個(gè)演奏者可以演奏多個(gè)作品某一作品可被多個(gè)演奏者演奏聽眾可以欣賞不同演奏者的不同作品碼為(P,W,A),即All-Key第18頁(yè),共67頁(yè),2023年,2月20日,星期六197.2.1關(guān)系模式中的碼外部碼關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱X是R的外部碼,也稱外碼如在SC(Sno,Cno,Grade)中,Sno不是碼,但Sno是關(guān)系模式S(Sno,Sdept,Sage)的碼,則Sno是關(guān)系模式SC的外部碼主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段第19頁(yè),共67頁(yè),2023年,2月20日,星期六207.2.2范式范式是符合某一種級(jí)別的關(guān)系模式的集合關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式范式的種類: 第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)第20頁(yè),共67頁(yè),2023年,2月20日,星期六217.2.2范式各種范式之間存在聯(lián)系:某一關(guān)系模式R為第n范式,可簡(jiǎn)記為R∈nNF。一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過程就叫規(guī)范化

第21頁(yè),共67頁(yè),2023年,2月20日,星期六221NF第一范式:如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R∈1NF第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式第22頁(yè),共67頁(yè),2023年,2月20日,星期六231NF第23頁(yè),共67頁(yè),2023年,2月20日,星期六242NF第二范式:如果R(U,F)∈1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于主碼,則R(U,F)∈2NF例:S-L-C(Sno,Sdept,SLOC,Cno,Grade)函數(shù)依賴包括:

(Sno,Cno)FGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc

存在部分函數(shù)依賴,不是2NF。第24頁(yè),共67頁(yè),2023年,2月20日,星期六252NF(續(xù))S-L-C的碼為(Sno,Cno)S-L-C滿足第一范式。非主屬性Sdept和Sloc部分函數(shù)依賴于碼(Sno,Cno)SnoCnoGradeSdeptSlocS-L-C第25頁(yè),共67頁(yè),2023年,2月20日,星期六262NF(續(xù))S-L-C不是一個(gè)好的關(guān)系模式原因

Sdept、Sloc部分函數(shù)依賴于碼。解決方法

S-L-C分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴

第26頁(yè),共67頁(yè),2023年,2月20日,星期六272NF(續(xù))分解辦法首先,對(duì)于組成主碼的屬性集合的每一個(gè)子集,用它作為主碼構(gòu)成一個(gè)表。然后,將依賴于這些主碼的屬性放置到相應(yīng)的表中。最后,去掉只由主碼的子集構(gòu)成的表。S-L-C分解為兩個(gè)關(guān)系模式

SC(Sno,Cno,Grade)

S-L(Sno,Sdept,Sloc)第27頁(yè),共67頁(yè),2023年,2月20日,星期六282NF(續(xù))分解示例對(duì)于S-L-C表,首先分解為如下形式的三張表:

S-L(Sno,…)

C(Cno,…)

S-C(Sno,Cno,…)然后,將依賴于這些主碼的屬性放置到相應(yīng)的表中

S-L(Sno,Sdept,Sloc)

C(Cno)

S-C(Sno,Cno,Grade)最后,去掉只由主碼的子集構(gòu)成的表,最終分解為:

S-L(Sno,Sdept,Sloc)

S-C(Sno,Cno,Grade)第28頁(yè),共67頁(yè),2023年,2月20日,星期六292NF(續(xù))函數(shù)依賴圖:SnoCnoGradeSCS-LSnoSdeptSloc關(guān)系模式SC的碼為(Sno,Cno)關(guān)系模式S-L的碼為Sno這樣非主屬性對(duì)碼都是完全函數(shù)依賴第29頁(yè),共67頁(yè),2023年,2月20日,星期六302NF(續(xù))S-L-C(Sno,Sdept,Sloc,Cno,Grade)∈1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)∈2NFSC(Sno,Cno,Grade)∈2NFS-L(Sno,Sdept,Sloc)∈2NF第30頁(yè),共67頁(yè),2023年,2月20日,星期六312NF(續(xù))采用投影分解法將一個(gè)1NF的關(guān)系分解為多個(gè)2NF的關(guān)系,可以在一定程度上減輕原1NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問題。將一個(gè)1NF關(guān)系分解為多個(gè)2NF的關(guān)系,并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。第31頁(yè),共67頁(yè),2023年,2月20日,星期六322NF(續(xù))S-L(Sno,Sdept,Sloc)存在問題數(shù)據(jù)冗余:有多少個(gè)學(xué)生就有多少個(gè)重復(fù)的Sdept和SLOC;插入異常:當(dāng)新建一個(gè)系時(shí),若還沒有招收學(xué)生,則無法插入;第32頁(yè),共67頁(yè),2023年,2月20日,星期六333NF3NF的定義 關(guān)系模式R<U,F(xiàn)>

中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X→Y,Y→Z成立,Y→X,則稱R<U,F(xiàn)>∈3NF。若R∈3NF,則每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。第33頁(yè),共67頁(yè),2023年,2月20日,星期六343NF(續(xù))例:2NF關(guān)系模式S-L(Sno,Sdept,Sloc)中函數(shù)依賴:

Sno→SdeptSdept→SnoSdept→Sloc

可得:

Sno→Sloc,即S-L中存在非主屬性對(duì)碼的傳遞函數(shù)依賴,S-L∈3NF傳遞第34頁(yè),共67頁(yè),2023年,2月20日,星期六353NF(續(xù))函數(shù)依賴圖:S-LSnoSdeptSloc第35頁(yè),共67頁(yè),2023年,2月20日,星期六363NF(續(xù))解決方法采用投影分解法,把S-L分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴:S-D(Sno,Sdept)

D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴第36頁(yè),共67頁(yè),2023年,2月20日,星期六373NF(續(xù))分解過程對(duì)于不是候選碼的每個(gè)決定因子,從表中刪去依賴于它的所有屬性;

S-D(Sno,Sdept)(主碼為Sno)

新建一個(gè)表,新表中包含在原表中所有依賴于該決定因子的屬性;

S-L(Sdept,Sloc)將決定因子作為新表的主碼。

S-L的

主碼為Sdept第37頁(yè),共67頁(yè),2023年,2月20日,星期六383NF(續(xù))S-D的碼為Sno,D-L的碼為SdeptSnoSdeptS-DSdeptSlocD-LS-L(Sno,Sdept,Sloc)∈2NFS-L(Sno,Sdept,Sloc)∈3NFS-D(Sno,Sdept)∈3NFD-L(Sdept,Sloc)∈3NF第38頁(yè),共67頁(yè),2023年,2月20日,星期六393NF(續(xù))違反3NF的傳遞依賴的三種情況第39頁(yè),共67頁(yè),2023年,2月20日,星期六403NF(續(xù))采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)3NF的關(guān)系,可以在一定程度上解決原2NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問題。將一個(gè)2NF關(guān)系分解為多個(gè)3NF的關(guān)系后,仍然不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。第40頁(yè),共67頁(yè),2023年,2月20日,星期六41BC范式(BCNF)關(guān)系模式R<U,F(xiàn)>∈1NF,若X→Y且YX時(shí)X必含有碼,則R<U,F(xiàn)>∈BCNF。等價(jià)于:每一個(gè)決定屬性因素都包含碼第41頁(yè),共67頁(yè),2023年,2月20日,星期六42BCNF(續(xù))若R∈BCNF所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴所有的主屬性對(duì)每一個(gè)不包含它的碼,也是完全函數(shù)依賴沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性R∈BCNFR∈3NF充分不必要第42頁(yè),共67頁(yè),2023年,2月20日,星期六43BCNF(續(xù))例:關(guān)系模式C(Cno,Cname,Pcno)C∈3NFC∈BCNF例:關(guān)系模式S(Sno,Sname,Sdept,Sage)假定S有兩個(gè)碼Sno,SnameS∈3NFS∈BCNF第43頁(yè),共67頁(yè),2023年,2月20日,星期六44BCNF(續(xù))例:關(guān)系模式SJP(S,J,P)函數(shù)依賴:(S,J)→P;(J,P)→S(S,J)與(J,P)都可以作為候選碼,屬性相交SJP∈3NFSJP∈BCNF第44頁(yè),共67頁(yè),2023年,2月20日,星期六45BCNF(續(xù))例:在關(guān)系模式STC(S,T,C)中,S表示學(xué)生,T表示教師,C表示課程。函數(shù)依賴:

(S,C)→T,(S,T)→C,T→C(S,C)和(S,T)都是候選碼第45頁(yè),共67頁(yè),2023年,2月20日,星期六46BCNF(續(xù))

CSCTSTSTC中的函數(shù)依賴第46頁(yè),共67頁(yè),2023年,2月20日,星期六47BCNF(續(xù))STC∈3NF

沒有任何非主屬性對(duì)碼傳遞依賴或部分依賴

STC∈BCNFT是決定因素,T不包含碼第47頁(yè),共67頁(yè),2023年,2月20日,星期六48BCNF(續(xù))解決方法:將STC分解為二個(gè)關(guān)系模式:

ST(S,T)∈BCNF,TC(T,C)∈BCNF

沒有任何屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴STSTTCTC第48頁(yè),共67頁(yè),2023年,2月20日,星期六49BCNF(續(xù))主屬性對(duì)候選鍵的傳遞依賴第49頁(yè),共67頁(yè),2023年,2月20日,星期六503NF與BCNF的關(guān)系R∈BCNFR∈3NF如果R∈3NF,且R只有一個(gè)候選碼

R∈BCNFR∈3NF充分不必要充分必要第50頁(yè),共67頁(yè),2023年,2月20日,星期六51多值依賴與4NF(了解)多值依賴定義設(shè)R(U)是一個(gè)屬性集U上的一個(gè)關(guān)系模式,X、Y和Z是U的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴

X→→Y成立,當(dāng)且僅當(dāng)對(duì)R(U)的任一關(guān)系r,給定的一對(duì)(x,z)值,有一組Y的值,這組值僅僅決定于x值而與z值無關(guān)。關(guān)系模式R<U,F(xiàn)>∈1NF,如果對(duì)于R的每個(gè)非平凡多值依賴X→→Y(YX),X都含有碼,則R∈4NF。第51頁(yè),共67頁(yè),2023年,2月20日,星期六52規(guī)范化舉例設(shè)有關(guān)系模式:Student(學(xué)號(hào),姓名,導(dǎo)師號(hào),導(dǎo)師名,課程號(hào),課程說明,成績(jī))語義:一名學(xué)生只有一個(gè)導(dǎo)師,學(xué)生可選多門課。將其規(guī)范化成3NF的。第52頁(yè),共67頁(yè),2023年,2月20日,星期六531.此表是1NF,其函數(shù)依賴為: 學(xué)號(hào)p姓名,學(xué)號(hào)p導(dǎo)師號(hào),學(xué)號(hào)p導(dǎo)師名,課程號(hào)p課程說明,(學(xué)號(hào),課程號(hào))→成績(jī)主碼為(學(xué)號(hào),課程號(hào))存在部分函數(shù)依賴關(guān)系,不是2NF,首先將其分解為2NF。學(xué)生(學(xué)號(hào),姓名,導(dǎo)師號(hào),導(dǎo)師名),課程(課程號(hào),課程說明),成績(jī)(學(xué)號(hào),課程號(hào),成績(jī))均為2NF第53頁(yè),共67頁(yè),2023年,2月20日,星期六542.判是否為3NF“學(xué)生”表不是3NF,其函數(shù)依賴為: 學(xué)號(hào)→姓名,學(xué)號(hào)→導(dǎo)師號(hào),導(dǎo)師號(hào)p導(dǎo)師名,∴學(xué)號(hào)傳遞導(dǎo)師名消除依賴于決定者的屬性,把它們放在一個(gè)單獨(dú)的表中,得到:學(xué)生(學(xué)號(hào),姓名,導(dǎo)師號(hào)),導(dǎo)師(導(dǎo)師號(hào),導(dǎo)師名)第54頁(yè),共67頁(yè),2023年,2月20日,星期六557.3關(guān)系模式的分解準(zhǔn)則模式分解要滿足:模式分解具有無損連接性;模式分解能夠保持函數(shù)依賴。

無損連接是指分解后的關(guān)系通過自然連接可以恢復(fù)成原來的關(guān)系,即通過自然連接得到的關(guān)系與原來的關(guān)系相比,既不多出信息、又不丟失信息。

保持函數(shù)依賴分解是指在模式的分解過程中,函數(shù)依賴不能丟失的特性,即模式分解不能破壞原來的語義。第55頁(yè),共67頁(yè),2023年,2月20日,星期六56關(guān)系模式的分解準(zhǔn)則(續(xù))

例:S-D-L(Sno,Dept,Loc)有函數(shù)依賴:

Sno→Dept,Dept→Loc

不是第三范式的。至少可以有三種分解方案,分別為:方案1:S-L(Sno,Loc),D-L(Dept,Loc)方案2:S-D(Sno,Dept),S-L(Sno,Loc)方案3:S-D(Sno,Dept),D-L(Dept,Loc)這三種分解方案得到的關(guān)系模式都是第三范式的,那么如何比較這三種方案的好壞呢?由此在將一個(gè)關(guān)系模式分解為多個(gè)關(guān)系模式時(shí)除了提高規(guī)范化程度之外,還需要考慮其他的一些因素。第56頁(yè),共67頁(yè),2023年,2月20日,星期六57關(guān)系模式的分解準(zhǔn)則(續(xù))

將一個(gè)關(guān)系模式R<U,F(xiàn)>分解為若干個(gè)關(guān)系模式R1<U1,F(xiàn)1>,R2<U2,F(xiàn)2>,…,Rn<Un,F(xiàn)n>,意味著將存儲(chǔ)在一張二維表r中的數(shù)據(jù)分散到了若干個(gè)二維表r1,r2,…,rn中。這樣的分解應(yīng)該不丟失信息,即能通過對(duì)關(guān)系r1,r2,…,rn的自然連接運(yùn)算重新得到關(guān)系r中的所有信息。事實(shí)上,將關(guān)系r投影為r1,r2,…,rn時(shí)不會(huì)丟失信息,關(guān)鍵是對(duì)r1,r2,…,rn做自然連接時(shí)可能產(chǎn)生一些r中原來沒有的元組,從而無法區(qū)別哪些元組是r中原來有的,即數(shù)據(jù)庫(kù)中應(yīng)該存在的數(shù)據(jù),哪些是不應(yīng)該有的。在這個(gè)意義上就丟失了信息。第57頁(yè),共67頁(yè),2023年,2月20日,星期六58關(guān)系模式的分解準(zhǔn)則(續(xù))這三種分解方案是否都滿足分解要求呢?假設(shè)此關(guān)系模式的數(shù)據(jù)如表所示,此關(guān)系用r表示。Sno

Dept

Loc

S01D1L1S02D2L2S03D3L3S04D4L4第58頁(yè),共67頁(yè),2023年,2月20日,星期六59關(guān)系模式的分解準(zhǔn)則(續(xù))若按方案1將S-D-L投影到S-L和D-L的屬性上,得到如左邊兩個(gè)表所示的關(guān)系。做自然連接得到結(jié)果如右表所示。Sno

Loc

S01L1S02L2S03L3S04L4Dept

Loc

D1L1D2L2D3L3D4L4Sno

Dept

Loc

S01D1L1S01D3L1S02D2L2S03D2L2S04D1L1S04D3L41第59頁(yè),共67頁(yè),2023年,2月20日,星期六60關(guān)系模式的分解準(zhǔn)則(續(xù))無損連接性將關(guān)系模式R<U,F(xiàn)>分解為個(gè)關(guān)系模式R1<U1,F(xiàn)1>,R2<U2,F(xiàn)2>,…,Rn<Un,F(xiàn)n>,若對(duì)于R中的任何一個(gè)可能的r,都有r=r1*r2*…*rn,即r在R1,R2,…,Rn上的投影的自然連接等于r,則稱關(guān)系模式R的這個(gè)分解具有無損連接性。第60頁(yè),共67頁(yè),2023年,2月20日,星期六61關(guān)系模式的分解準(zhǔn)則(續(xù))再分析方案2。將S-D-L投影到S-D,S-L的屬性上,得到的關(guān)系如左邊兩個(gè)表所示。做自然連接得到的關(guān)系右表所示。Sno

Loc

S01L1S02L2S03L3S04L4Sno

DeptS01D1S02D2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論