版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第六章關(guān)系數(shù)據(jù)理論6.1問題的提出6.2標(biāo)準(zhǔn)化6.3數(shù)據(jù)依賴的公理系統(tǒng)6.4*模式的分解6.5小結(jié)26.1問題的提出如何設(shè)計(jì)一個(gè)好的關(guān)系模式,如何設(shè)計(jì)出好的數(shù)據(jù)庫(kù)模式?關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)化理論是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的有力工具,它可以幫助我們?cè)O(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù)模式,是關(guān)系數(shù)據(jù)庫(kù)的理論根底。一、關(guān)系模式的形式化定義二、什么是數(shù)據(jù)依賴三、數(shù)據(jù)依賴對(duì)關(guān)系模式影響3一、關(guān)系模式的形式化定義關(guān)系、關(guān)系模式、關(guān)系數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù)的模式
關(guān)系模式由五局部組成,即它是一個(gè)五元組:R(U,D,DOM,F)R:關(guān)系名U:組成該關(guān)系的屬性名集合D:屬性組U中屬性所來自的域DOM:屬性向域的映象集合F:屬性間數(shù)據(jù)依賴集合簡(jiǎn)化為一個(gè)三元組:R〔U,F〕4二、什么是數(shù)據(jù)依賴1.數(shù)據(jù)依賴一個(gè)關(guān)系內(nèi)部屬性與屬性之間的約束關(guān)系現(xiàn)實(shí)世界屬性間相互聯(lián)系的抽象數(shù)據(jù)內(nèi)在的性質(zhì)語(yǔ)義的表達(dá)2.數(shù)據(jù)依賴的類型函數(shù)依賴〔FunctionalDependency,簡(jiǎn)記為FD〕多值依賴〔MultivaluedDependency,簡(jiǎn)記為MVD〕其他5三、數(shù)據(jù)依賴對(duì)關(guān)系模式的影響對(duì)函數(shù)依賴的認(rèn)識(shí):在數(shù)學(xué)中的函數(shù)y=f(x),自變x確定之后,相應(yīng)的函數(shù)值y也就惟一地確定了。類似的,在student關(guān)系中,學(xué)號(hào)值確定之后,姓名和系的值也就惟一地確定了:
Sname=f(Sno),Sdept=f(Sno),因此我們稱Sno函數(shù)決定Sname,Sno函數(shù)決定Sdept,或者說Sname和Sdept函數(shù)依賴于Sno,記為Sno→Sname,Sno→Sdept6數(shù)據(jù)依賴對(duì)關(guān)系模式的影響〔續(xù)〕[例1]建立一個(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}學(xué)校教務(wù)數(shù)據(jù)庫(kù)的語(yǔ)義:1.一個(gè)系有假設(shè)干學(xué)生,一個(gè)學(xué)生只屬于一個(gè)系;⒉一個(gè)系只有一名主任;⒊一個(gè)學(xué)生可以選修多門課程,每門課程有假設(shè)干學(xué)生選修;⒋每個(gè)學(xué)生所學(xué)的每門課程都有一個(gè)成績(jī)。7數(shù)據(jù)依賴對(duì)關(guān)系模式的影響〔續(xù)〕
屬性組U上的一組函數(shù)依賴F:
F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}
Sno
Cname
Sdept
Mname
Grade
8數(shù)據(jù)依賴對(duì)關(guān)系模式的影響〔續(xù)〕SnoSdeptMnameCnoGrade95001CS張明C19595002CS張明C19095003CS張明C19195004CS張明C18795005CS張明C18695006CS張明C18895007CS張明C183……………Student表9關(guān)系模式Student<U,F>中存在的問題
⒈數(shù)據(jù)冗余太大,浪費(fèi)大量的存儲(chǔ)空間。如每一個(gè)系主任的姓名重復(fù)出現(xiàn)。⒉更新異?!睻pdateAnomalies〕由于數(shù)據(jù)冗余,更新數(shù)據(jù)時(shí)維護(hù)數(shù)據(jù)完整性代價(jià)大,否那么可能出現(xiàn)數(shù)據(jù)不一致。如某系更換系主任后,系統(tǒng)必須修改與該系學(xué)生有關(guān)的每一個(gè)元組。⒊插入異?!睮nsertionAnomalies〕如果一個(gè)系剛成立,尚無(wú)學(xué)生,我們就無(wú)法把這個(gè)系及其系主任的信息存入數(shù)據(jù)庫(kù)。⒋刪除異常〔DeletionAnomalies〕如果某個(gè)系的學(xué)生全部畢業(yè)了,我們?cè)趧h除該系學(xué)生信息的同時(shí),把這個(gè)系及其系主任的信息也丟掉了。10數(shù)據(jù)依賴對(duì)關(guān)系模式的影響〔續(xù)〕結(jié)論:Student關(guān)系模式不是一個(gè)好的模式。“好〞的模式:不會(huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少原因:由存在于模式中的某些數(shù)據(jù)依賴引起的解決方法:通過分解關(guān)系模式來消除其中不適宜的數(shù)據(jù)依賴把這個(gè)單一模式分成3個(gè)關(guān)系模式:S〔Sno,Sdept,Sno→Sdept〕;SC〔Sno,Cno,Grade,〔Sno,Cno〕→Grade〕;DEPT〔Sdept,Mname,Sdept→Mname〕11第六章關(guān)系數(shù)據(jù)理論6.1問題的提出6.2標(biāo)準(zhǔn)化6.3數(shù)據(jù)依賴的公理系統(tǒng)*6.4模式的分解6.5小結(jié)126.2標(biāo)準(zhǔn)化
標(biāo)準(zhǔn)化理論研究關(guān)系模式中的數(shù)據(jù)依賴,用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不適宜的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)136.2.1函數(shù)依賴一、函數(shù)依賴的定義二、平凡函數(shù)依賴與非平凡函數(shù)依賴三、完全函數(shù)依賴與局部函數(shù)依賴四、傳遞函數(shù)依賴一、函數(shù)依賴的定義定義6.1設(shè)R(U)是一個(gè)屬性集U上的關(guān)系模式,X和Y是U的子集。假設(shè)對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,那么稱“X函數(shù)確定Y〞或“Y函數(shù)依賴于X〞,記作X→Y。注:即假設(shè)x1=x2,那么y1=y2(注意屬性組的值相等與不等〕例:Student(Sno,Sname,Ssex,Sage,Sdept)假設(shè)不允許重名那么有:Sno→Ssex,Sno→Sage,Sno→Sdept,Sno←→Sname,Sname→Ssex,Sname→SageSname→Sdept但Ssex→Sage說明:
1.函數(shù)依賴不是指關(guān)系模式R的某個(gè)或某些關(guān)系實(shí)例滿足的約束條件,而是指R的所有關(guān)系實(shí)例均要滿足的約束條件。2.函數(shù)依賴是語(yǔ)義范疇的概念。只能根據(jù)數(shù)據(jù)的語(yǔ)義來確定函數(shù)依賴。例如“姓名→年齡〞這個(gè)函數(shù)依賴只有在不允許有同名人的條件下成立3.假設(shè)X→Y,并且Y→X,那么記為X←→Y〔對(duì)稱依賴〕假設(shè)Y不函數(shù)依賴于X,那么記為X→Y4.假設(shè)X→Y,X稱為決定屬性集,也稱為決定因素二、平凡函數(shù)依賴與非平凡函數(shù)依賴在關(guān)系模式R(U)中,對(duì)于U的子集X和Y,如果X→Y,但YX,那么稱X→Y是非平凡的函數(shù)依賴假設(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對(duì)于任一關(guān)系模式,平凡函數(shù)依賴都是必然成立的,它不反映新的語(yǔ)義,因此假設(shè)不特別聲明,我們總是討論非平凡函數(shù)依賴。三、完全函數(shù)依賴與局部函數(shù)依賴定義6.2在關(guān)系模式R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,都有X’Y,那么稱Y完全函數(shù)依賴于X,記作XfY。假設(shè)X→Y,但Y不完全函數(shù)依賴于X,那么稱Y局部函數(shù)依賴于X,記作XPY。例:在關(guān)系SC(Sno,Cno,Grade)中,由于:Sno→Grade,Cno→Grade,因此:(Sno,Cno)fGrade四、傳遞函數(shù)依賴定義6.3在關(guān)系模式R(U)中,如果X→Y,Y→Z,且YX,Y→X,那么稱Z傳遞函數(shù)依賴于X,記為X傳遞Z。注:如果Y→X,即X←→Y,那么稱Z直接依賴于X,記為X直接Z。例:在關(guān)系Std(Sno,Sdept,Mname)中,有: Sno→Sdept,Sdept→MnameMname傳遞函數(shù)依賴于Sno196.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)206.2.2碼定義6.4設(shè)K為R<U,F>中的屬性或?qū)傩越M合。假設(shè)KU,那么K稱為R的侯選碼〔CandidateKey〕。(k1=k2那么u1=u2)假設(shè)候選碼多于一個(gè),那么選定其中的一個(gè)做為主碼〔PrimaryKey〕。F主屬性與非主屬性包含在任何一個(gè)候選碼中的屬性,稱為主屬性〔Primeattribute〕不包含在任何碼中的屬性稱為非主屬性〔Nonprimeattribute〕或非碼屬性〔Non-keyattribute〕全碼:整個(gè)屬性組是碼,稱為全碼〔All-key〕21碼〔續(xù)〕[例2]關(guān)系模式S(Sno,Sdept,Sage),單個(gè)屬性Sno是碼,SC〔Sno,Cno,Grade〕中,〔Sno,Cno〕是碼[例3]關(guān)系模式R〔P,W,A〕P:演奏者W:作品A:聽眾一個(gè)演奏者可以演奏多個(gè)作品某一作品可被多個(gè)演奏者演奏聽眾可以欣賞不同演奏者的不同作品碼為(P,W,A),即All-KeyPWAp1w1a1p1w2a2p2w1a1p1w1a2p1w2a122外部碼定義6.5關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,那么稱X是R的外部碼〔Foreignkey〕也稱外碼如在SC〔Sno,Cno,Grade〕中,Sno不是碼,但Sno是關(guān)系模式S〔Sno,Sdept,Sage〕的碼,那么Sno是關(guān)系模式SC的外部碼主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段236.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)246.2.3范式范式是符合某一種級(jí)別的關(guān)系模式的集合關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式范式的種類:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF) BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)256.2.3范式〔續(xù)〕某一關(guān)系模式R為第n范式,可簡(jiǎn)記為R∈nNF。各種范式之間存在聯(lián)系:
一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為假設(shè)干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過程就叫標(biāo)準(zhǔn)化266.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)276.2.42NF1NF的定義 如果一個(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)系模式282NF〔續(xù)〕[例4]關(guān)系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方。函數(shù)依賴包括:
(Sno,Cno)FGrade
Sno→Sdept
(Sno,Cno)P
Sdept
Sno→Sloc
(Sno,Cno)P
Sloc
Sdept→Sloc
碼是什么?292NF〔續(xù)〕
S-L-C的碼為(Sno,Cno)S-L-C滿足第一范式。非主屬性Sdept和Sloc局部函數(shù)依賴于碼(Sno,Cno)Sno
Cno
GradeSdept
Sloc
S-L-C30S-L-C不是一個(gè)好的關(guān)系模式〔續(xù)〕(1)插入異常 假設(shè)Sno=95102,Sdept=IS,Sloc=N的學(xué)生還未選課,因課程號(hào)是主屬性,因此該學(xué)生的信息無(wú)法插入SLC。(2)刪除異常假定某個(gè)學(xué)生本來只選修了3號(hào)課程這一門課。現(xiàn)在因身體不適,他連3號(hào)課程也不選修了。因課程號(hào)是主屬性,此操作將導(dǎo)致該學(xué)生信息的整個(gè)元組都要?jiǎng)h除。(3)數(shù)據(jù)冗余度大如果一個(gè)學(xué)生選修了10門課程,那么他的Sdept和Sloc值就要重復(fù)存儲(chǔ)了10次。
31S-L-C不是一個(gè)好的關(guān)系模式〔續(xù)〕原因Sdept、Sloc局部函數(shù)依賴于碼。解決方法S-L-C分解為兩個(gè)關(guān)系模式,以消除這些局部函數(shù)依賴SC〔Sno,Cno,Grade〕S-L〔Sno,Sdept,Sloc〕322NF〔續(xù)〕函數(shù)依賴圖:Sno
CnoGradeSCS-LSno
Sdept
Sloc
關(guān)系模式SC的碼為〔Sno,Cno〕關(guān)系模式S-L的碼為Sno這樣非主屬性對(duì)碼都是完全函數(shù)依賴332NF〔續(xù)〕2NF的定義 定義6.6假設(shè)R∈1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,那么R∈2NF。 例:S-L-C(Sno,Sdept,Sloc,Cno,Grade)∈1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)∈2NF SC〔Sno,Cno,Grade〕∈2NF S-L〔Sno,Sdept,Sloc〕∈2NF
采用投影分解法將一個(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ù)冗余。346.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)356.2.53NF3NF的定義 定義6.7關(guān)系模式R<U,F(xiàn)>中假設(shè)不存在這樣的碼X、屬性組Y及非主屬性Z〔ZY〕,使得X→Y,Y→Z成立,Y→X,那么稱R<U,F(xiàn)>∈3NF。假設(shè)R∈3NF,那么每一個(gè)非主屬性既不局部依賴于碼也不傳遞依賴于碼。363NF〔續(xù)〕例:2NF關(guān)系模式S-L(Sno,Sdept,Sloc)中函數(shù)依賴:
Sno→Sdept
Sdept→Sno
Sdept→Sloc
可得:
Sno→Sloc,即S-L中存在非主屬性對(duì)碼的傳遞函數(shù)依賴,S-L∈3NF
傳遞S-LSno
Sdept
Sloc
373NF〔續(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中不再存在傳遞依賴S-L(Sno,Sdept,Sloc)∈2NFS-L(Sno,Sdept,Sloc)∈3NFS-D(Sno,Sdept)
∈3NFD-L(Sdept,
Sloc)∈3NF383NF〔續(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ù)冗余。396.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)406.2.6BC范式〔BCNF〕定義6.8關(guān)系模式R<U,F(xiàn)>∈1NF,假設(shè)X→Y且YX時(shí)X必含有碼,那么R<U,F(xiàn)>∈BCNF。等價(jià)于:每一個(gè)決定屬性因素都包含碼,不存在非碼的完全函數(shù)依賴。假設(shè)R∈BCNF所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴所有的主屬性對(duì)每一個(gè)不包含它的碼,也是完全函數(shù)依賴沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性R∈BCNFR∈3NF充分不必要41BCNF〔續(xù)〕[例5]關(guān)系模式C〔Cno,Cname,Pcno〕C∈3NFC∈BCNF[例6]關(guān)系模式S〔Sno,Sname,Sdept,Sage〕假定S有兩個(gè)碼Sno,SnameS∈3NF。S∈BCNF[例7]關(guān)系模式SJP〔S,J,P〕函數(shù)依賴:〔S,J〕→P;(J,P〕→S〔S,J〕與〔J,P〕都可以作為候選碼,屬性相交SJP∈3NF,SJP∈BCNF42BCNF〔續(xù)〕[例8]在關(guān)系模式STJ〔S,T,J〕中,S表示學(xué)生,T表示教師,J表示課程。函數(shù)依賴:(S,J)→T,(S,T)→J,T→J〔一個(gè)教師只上一門課〕(S,J)和(S,T)都是候選碼43BCNF〔續(xù)〕JSJTSTSTJ中的函數(shù)依賴STJ∈3NF
沒有任何非主屬性對(duì)碼傳遞依賴或局部依賴
STJ∈BCNFT是決定因素,T不包含碼44BCNF〔續(xù)〕解決方法:將STJ分解為二個(gè)關(guān)系模式:ST(S,T)∈BCNF,TJ(T,J)∈BCNF
沒有任何屬性對(duì)碼的局部函數(shù)依賴和傳遞函數(shù)依賴SJSTTJTJ453NF與BCNF的關(guān)系
R∈BCNFR∈3NF如果R∈3NF,且R只有一個(gè)候選碼
R∈BCNFR∈3NF
充分不必要充分必要466.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)476.2.7多值依賴?yán)?學(xué)校中某一門課程由多個(gè)教師講授,他們使用相同的一套參考書。關(guān)系模式Teach(C,T,B)課程C、教師T、參考書B課程C教員T參考書B
物理
數(shù)學(xué)
計(jì)算數(shù)學(xué)李勇王軍
李強(qiáng)張平
張平周峰
普通物理學(xué)光學(xué)原理物理習(xí)題集
數(shù)學(xué)分析微分方程高等代數(shù)
數(shù)學(xué)分析
48普通物理學(xué)光學(xué)原理物理習(xí)題集普通物理學(xué)光學(xué)原理物理習(xí)題集數(shù)學(xué)分析微分方程高等代數(shù)數(shù)學(xué)分析微分方程高等代數(shù)…李勇
李勇李勇王軍
王軍王軍李勇李勇李勇張平張平張平
…
物理物理物理物理物理物理數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)…參考書B教員T課程C多值依賴〔續(xù)〕用二維表表示Teach49多值依賴〔續(xù)〕Teach∈BCNFTeach具有唯一候選碼(C,T,B),即全碼Teach模式中存在的問題(1)數(shù)據(jù)冗余度大:有多少名任課教師,參考書就要存儲(chǔ)多少次(2)插入操作復(fù)雜:當(dāng)某一課程增加一名任課教師時(shí),該課程有多少本參考書,就必須插入多少個(gè)元組。例如物理課增加一名教師劉關(guān),需要插入三個(gè)元組:〔物理,劉關(guān),普通物理學(xué)〕〔物理,劉關(guān),光學(xué)原理〕〔物理,劉關(guān),物理習(xí)題集〕50多值依賴〔續(xù)〕(3)刪除操作復(fù)雜:某一門課要去掉一本參考書,該課程有多少名教師,就必須刪除多少個(gè)元組(4)修改操作復(fù)雜:某一門課要修改一本參考書,該課程有多少名教師,就必須修改多少個(gè)元組產(chǎn)生原因:存在多值依賴51多值依賴〔續(xù)〕定義6.9設(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值無(wú)關(guān)例Teach〔C,T,B〕C→→B(X=C,Y=T,Z=B)C→→T(X=C,Y=B,Z=T)52多值依賴〔續(xù)〕平凡多值依賴和非平凡的多值依賴 假設(shè)X→→Y,而Z=φ,那么稱X→→Y為平凡的多值依賴 否那么稱X→→Y為非平凡的多值依賴536.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)546.2.84NF定義6.10關(guān)系模式R<U,F(xiàn)>∈1NF,如果對(duì)于R的每個(gè)非平凡多值依賴X→→Y〔YX〕,X都含有碼,那么R∈4NF。如果R∈4NF,那么R∈BCNF不允許有非平凡且非函數(shù)依賴的多值依賴允許的非平凡多值依賴是函數(shù)依賴554NF〔續(xù)〕例:Teach(C,T,B)∈4NF
存在非平凡的多值依賴C→→T,且C不是碼用投影分解法把Teach分解為如下兩個(gè)關(guān)系模式:
CT(C,T)∈4NF CB(C,B)∈4NFC→→T,C→→B是平凡多值依賴
566.2標(biāo)準(zhǔn)化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9標(biāo)準(zhǔn)化小結(jié)576.2.9標(biāo)準(zhǔn)化小結(jié)關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)化理論是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的工具目的:盡量消除插入、刪除異常,修改復(fù)雜,數(shù)據(jù)冗余根本思想:逐步消除數(shù)據(jù)依賴中不適宜的局部實(shí)質(zhì):概念的單一化58標(biāo)準(zhǔn)化小結(jié)〔續(xù)〕關(guān)系模式標(biāo)準(zhǔn)化的根本步驟
1NF ↓消除非主屬性對(duì)碼的局部函數(shù)依賴消除決定屬性2NF集非碼的非平↓消除非主屬性對(duì)碼的傳遞函數(shù)依賴凡函數(shù)依賴3NF ↓消除主屬性對(duì)碼的局部和傳遞函數(shù)依賴BCNF ↓消除非平凡且非函數(shù)依賴的多值依賴4NF59標(biāo)準(zhǔn)化小結(jié)〔續(xù)〕不能說標(biāo)準(zhǔn)化程度越高的關(guān)系模式就越好在設(shè)計(jì)數(shù)據(jù)庫(kù)模式結(jié)構(gòu)時(shí),必須對(duì)現(xiàn)實(shí)世界的實(shí)際情況和用戶應(yīng)用需求作進(jìn)一步分析,確定一個(gè)適宜的、能夠反映現(xiàn)實(shí)世界的模式上面的標(biāo)準(zhǔn)化步驟可以在其中任何一步終止60第六章關(guān)系數(shù)據(jù)理論6.1問題的提出6.2標(biāo)準(zhǔn)化6.3數(shù)據(jù)依賴的公理系統(tǒng)〔*〕6.4模式的分解6.5小結(jié)616.4模式的分解把低一級(jí)的關(guān)系模式分解為假設(shè)干個(gè)高一級(jí)的關(guān)系模式的方法不是唯一的。只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價(jià),分解方法才有意義。62關(guān)系模式分解的標(biāo)準(zhǔn)⒈分解具有無(wú)損連接性無(wú)損連接是指分解后的關(guān)系通過自然連接可以恢復(fù)成原來的關(guān)系,即通過自然連接得到的關(guān)系與原來的關(guān)系相比,既不多出信息、又不喪失信息。⒉分解要保持函數(shù)依賴保持函數(shù)依賴分解是指在模式的分解過程中,函數(shù)依賴不能喪失的特性,即模式分解不能破壞原來的語(yǔ)義。⒊分解既要保持函數(shù)依賴,又要具有無(wú)損連接性63關(guān)系模式分解的標(biāo)準(zhǔn)將一個(gè)關(guān)系模式R<U,F(xiàn)>分解為假設(shè)干個(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ù)分散到了假設(shè)干個(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中原來沒有的元組,從而無(wú)法區(qū)別哪些元組是r中原來有的,即數(shù)據(jù)庫(kù)中應(yīng)該存在的數(shù)據(jù),哪些是不應(yīng)該有的。在這個(gè)意義上就喪失了信息。64無(wú)損連接性:將關(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>,假設(shè)對(duì)于R中的任何一個(gè)可能的r,都有r=r1*r2*…*rn,即r在R1,R2,…,Rn上的投影的自然連接等于r,那么稱關(guān)系模式R的這個(gè)分解具有無(wú)損連接性。關(guān)系模式分解的標(biāo)準(zhǔn)65關(guān)系模式分解的標(biāo)準(zhǔn)例: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í)除了提高標(biāo)準(zhǔn)化程度之外,還需要考慮其他的一些因素。66關(guān)系模式分解的標(biāo)準(zhǔn)
這三種分解方案是否都滿足分解要求呢?假設(shè)此關(guān)系模式的數(shù)據(jù)如表所示,此關(guān)系用r表示。Sno
Dept
Loc
S01D1L1S02D2L2S03D2L2S04D3L167關(guān)系模式分解的標(biāo)準(zhǔn)假設(shè)按方案1將S-D-L投影到S-L和D-L的屬性上,得到如表a和b所示的關(guān)系。做自然連接得到結(jié)果如表c所示。Sno
Loc
S01L1S02L2S03
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車制造電腦設(shè)備采購(gòu)合同
- 行業(yè)競(jìng)爭(zhēng)態(tài)勢(shì)分析-第1篇-洞察分析
- 2023年員工三級(jí)安全培訓(xùn)考試題帶答案(突破訓(xùn)練)
- 2023年-2024年新員工入職前安全教育培訓(xùn)試題附答案【突破訓(xùn)練】
- 2023年-2024年生產(chǎn)經(jīng)營(yíng)單位安全教育培訓(xùn)試題附完整答案(典優(yōu))
- 頭孢甲肟的抗菌機(jī)制與細(xì)菌生長(zhǎng)周期-洞察分析
- 2023年-2024年項(xiàng)目管理人員安全培訓(xùn)考試題附參考答案(黃金題型)
- 醫(yī)療儀器數(shù)據(jù)挖掘-洞察分析
- 投行業(yè)務(wù)拓展-洞察分析
- web前端工程師實(shí)習(xí)心得體會(huì)
- TSG 51-2023 起重機(jī)械安全技術(shù)規(guī)程 含2024年第1號(hào)修改單
- 《正態(tài)分布理論及其應(yīng)用研究》4200字(論文)
- GB/T 45086.1-2024車載定位系統(tǒng)技術(shù)要求及試驗(yàn)方法第1部分:衛(wèi)星定位
- 浙江省杭州市錢塘區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期英語(yǔ)期末試卷
- 1古詩(shī)文理解性默寫(教師卷)
- 廣東省廣州市越秀區(qū)2021-2022學(xué)年九年級(jí)上學(xué)期期末道德與法治試題(含答案)
- 2024-2025學(xué)年六上科學(xué)期末綜合檢測(cè)卷(含答案)
- 在線教育平臺(tái)合作合同助力教育公平
- 工地鋼板短期出租合同模板
- 女排精神課件教學(xué)課件
- 2024年湖南省公務(wù)員考試《行測(cè)》真題及答案解析
評(píng)論
0/150
提交評(píng)論