




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
關(guān)系數(shù)據(jù)庫設(shè)計理論4.1數(shù)據(jù)依賴4.2范式4.3關(guān)系模式的規(guī)范化2/954.1數(shù)據(jù)依賴關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它利用關(guān)系描述現(xiàn)實世界。一個關(guān)系既可以用來描述一個實體及其屬性,也可用來描述實體間的一種聯(lián)系。關(guān)系模式是用來定義關(guān)系的,一個關(guān)系數(shù)據(jù)庫包含一組關(guān)系,定義這組關(guān)系的關(guān)系模式的全體就構(gòu)成了該數(shù)據(jù)庫的模式。3/954.1.1關(guān)系模式中的數(shù)據(jù)依賴關(guān)系模式是對關(guān)系的描述,為了能夠清楚地刻劃出一個關(guān)系,它需要由五部分組成,即應(yīng)該是一個五元組:
R(U,D,DOM,F)
其中:R-關(guān)系名U-屬性名集合
D-屬性組U中屬性所來自的域
DOM-屬性向域的映象集合
F-屬性間數(shù)據(jù)的關(guān)系集合4/95關(guān)系模式中的數(shù)據(jù)依賴—續(xù)一屬性間數(shù)據(jù)的依賴關(guān)系集合F實際上就是描述關(guān)系的元組語義,限定組成關(guān)系的各個元組必須滿足的完整性約束條件。在實際當(dāng)中,這些約束或者通過對屬性取值范圍的限定,或者通過對屬性值間的相互關(guān)連(主要體現(xiàn)值的相等與否)反映出來,后者稱為數(shù)據(jù)依賴,它是數(shù)據(jù)庫模式設(shè)計的關(guān)鍵。5/95關(guān)系模式中的數(shù)據(jù)依賴—續(xù)二關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的、穩(wěn)定的,關(guān)系是動態(tài)的,不同時刻關(guān)系模式中的關(guān)系可能會有所不同,但它們都必須滿足關(guān)系模式中數(shù)據(jù)依賴關(guān)系集合F所指定的完整性約束條件。6/95關(guān)系模式中的數(shù)據(jù)依賴—續(xù)三由于在關(guān)系模式R(U,D,DOM,F)中,影響數(shù)據(jù)庫模式設(shè)計的主要是U和F,D的DOM對其影響不大,為了方便討論,將關(guān)系模式簡化為一個三元組:
R(U,F)當(dāng)且僅當(dāng)U上的一個關(guān)系r滿足F時,r稱為關(guān)系模式R(U,F)的一個關(guān)系。7/954.1.2數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴是通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的的數(shù)據(jù)間的相互關(guān)系。數(shù)據(jù)依賴的類型很多,其中最重要的是函數(shù)依賴(functionaldependency,簡記為FD)和多值依賴(multivalueddependency,簡記為MVD)。8/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)一函數(shù)依賴普遍地存在于現(xiàn)實生活中。例:學(xué)生關(guān)系中的學(xué)號(Sno)、姓名(Sname)、所有系(Sdept)等幾個屬性,其中:
Sno→SnameSno→SdeptSno函數(shù)決定Sname和Sdept;反之,Sname和Sdept函數(shù)依賴于Sno。9/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)二例:描述學(xué)校的數(shù)據(jù)庫學(xué)號(Sno)、所在系(Sdept)、系主任名(Mname)、課程名(Cname)和成績(Grade)。假設(shè)學(xué)校的數(shù)據(jù)庫模式由一個單一的關(guān)系模式student構(gòu)成,即:
student(Sno,Sdept,Mname,Cname,Grade)10/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)三例:描述學(xué)校的數(shù)據(jù)庫由常識可知:
(1)一個系有若干學(xué)生,但一個學(xué)生只屬于一個系;
(2)一個系只有一名主任;
(3)一個學(xué)生可以選修多門課程,每門課程有若干學(xué)生選修;
(4)每個學(xué)生所學(xué)的每門課程都有一個成績。11/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)四該關(guān)系模式的屬性集合為:
U={Sno,Sdept,Mname,Cname,Grade}從上述事實可以得到屬性組U上的一組函數(shù)依賴F為:
F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}12/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)五13/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)六只考慮函數(shù)依賴這一數(shù)據(jù)依賴,學(xué)生關(guān)系模式student<U,F>存在以下問題:數(shù)據(jù)冗余太大;更新異常;插入異常;刪除異常。14/95數(shù)據(jù)依賴對關(guān)系模式的影響—續(xù)七一個關(guān)系模式之所以會產(chǎn)生上述問題,是由存在于模式中的某些數(shù)據(jù)依賴引起的。規(guī)范化理論正是用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。15/954.1.3相關(guān)概念1.函數(shù)依賴
【定義4.1】設(shè)R(U)是一個關(guān)系模式,U是R的屬性集合,X和Y是U的子集。對于R(U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組,它們在X上的屬性值相同,而在Y上的屬性值不同,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作X→Y。16/95函數(shù)依賴—續(xù)一對于函數(shù)依賴的幾點說明:(1)函數(shù)依賴不是指關(guān)系模式R的某個或某些關(guān)系實例滿足的約束條件,而是指R的所有關(guān)系實例均要滿足的約束條件。(2)函數(shù)依賴和別的數(shù)據(jù)之間的依賴關(guān)系一樣,是語義范疇的概念。我們只能根據(jù)數(shù)據(jù)的語義來確定函數(shù)依賴。例:姓名→年齡17/95函數(shù)依賴—續(xù)二對于函數(shù)依賴的幾點說明:(3)數(shù)據(jù)庫設(shè)計者可以對現(xiàn)實世界作強制的規(guī)定,例:“姓名→年齡”。這樣當(dāng)插入某個元組時這個元組上的屬性值必須滿足規(guī)定的函數(shù)依賴,若發(fā)現(xiàn)有同名人存在,則拒絕裝入該元組。18/95函數(shù)依賴—續(xù)三(4)若X→Y,則X稱為這個函數(shù)依賴的決定屬性集(Determinant)。(5)若X→Y,并且Y→X,則記為X←→Y。(6)若Y不函數(shù)依賴于X,則記為X→Y。\19/95相關(guān)概念—續(xù)二2.平凡函數(shù)依賴與非平凡函數(shù)依賴
【定義4.2】在關(guān)系模式R(U)中,對于U的子集X和Y,如果X→Y,但
YX,則X→Y是非平凡的函數(shù)依賴。若YX,則稱X→Y稱為平凡函數(shù)依賴。/20/95相關(guān)概念—續(xù)三3.完全函數(shù)依賴與部分函數(shù)依賴
【定義4.3】在關(guān)系模式R(U)中,如果X→Y,并且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數(shù)依賴于X,記作XY。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記作XY。\21/95相關(guān)概念—續(xù)四4.傳遞函數(shù)依賴
【定義4.4】在關(guān)系模式R(U)中,如果X→Y,Y→Z,且YX,Y→X,則稱Z傳遞函數(shù)依賴于X。例:Sno→SdeptSdept→MnameSnoMname/\22/95相關(guān)概念—續(xù)五5.碼
【定義4.5】設(shè)K為關(guān)系模式R(U,F)中的屬性或?qū)傩越M合。若KU,則K稱為R的一個候選碼(CandidateKey)。若關(guān)系模式有多個候選碼,則選定其中的一個作為主碼(PrimaryKey)。23/95相關(guān)概念—續(xù)六5.碼
【定義4.6】關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個關(guān)系模式的碼,則稱X是R的外部碼(ForeignKey),也稱外碼。例:關(guān)系模式R(城市,街道,郵編)
{城市,街道}→{郵編},{郵編}→{城市}
候選鍵是?24/954.2范式關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的規(guī)范化要求,對于不同的規(guī)范化程序可用范式來衡量。范式是符合某一種級別的關(guān)系模式的集合,是衡量關(guān)系模式規(guī)范化程度的標準,達到范式的關(guān)系才是規(guī)范化的。25/95范式—續(xù)一目前主要有六種范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。各種范式之間存在聯(lián)系:
范式:NormalForm26/95范式—續(xù)二通常把某一關(guān)系模式R為第n范式簡記為R∈nNF。在所有范式中,最重要的是3NF和BCNF,它們是進行規(guī)范化的主要目標。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級模式的關(guān)系模式的集合,這個過程稱為規(guī)范化。27/954.2.1第一范式【定義4.7】如果一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項,則R∈1NF。第一范式是對關(guān)系模式的一個最起碼的要求,不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。28/95第一范式—續(xù)一滿足第一范式的關(guān)系模式不一定是一個好的關(guān)系模式,例:
SLC(Sno,Sdept,Sloc,Cno,Grade)
函數(shù)依賴有:
(Sno,Cno)Grade,Sno→Sdept,(Sno,Cno)Grade,Sno→Sloc,(Sno,Cno)Sloc,Sdept→Sloc29/95第一范式—續(xù)二30/95第一范式—續(xù)三SLC關(guān)系存在以下4個問題:(1)插入異常:如果要插入一個學(xué)生信息Sno=99102,Sdept=IS,Sloc=N,但還因為沒有選課信息,所以無法插入。((Sno,Cno)是主碼,不允許為空。)應(yīng)插入的信息無法插入31/95第一范式—續(xù)四SLC關(guān)系存在以下4個問題:(2)刪除異常:學(xué)號為99022的學(xué)生只選修了3號課程,如果現(xiàn)在他不選修3號課程,則該元組整個被刪除,從而刪除了99022的其他信息。不應(yīng)刪除的信息被刪除了32/95第一范式—續(xù)五SLC關(guān)系存在以下4個問題:(3)數(shù)據(jù)冗余度大:如果一個學(xué)生選修了多門課程,那么他的Sdept和Sloc值就要重復(fù)存儲多次。33/95第一范式—續(xù)六SLC關(guān)系存在以下4個問題:(4)修改復(fù)雜:如果一個學(xué)生轉(zhuǎn)系,除了修改Sdept外,還要修改Sloc的值。如果該學(xué)生選修了多門課程,那么這些元組中的所有Sdept和Sloc值都需要修改。因此,SLC不是一個好的關(guān)系模式34/954.2.2第二范式SLC出現(xiàn)上述問題的原因是Sdept、Sloc對碼的部分函數(shù)依賴。為了消除這些部分函數(shù)依賴,可以采用投影分解法,把SLC分解為兩個關(guān)系模式:
SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)消除非主屬性對碼的部分函數(shù)依賴35/95第二范式—續(xù)一36/95第二范式—續(xù)二2NF就是不允許關(guān)系模式的屬性之間有這樣的函數(shù)依賴X→Y,其中X是碼的真子集,Y是非主屬性。碼只包含一個屬性的關(guān)系模式如果屬于1NF,那么它一定屬于2NF。因為它不可能存在非主屬性對碼的部分函數(shù)依賴。37/95第二范式—續(xù)三2NF并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。例如:SL(Sno,Sdept,Sloc)是2NF,其中有下列函數(shù)依賴:
Sno→SdeptSdept→SlocSno→Sloc傳遞函數(shù)依賴38/95第二范式—續(xù)四SL(Sno,Sdept,Sloc)中存在非主屬性對碼的傳遞函數(shù)依賴,依然存在各種問題:(1)插入異常:剛建的系無學(xué)生,無法插入系的信息。(2)刪除異常:如果刪除某個系的全部學(xué)生信息,將會同時刪除系信息。39/95第二范式—續(xù)五SL(Sno,Sdept,Sloc)中存在非主屬性對碼的傳遞函數(shù)依賴,依然存在各種問題:(3)數(shù)據(jù)冗余度大:同一個系的住處信息將多次存放。(4)修改復(fù)雜:某個系學(xué)生全部換住處時,所有相關(guān)學(xué)生信息都要修改。40/954.2.3第三范式SL出現(xiàn)上述問題的原因是Sloc傳遞函數(shù)依賴于Sno。為了消除該傳遞函數(shù)依賴,可以采用投影分解法,把SL分解為兩個關(guān)系模式:
SD(Sno,Sdept)DL(Sdept,Sloc)消除非主屬性對碼的傳遞函數(shù)依賴41/95第三范式—續(xù)一【定義4.8】如果關(guān)系模式R(U,F)中不存在候選碼X、屬性組Y以及非主屬性Z(ZY),使得X→Y,Y→X和Y→Z成立,則R∈3NF??梢宰C明,若R∈3NF,則R∈2NF。/\42/95第三范式—續(xù)二部分依賴傳遞依賴不傳遞依賴不部分依賴3NF模式2NF模式如果R是3NF模式,那么R也是2NF模式。43/95第三范式—續(xù)三將一個2NF關(guān)系分解為多個3NF的關(guān)系后,并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。例:關(guān)系模式STJ(S,T,J)中S表示學(xué)生,T表示教師,J表示課程。若每、一教師只教一門課,每門課由若干教師教,某一學(xué)生選定某門課,就確定了固定的教師。44/95第三范式—續(xù)四函數(shù)依賴為:
(S,J)→T(S,T)→JT→J候選碼為:(S,J)或(S,T)。STJ關(guān)系模式中沒有非主屬性對碼的傳遞或部分函數(shù)依賴,所以STJ∈3NF。45/95第三范式—續(xù)五3NF的STJ關(guān)系模式也存在一些問題:插入異常;刪除異常;數(shù)據(jù)冗余度大;修改復(fù)雜。46/954.2.4BC范式STJ出現(xiàn)上述問題的原因在于主屬性對碼的傳遞依賴。解決這一問題仍然可以采用投影分解法,將STJ分解為兩個關(guān)系模式:
ST(S,T)TJ(T,J)消除主屬性對碼的傳遞函數(shù)依賴47/95BC范式—續(xù)一【定義4.9】設(shè)關(guān)系模式R(U,F)∈1NF,如果對R的每個函數(shù)依賴X→Y,若YX,則X必含有候選碼,那么R∈BCNF。換句話說,在關(guān)系模式R(U,F)中,如果每一個決定屬性集都包含候選碼,則R∈BCNF。/48/95BC范式—續(xù)二BCNF(BoyceCoddNormalForm)是由Boyce和Codd提出的。如果一個關(guān)系數(shù)據(jù)庫中的所有關(guān)系模式都屬于BCNF,那么在函數(shù)依賴范疇內(nèi),它已實現(xiàn)了模式的徹底分解,達到了最高的規(guī)范化程度,消除了插入異常和刪除異常。49/954.2.5多值依賴與第四范式如果僅考慮函數(shù)依賴這一種數(shù)據(jù)依賴,屬于BCNF的關(guān)系模式已經(jīng)很完美了。但如果考慮其他數(shù)據(jù)依賴,如多值依賴,屬于BCNF的關(guān)系模式仍存在問題,不能算作是一個完美的關(guān)系模式。50/95多值依賴與第四范式—續(xù)一例:關(guān)系模式Teach(C,T,B),其中C表示課程,T表示教師,B表示參考書。51/95多值依賴與第四范式—續(xù)二課程C教師T參考書B數(shù)學(xué)張軍數(shù)學(xué)分析數(shù)學(xué)張軍高等代數(shù)數(shù)學(xué)張軍微分方程數(shù)學(xué)李斯數(shù)學(xué)分析數(shù)學(xué)李斯高等代數(shù)數(shù)學(xué)李斯微分方程物理王平普通物理學(xué)物理王平光學(xué)原理物理何強普通物理學(xué)物理何強光學(xué)原理物理陳明普通物理學(xué)物理陳明光學(xué)原理………………52/95多值依賴與第四范式—續(xù)三Teach具有唯一候選碼(C,T,B),即全碼,因而Teach∈BCNF。但Teach模式中存在一些問題:數(shù)據(jù)冗余度大;增加操作復(fù)雜;刪除操作復(fù)雜;修改操作復(fù)雜。53/95多值依賴與第四范式—續(xù)四BCNF的關(guān)系模式Teach之所以會產(chǎn)生上述問題,是因為參考書的取值和教師的取值是彼此獨立毫無關(guān)系的,它們的取值只取決于課程名。也就是說,關(guān)系模式Teach中存在一種稱之為多值依賴的數(shù)據(jù)依賴。54/95多值依賴【定義4.10】設(shè)R(U)是一個屬性的一個關(guān)系模式,X、Y和Z是U的子集,并且Z=U-X-Y,多值依賴X→→Y成立當(dāng)且僅當(dāng)對R的任一關(guān)系r,r在(X,Z)上的每個值對應(yīng)一組Y的值,這組值僅僅決定于X值而與Z值無關(guān)。若X→→Y,而Z=Φ,則稱X→→Y為平凡的多值依賴,否則稱X→→Y為非平凡的多值依賴。55/95多值依賴—續(xù)一例:在Teach關(guān)系中,每個(C,B)上的值對應(yīng)一組T值,而這種對應(yīng)與B無關(guān)。(C,B)T(物理,光學(xué)原理){李勇,王軍}(物理,普通物理學(xué)){李勇,王軍}
C→→T56/95多值依賴—續(xù)二【定義4.11】在關(guān)系模式R(U)的任一關(guān)系r中,如果對于任意兩個元組t,s有t[X]=s[X],就必存在元組w,v∈r(w和v可以與s和t相同),使得w[X]=v[X]=t[X]而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z],即交換s,t元組的Y值所得的兩個新元組必在r中,則稱Y多值依賴于X,記為X→→Y。57/95多值依賴的性質(zhì)(1)多值依賴具有對稱性。即若X→→Y,則X→→Z,其中Z=U-X-Y。(2)多值依賴具有傳遞性。即若X→→Y,Y→→Z,則X→→Y→→Z。(3)函數(shù)依賴可以看作是多值依賴的特殊情況。即若X→Y,則X→→Y。58/95多值依賴的性質(zhì)—續(xù)一(4)若X→→Y,X→→Z,則X→→YZ(5)若X→→Y,X→→Z,則X→→Y∩Z(6)若X→→Y,X→→Z,則X→→Y-Z,
X→→Y-Z59/95多值依賴的性質(zhì)—續(xù)二(7)多值依賴的有效性與屬性集的范圍有關(guān)。即若X→→Y在U上成立,則在W上(XYWU)上一定成立;但X→→Y在W上(WU)成立,在U上并不一定成立。60/95多值依賴的性質(zhì)—續(xù)三(8)若多值依賴X→→Y在R(U)上成立,對于Y’Y,并不一定有X→→Y’成立。但是如果函數(shù)依賴X→→Y’在R上成立,則對于任何Y’Y均有X→→Y成立。61/95第四范式【定義4.12】關(guān)系模式R(U,F)∈1NF,如果對于R的每個非平凡多值依賴X→→Y(YX),X都含有候選碼,則R∈4NF。4NF就是限制關(guān)系模式的屬性之間不允許有非平凡且非函數(shù)依賴的多值依賴,所允許的非平凡多值依賴實際上是函數(shù)依賴。\62/954.3關(guān)系模式的規(guī)范化一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式集合,這種過程就叫關(guān)系模式的規(guī)范化。63/95關(guān)系模式的規(guī)范化—續(xù)一關(guān)系模式規(guī)范化時一般應(yīng)遵循的原則(1)關(guān)系模式進行無損連接分解。關(guān)系模式分解過程中數(shù)據(jù)不能丟失或增加,必須把全局關(guān)系模式中的所有數(shù)據(jù)無損地分解到各個子關(guān)系模式中,以保證數(shù)據(jù)的完整性。64/95關(guān)系模式的規(guī)范化—續(xù)二關(guān)系模式規(guī)范化時一般應(yīng)遵循的原則(2)合理選擇規(guī)范化程度??紤]到存取效率,低級模式造成的冗余度很大,既浪費了存儲空間,又影響了數(shù)據(jù)的一致性;考慮到查詢效率,低級范式比高級范式好,連接運算的代價較小。65/95關(guān)系模式的規(guī)范化—續(xù)三關(guān)系模式規(guī)范化時一般應(yīng)遵循的原則(3)正確性與可實現(xiàn)性原則。66/954.3.1關(guān)系模式規(guī)范化的步驟規(guī)范化程序過低的關(guān)系不一定能夠很好地描述現(xiàn)實世界,可能會存在插入異常、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問題,解決方法就是對其進行規(guī)范化,轉(zhuǎn)換成高級的范式。67/95關(guān)系模式規(guī)范化的步驟—續(xù)一68/95關(guān)系模式規(guī)范化的步驟—續(xù)二(1)對1NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的部分函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換為若干個2NF關(guān)系。(2)對2NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的傳遞函數(shù)依賴,從而產(chǎn)生一組3NF關(guān)系。69/95關(guān)系模式規(guī)范化的步驟—續(xù)三(3)對3NF關(guān)系進行投影,消除原關(guān)系中主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴,得到一組BCNF。以上三步也可以合并為一步:對原關(guān)系進行投影,消除決定屬性不是候選碼的任何函數(shù)依賴。70/95關(guān)系模式規(guī)范化的步驟—續(xù)四(4)對BCNF關(guān)系進行投影,消除原關(guān)系中非平凡且非函數(shù)依賴的多值依賴,從而產(chǎn)生一組4NF關(guān)系。(5)對4NF關(guān)系進行投影,消除原關(guān)系中不是由候選碼所蘊含的連接依賴,即可得到一組5NF關(guān)系。
5NF是最終范式。71/954.3.2關(guān)系模式的分解關(guān)系模式的規(guī)范化過程是通過對關(guān)系模式的分解來實現(xiàn)的。把低一級的關(guān)系模式分解為若干個高一級的關(guān)系模式的方法并不是唯一的。在這些分解方法中,只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價的方法才有意義。72/95關(guān)系模式的分解—續(xù)一關(guān)系模式分解的三個定義:分解具有“無損連接性”;分解要“保持函數(shù)依賴”;分解既要“保持函數(shù)依賴”,又要具有“無損連接性”。73/95關(guān)系模式的分解—續(xù)二例:對于關(guān)系模式SL(Sno,Sdept,Sloc),SL中有下列函數(shù)依賴:
Sno→SdeptSdept→SlocSno→Sloc
此關(guān)系模式的主碼是什么?最高屬于第幾范式?為什么?74/95關(guān)系模式的分解—續(xù)三由于SL∈2NF,該關(guān)系模式存在很多問題,因此需要分解該關(guān)系模式,使其成為更高范式的關(guān)系模式。分解方法有很多種。假設(shè)該關(guān)系模式的一個關(guān)系為:SnoSdeptSloc99001CSA99002ISB99003MAC99004ISB99005PHB75/95關(guān)系模式的分解—續(xù)四第一種分解方法將SL分解為以下3個關(guān)系模式:
SN(Sno)SD(Sdept)SO(Sloc)Sno9900199002990039900499005SdeptCSISMAPHSDSNSlocABCSO不可取76/95關(guān)系模式的分解—續(xù)五第二種分解方法將SL分解為以下兩個關(guān)系模式:
NL(Sno,Sloc)DL(Sdept,Sloc)SnoSloc99001A99002B99003C99004B99005BSdeptSlocCSAISBMACPHB77/95關(guān)系模式的分解—續(xù)六第二種分解方法SnoSlocSdept99001ACS99002BIS99002BPH99003CMA99004BIS99004BPH99005BIS99005BPHNLDL多余元組不可取損失連接78/95關(guān)系模式的分解—續(xù)七第三種分解方法將SL分解為以下兩個關(guān)系模式:
ND(Sno,Sdept)NL(Sno,Sloc)SnoSdept99001CS99002IS99003MA99004IS99005PHSnoSloc99001A99002B99003C99004B99005B79/95關(guān)系模式的分解—續(xù)八第三種分解方法NDNLSnoSdeptSloc99001CSA99002ISB99003MAC99004ISB99005PHB無損連接80/95無損連接設(shè)關(guān)系模式R(U,F)被分解為若干個關(guān)系模式R1(U1,F1),R2(U2,F2),…,Rn(Un,Fn)(其中U=U1∪U2∪…∪Un,且不存在UiUj,F(xiàn)為F在Ui上的投影),若R與R1,R2,…,Rn自然連接的結(jié)果相等,則稱關(guān)系模式R的這個分解具有無損連接性。只有具有無損連接性的分解才能夠保證不丟失信息。81/95關(guān)系模式的分解—續(xù)九第三種分解方法將SL分解為以下兩個關(guān)系模式:
ND(Sno,Sdept)NL(Sno,Sloc)SnoSdept99001CS99002IS99003MA99004IS99005PHSnoSloc99001A99002B99003C99004B99005B丟失函數(shù)依賴:Sdept→Sloc不可取82/95保持函數(shù)依賴設(shè)關(guān)系模式R(U,F)被分解為若干個關(guān)系模式R1(U1,F1),R2(U2,F2),…,Rn(Un,Fn)(其中U=U1∪U2∪…∪Un,且不存在UiUj,F(xiàn)為F在Ui上的投影),若F所邏輯蘊含的函數(shù)依賴一定也由分解得到的某個關(guān)系模式中的函數(shù)依賴Fi所邏輯蘊含,則稱關(guān)系模式R的這個分解是保持函數(shù)依賴的。83/95關(guān)系模式的分解—續(xù)十第四種分解方法將SL分解為以下兩個關(guān)系模式:
ND(Sno,Sdept)DL(Sdept,Sloc)SnoSdept99001CS99002IS99003MA99004IS99005PHSdeptSlocCSAISBMACPHB是否無損分解?
是否保持函數(shù)依賴?√√84/95關(guān)系模式的分解—續(xù)十一判斷對關(guān)系模式的一個分解是否與原關(guān)系模式等價可以有三種不同的標準分解具有無損連接性;分解要保持函數(shù)依賴;分解既要保持函數(shù)依賴,又要具有無損連接性。85/95關(guān)系模式的分解—續(xù)十二規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:
(1)若要求分解具有無損連接性,那么模式分解一定能夠達到4NF。
(2)若要求分解保持函數(shù)依賴,那么模式一定能夠達到3NF,但不一定能夠達到BCNF。86/95關(guān)系模式的分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZNZ 286-2024 土壤中抗生素抗性基因檢測 高通量熒光定量PCR 法
- T-ZZB 3679-2024 汽車用熱塑性彈性體(TPE)腳墊
- 2025年度股權(quán)變更與員工激勵相結(jié)合的協(xié)議書
- 二零二五年度商標共營協(xié)議及市場推廣合同
- 二零二五年度婚禮婚禮策劃與現(xiàn)場協(xié)調(diào)免責(zé)合同
- 2025年度綠化樹木修剪與智慧城市管理系統(tǒng)合同
- 2025隱名股東股權(quán)轉(zhuǎn)讓及公司股權(quán)激勵終止及補償協(xié)議
- 二零二五年度杉木木材行業(yè)人才培養(yǎng)與合作合同
- 二零二五年度健康養(yǎng)生產(chǎn)品傭金合作協(xié)議
- 2025年度車庫車位使用權(quán)股權(quán)轉(zhuǎn)讓合同
- 第7課 課題二《清潔工具與生活·創(chuàng)意清潔工具設(shè)計》(說課稿)-2023-2024學(xué)年四年級下冊綜合實踐活動浙教版
- 碳足跡研究-洞察分析
- DB11-T 1191.3-2024 實驗室危險化學(xué)品安全管理要求 第3部分:科研單位
- 硬質(zhì)巖層組合切割開挖技術(shù)
- 2024解析:第二章聲現(xiàn)象-講核心(解析版)
- 2024年考研管理類綜合能力(199)真題及解析完整版
- 2024解析:第十章 浮力綜合應(yīng)用-講核心(解析版)
- 《讓座》(課件)西師大版音樂二年級上冊
- 藥物臨床試驗倫理審查應(yīng)急預(yù)案
- 書法培訓(xùn)合作合同范例
- 初級電工證考試試題庫(含答案)
評論
0/150
提交評論