《數(shù)據(jù)庫(kù)原理與應(yīng)用》課件ch4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論_第1頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用》課件ch4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論_第2頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用》課件ch4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論_第3頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用》課件ch4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論_第4頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用》課件ch4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論

本章內(nèi)容

4.1問(wèn)題導(dǎo)入(why)4.2函數(shù)依賴(lài)及關(guān)系的范式4.3函數(shù)依賴(lài)的公理系統(tǒng)

學(xué)習(xí)目標(biāo)理解關(guān)系模式規(guī)范化的必要性;理解數(shù)據(jù)依賴(lài)、函數(shù)依賴(lài)、邏輯蘊(yùn)涵及其范式的概念;掌握各種范式判定的條件及關(guān)系數(shù)據(jù)庫(kù)規(guī)范化的過(guò)程,并能夠根據(jù)應(yīng)用語(yǔ)義,完整地寫(xiě)出關(guān)系模式的數(shù)據(jù)依賴(lài)集合,同時(shí)能根據(jù)數(shù)據(jù)依賴(lài)分析某一個(gè)關(guān)系模式滿(mǎn)足第幾范式;掌握數(shù)據(jù)依賴(lài)的公理系統(tǒng),屬性集閉包的含義和作用,模式分解的準(zhǔn)則;掌握運(yùn)用規(guī)范化理論設(shè)計(jì)滿(mǎn)足實(shí)際應(yīng)用需求的數(shù)據(jù)庫(kù)。第4章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論

重點(diǎn)與難點(diǎn)重點(diǎn):關(guān)系規(guī)范化的必要性,函數(shù)依賴(lài)、范式的基本概念和定義,關(guān)系規(guī)范化的方法。難點(diǎn):屬性集閉包,邏輯蘊(yùn)涵,碼的求解方法。第4章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.1問(wèn)題導(dǎo)入4.1.1關(guān)系模式規(guī)范化的必要性規(guī)范化設(shè)計(jì)是指面對(duì)一個(gè)應(yīng)用問(wèn)題,如何選擇一個(gè)比較好的關(guān)系模式集合。規(guī)范化設(shè)計(jì)理論數(shù)據(jù)依賴(lài)范式模式設(shè)計(jì)方法研究數(shù)據(jù)間自然聯(lián)系與約束關(guān)系模式的標(biāo)準(zhǔn)設(shè)計(jì)的基礎(chǔ)核心4.1問(wèn)題導(dǎo)入數(shù)據(jù)依賴(lài)屬性到域上的映射關(guān)系域?qū)傩约疪(U,D,dom,F(xiàn))關(guān)系名

關(guān)系模式通常簡(jiǎn)記為:R(U,F(xiàn))。關(guān)系模式由五部分組成,即它是一個(gè)五元組。4.1問(wèn)題導(dǎo)入1.導(dǎo)入案例以高校圖書(shū)管理系統(tǒng)的數(shù)據(jù)庫(kù)為例。假如將數(shù)據(jù)庫(kù)模式設(shè)計(jì)為一個(gè)關(guān)系,則關(guān)系模式為:圖書(shū)管理(讀者卡號(hào),姓名,性別,辦卡日期,圖書(shū)編號(hào),書(shū)名,類(lèi)別,作者,單價(jià),出版社,出版社地址,出版日期,庫(kù)存數(shù)量,借書(shū)日期,還書(shū)日期)4.1問(wèn)題導(dǎo)入圖書(shū)管理關(guān)系

4.1問(wèn)題導(dǎo)入2.關(guān)系可能出現(xiàn)的問(wèn)題(存在的異常)

1)數(shù)據(jù)冗余大2)插入異常

3)刪除異常

4)更新異常

4.1問(wèn)題導(dǎo)入4.1.2關(guān)系模式的規(guī)范化

為什么關(guān)系模式會(huì)存在多種操作異常?

原因:

結(jié)構(gòu)設(shè)計(jì)不合理,即屬性之間存在著過(guò)多不同程度的數(shù)

據(jù)依賴(lài)關(guān)系。注:關(guān)系模式中除了所有屬性對(duì)碼屬性的數(shù)據(jù)依賴(lài)外,還存在其他屬性之間存在的數(shù)據(jù)依賴(lài)關(guān)系。

4.1問(wèn)題導(dǎo)入

將“圖書(shū)管理”關(guān)系模式通過(guò)投影分解為:

讀者(讀者卡號(hào),姓名,性別,單位,辦卡日期)

圖書(shū)(圖書(shū)編號(hào),書(shū)名,類(lèi)別,作者,單價(jià),出版社名稱(chēng),出版日期,庫(kù)存數(shù)量)

出版社(出版社名稱(chēng),地址)

借閱(讀者卡號(hào),圖書(shū)編號(hào),借書(shū)日期,還書(shū)日期)

4.1問(wèn)題導(dǎo)入1.關(guān)系模式規(guī)范化的概念

規(guī)范化把一個(gè)存在數(shù)據(jù)冗余大、插入異常、刪除異常和更新異常等情況的關(guān)系模式通過(guò)模式分解的方法轉(zhuǎn)換為“較好”關(guān)系模式的集合,這個(gè)過(guò)程叫做關(guān)系模式的規(guī)范化。

4.1問(wèn)題導(dǎo)入2.關(guān)系模式應(yīng)滿(mǎn)足的基本要求

1)元組的每個(gè)分量必須是不可分割的數(shù)據(jù)項(xiàng)出版社出版社地址省市西安電子大學(xué)出版社陜西省西安市西南財(cái)經(jīng)大學(xué)出版社四川省成都市4.1問(wèn)題導(dǎo)入2)數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余應(yīng)盡可能少數(shù)據(jù)冗余是數(shù)據(jù)庫(kù)最忌諱的問(wèn)題。

圖書(shū)編號(hào)書(shū)名作者單價(jià)出版社名稱(chēng)地址JSJ001Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)魏偉一59.00清華大學(xué)出版社北京JSJ003數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程衛(wèi)琳42.00清華大學(xué)出版社北京JSJ006Web前端開(kāi)發(fā)劉敏娜49.00清華大學(xué)出版社北京4.1問(wèn)題導(dǎo)入

圖書(shū)信息插入異常3)在插入數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)不能產(chǎn)生插入異?,F(xiàn)象圖書(shū)編號(hào)書(shū)名作者出版社名稱(chēng)地址JSJ001Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)魏偉一清華大學(xué)出版社北京JSJ002機(jī)器學(xué)習(xí)趙衛(wèi)東人民郵電出版社北京JSJ003數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程衛(wèi)琳清華大學(xué)出版社北京JSJ004瘋狂Java講義(第5版)李剛電子工業(yè)出版社北京JSJ005大數(shù)據(jù)分析程學(xué)旗高等教育出版社北京JSJ006Web前端開(kāi)發(fā)劉敏娜清華大學(xué)出版社北京

北京大學(xué)出版社北京圖書(shū)編號(hào)書(shū)名作者出版社名稱(chēng)地址GL0001APP營(yíng)銷(xiāo)實(shí)戰(zhàn)譚賢人民郵電出版社北京GL0002產(chǎn)品經(jīng)理的自我修煉張晨靜人民郵電出版社北京GL0003管理學(xué)原理趙玉田科學(xué)出版社北京JSJ001Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)魏偉一清華大學(xué)出版社北京JSJ002機(jī)器學(xué)習(xí)趙衛(wèi)東人民郵電出版社北京JSJ003數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程衛(wèi)琳清華大學(xué)出版社北京JSJ004瘋狂Java講義(第5版)李剛電子工業(yè)出版社北京JSJ005大數(shù)據(jù)分析程學(xué)旗高等教育出版社北京SK0001請(qǐng)不要辜負(fù)這個(gè)時(shí)代周小平南海出版社北京4.1問(wèn)題導(dǎo)入4)數(shù)據(jù)庫(kù)中的數(shù)據(jù)不能在刪除操作時(shí)產(chǎn)生刪除異?,F(xiàn)象

圖書(shū)信息刪除異常圖書(shū)編號(hào)書(shū)名作者出版社名稱(chēng)地址JSJ001Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)魏偉一清華大學(xué)出版社北京JSJ002機(jī)器學(xué)習(xí)趙衛(wèi)東人民郵電出版社北京JSJ003數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程衛(wèi)琳清華大學(xué)出版社北京JSJ004瘋狂Java講義(第5版)李剛電子工業(yè)出版社北京JSJ005大數(shù)據(jù)分析程學(xué)旗高等教育出版社北京JSJ006Web前端開(kāi)發(fā)劉敏娜清華大學(xué)出版社北京JSJ007MySQL管理之道:性能調(diào)優(yōu)、高可用與監(jiān)控賀春旸機(jī)械工業(yè)出版社上海JSJ008數(shù)據(jù)庫(kù)原理及應(yīng)用

SQLServer2019(第2版)賈鐵軍機(jī)械工業(yè)出版社北京4.1問(wèn)題導(dǎo)入

數(shù)據(jù)不一致5)關(guān)系數(shù)據(jù)庫(kù)不能因?yàn)閿?shù)據(jù)更新而引起數(shù)據(jù)不一致問(wèn)題6)數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)考慮查詢(xún)要求,數(shù)據(jù)組織要合理4.1問(wèn)題導(dǎo)入提出問(wèn)題:

①怎樣評(píng)價(jià)一個(gè)關(guān)系模式的優(yōu)劣;②如何將一個(gè)不理想的關(guān)系模式分解為較好的關(guān)系模式。4.2函數(shù)依賴(lài)及關(guān)系的范式4.2.1函數(shù)依賴(lài)的定義關(guān)系模式通常簡(jiǎn)記為:R(U,F(xiàn)),其中F為數(shù)據(jù)依賴(lài)集,數(shù)據(jù)依賴(lài)是同一關(guān)系中屬性間的相互依賴(lài)和相互制約。數(shù)據(jù)依賴(lài)多值依賴(lài)函數(shù)依賴(lài)連接依賴(lài)FD是最基本的一種數(shù)據(jù)依賴(lài)形式,是關(guān)系模式中屬性之間最常見(jiàn)的一種依賴(lài)關(guān)系,也是關(guān)系模式最重要的一種約束。4.2函數(shù)依賴(lài)及關(guān)系的范式1.函數(shù)依賴(lài)的定義設(shè)R(U)是屬性集U上的關(guān)系模式,X,Y?U,r是R的任意一個(gè)關(guān)系實(shí)例。如果對(duì)于r中的任意兩個(gè)元組u、v,若u[X]=v[X],就有u[Y]=v[Y],則稱(chēng)X函數(shù)確定Y,或Y函數(shù)依賴(lài)于X,記為X→Y。

X稱(chēng)作決定因素(determinant)

Y稱(chēng)作依賴(lài)因素(dependent)函數(shù)依賴(lài)舉例圖中所示的是滿(mǎn)足函數(shù)依賴(lài)AB

C的關(guān)系模式R(A,B,C,D)的一個(gè)關(guān)系實(shí)例。對(duì)于任意兩個(gè)在屬性集{A,B}上取值相同的元組,它們?cè)趯傩訡上的取值也相同。ABCDa1b1c1d1a1b1c1d2a1b2c1d1a2b1c3d1滿(mǎn)足函數(shù)依賴(lài)AB

C的一個(gè)關(guān)系實(shí)例如果在圖中新增加一個(gè)元組(a1,b1,c2,

d1),請(qǐng)問(wèn):AB

C

還成立嗎?4.2函數(shù)依賴(lài)及關(guān)系的范式4.2函數(shù)依賴(lài)及關(guān)系的范式對(duì)于函數(shù)依賴(lài),7點(diǎn)說(shuō)明:(1)是指R中所有關(guān)系實(shí)例都要滿(mǎn)足的約束條件。(2)是語(yǔ)義范疇的概念,只能據(jù)數(shù)據(jù)的語(yǔ)義來(lái)確定函數(shù)依賴(lài)。(3)數(shù)據(jù)庫(kù)設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界做強(qiáng)制的規(guī)定。(4)X→Y,但Y

X,則稱(chēng)X→Y是平凡的函數(shù)依賴(lài)。(5)X→Y,但Y

X,則稱(chēng)X→Y是非平凡的函數(shù)依賴(lài)。

XYXY(a)非平凡函數(shù)依賴(lài)(b)平凡函數(shù)依賴(lài)非平凡及平凡函數(shù)依賴(lài)圖(6)若X→Y,Y→X,則X與Y相互依賴(lài),記為X?Y。(7)若Y不函數(shù)依賴(lài)于X,則記為X→Y。4.2函數(shù)依賴(lài)及關(guān)系的范式2.函數(shù)依賴(lài)的分類(lèi)

1)完全函數(shù)依賴(lài)設(shè)R(U)是屬性集U上的關(guān)系,X'?X,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,都不存在X’→Y,則稱(chēng)Y對(duì)X完全函數(shù)依賴(lài),記為

2)部分函數(shù)依賴(lài)設(shè)R(U)是屬性集U上的關(guān)系,X'?X,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,存在X’→Y成立,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài),也就是Y不完全函數(shù)依賴(lài)于X,記為

4.2函數(shù)依賴(lài)及關(guān)系的范式3)傳遞函數(shù)依賴(lài)在R(U)中,X,Y,Z是U的子集,如果X→Y(YX),Y→Z(Z?Y),Y→X不成立,則稱(chēng)Z對(duì)X傳遞函數(shù)依賴(lài),記為。注意:如果Y→X成立,則Z與X存在怎樣的依賴(lài)?如果,則Z與X存在怎樣的依賴(lài)?4.2函數(shù)依賴(lài)及關(guān)系的范式3.碼設(shè)k為R(U,F(xiàn))中的屬性和屬性組合,k'是k的真子集,若k→U,且不存在k'→U成立,則k為R的候選碼(candidatekey),簡(jiǎn)稱(chēng)為碼。碼具有以下兩個(gè)性質(zhì):決定性(標(biāo)識(shí)的唯一性):對(duì)于R中的每一個(gè)元組,k值確定后,該元組就確定了。最小性(無(wú)冗余性):當(dāng)k是屬性集合時(shí),k的任何一部分都不能標(biāo)識(shí)該元組。4.2函數(shù)依賴(lài)及關(guān)系的范式4.2.2關(guān)系的范式及其規(guī)范化1.什么是范式

范式(normalform,NF),是指規(guī)范化的關(guān)系模式。從低一級(jí)的關(guān)系范式通過(guò)模式分解達(dá)到若干高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程叫做關(guān)系模式的規(guī)范化。4.2函數(shù)依賴(lài)及關(guān)系的范式2.范式的判定條件與規(guī)范化1)第一范式(1NF)1NF:在一個(gè)關(guān)系模式R中,如果R的每一個(gè)屬性都是不可再分的數(shù)據(jù)項(xiàng),則稱(chēng)R屬于第一范式1NF,記為R∈1NF。

1NF是對(duì)關(guān)系模式的最起碼的要求。不滿(mǎn)足第一范式的數(shù)據(jù)

庫(kù)模式不能稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)。(由關(guān)系屬性的原子性得出)。4.2函數(shù)依賴(lài)及關(guān)系的范式

分析:函數(shù)依賴(lài)示意圖讀者卡號(hào)單位圖書(shū)編號(hào)書(shū)名姓名作者出版社名稱(chēng)地址借書(shū)日期還書(shū)日期4.2函數(shù)依賴(lài)及關(guān)系的范式2)第二范式(2NF)

2NF:如果一個(gè)關(guān)系R屬于1NF,且它的每一個(gè)非主屬性都完全依賴(lài)于碼,則R屬于第二范式,記為R∈2NF。

讀者(讀者卡號(hào),姓名,性別,單位,辦卡日期)圖書(shū)(圖書(shū)編號(hào),書(shū)名,類(lèi)別,作者,單價(jià),出版社名稱(chēng),出版社地址,出版日期,庫(kù)存數(shù)量)

借閱(讀者卡號(hào),圖書(shū)編號(hào),借書(shū)日期,還書(shū)日期)推論:如果關(guān)系模式R滿(mǎn)足1NF,且它的每一個(gè)候選碼都是單屬性,則R屬于2NF。4.2函數(shù)依賴(lài)及關(guān)系的范式圖書(shū)(圖書(shū)編號(hào),書(shū)名,類(lèi)別,作者,單價(jià),出版社名稱(chēng),出版社地址,出版日期,庫(kù)存數(shù)量)

滿(mǎn)足2NF的關(guān)系模式還存在問(wèn)題嗎?圖書(shū)編號(hào)出版社名稱(chēng)地址4.2函數(shù)依賴(lài)及關(guān)系的范式3)第三范式(3NF)

3NF:如果一個(gè)關(guān)系模式R滿(mǎn)足2NF,并且每個(gè)非主屬性都不傳遞函數(shù)依賴(lài)于碼,則R屬于第三范式,記為R∈3NF。

圖書(shū)(圖書(shū)編號(hào),書(shū)名,類(lèi)別,作者,單價(jià),出版社名稱(chēng),出版日期,庫(kù)存數(shù)量)出版社(出版社名稱(chēng),地址)推論1:如果一個(gè)關(guān)系模式R滿(mǎn)足1NF,并且它的每一個(gè)非主屬性既不部分依賴(lài)于碼,也不傳遞依賴(lài)于任何候選碼,則R屬于3NF。推論2:如果一個(gè)關(guān)系模式R不存在非主屬性,則R一定為3NF。4.2函數(shù)依賴(lài)及關(guān)系的范式【例4-2】關(guān)系模式R(學(xué)號(hào),課程號(hào),課程名,成績(jī)),假設(shè)課程號(hào),課程名都具有唯一性,判斷此關(guān)系滿(mǎn)足第幾范式。

分析:候選碼分別:(學(xué)號(hào),課程號(hào))、(學(xué)號(hào),課程名)。F={(學(xué)號(hào),課程號(hào))→成績(jī),(學(xué)號(hào),課程名)→成績(jī),課程號(hào)→課程名,課程名→課程號(hào)};

得出:

存在主屬性課程名對(duì)碼(學(xué)號(hào),課程號(hào))的部分依賴(lài),存在主屬性課程號(hào)對(duì)碼(學(xué)號(hào),課程名)的部分依賴(lài)。不存在非主屬性成績(jī)對(duì)碼的部分依賴(lài)和傳遞函數(shù)依賴(lài)所以此關(guān)系屬于3NF,但不屬于BCNF。4.2函數(shù)依賴(lài)及關(guān)系的范式4)BCNF

BCNF:如果關(guān)系模式R(U,F(xiàn))∈1NF。若F中任一函數(shù)依賴(lài)X→Y且YX時(shí)X必含有R的一個(gè)碼,則R∈BCNF。

通常,BCNF的條件有多種等價(jià)的描述,換言之,若關(guān)系模式R屬于第一范式,且每個(gè)屬性都不部分依賴(lài)和傳遞函數(shù)依賴(lài)于碼,則R屬于BCNF。問(wèn)題:冗余和操作異常依然存在,只是沒(méi)有1NF和2NF的問(wèn)題嚴(yán)重,但仍不可忽視。

4.2函數(shù)依賴(lài)及關(guān)系的范式由BCNF的定義,關(guān)系模式R分解為BCNF的關(guān)系模式如下:課程(課程號(hào),課程名)選課(學(xué)號(hào),課程號(hào),成績(jī))4.2函數(shù)依賴(lài)及關(guān)系的范式關(guān)于BCNF的以下結(jié)論:①BCNF

3NF。②若R∈BCNF,則R中所有非主屬性對(duì)每一個(gè)碼都完全直接函數(shù)依賴(lài)。(由2NF、3NF定義得到)③若R∈BCNF,則R中所有主屬性對(duì)每個(gè)不包含它的碼都完全函數(shù)依賴(lài)。④若R∈BCNF,則R中沒(méi)有任何屬性完全函數(shù)依賴(lài)于非碼的任何一組屬性。因此,可以說(shuō)3NF和BCNF是在函數(shù)依賴(lài)的條件下對(duì)模式分解所能達(dá)到的分離程度的一種度量。4.2函數(shù)依賴(lài)及關(guān)系的范式5)多值依賴(lài)及4NF(1)研究多值依賴(lài)的必要性

學(xué)校中某一門(mén)課程由多個(gè)教師講授,他們使用相同的一套參考書(shū)。關(guān)系模式Teach(C,T,B)úúú?ùêêê?é?ú?ùê?é?管理信息系統(tǒng)數(shù)據(jù)庫(kù)原理信息管理學(xué)李四張三信息管理úúú?ùêêê?é?úú?ùêê?é?網(wǎng)絡(luò)安全布線(xiàn)工程網(wǎng)絡(luò)原理劉軍王成李明計(jì)算機(jī)網(wǎng)絡(luò)4.2函數(shù)依賴(lài)及關(guān)系的范式該關(guān)系可用二維表表示如下:課程(C)教師(T)參考書(shū)(B)信息管理張三信息管理學(xué)信息管理張三數(shù)據(jù)庫(kù)原理信息管理張三管理信息系統(tǒng)信息管理李四信息管理學(xué)信息管理李四數(shù)據(jù)庫(kù)原理信息管理李四管理信息系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)李明網(wǎng)絡(luò)原理計(jì)算機(jī)網(wǎng)絡(luò)李明布線(xiàn)工程計(jì)算機(jī)網(wǎng)絡(luò)李明網(wǎng)絡(luò)安全計(jì)算機(jī)網(wǎng)絡(luò)王成網(wǎng)絡(luò)原理計(jì)算機(jī)網(wǎng)絡(luò)王成布線(xiàn)工程計(jì)算機(jī)網(wǎng)絡(luò)王成網(wǎng)絡(luò)安全計(jì)算機(jī)網(wǎng)絡(luò)劉軍網(wǎng)絡(luò)原理計(jì)算機(jī)網(wǎng)絡(luò)劉軍布線(xiàn)工程計(jì)算機(jī)網(wǎng)絡(luò)劉軍布線(xiàn)工程4.2函數(shù)依賴(lài)及關(guān)系的范式Teach具有惟一候選碼(C,T,B),即全碼,因而Teach∈BCNF。盡管Teach滿(mǎn)足BCNF,但由于Teach中存在C→→T,C→→B,因而Teach模式中存在一些問(wèn)題:(1)數(shù)據(jù)冗余度大(2)增加操作復(fù)雜(3)刪除操作復(fù)雜(4)修改操作復(fù)雜4.2函數(shù)依賴(lài)及關(guān)系的范式(2)多值依賴(lài)的定義關(guān)系模式R(U),U是屬性集,X、Y、Z是U的子集。如果R的任一關(guān)系r,在(X,Z)上的每一個(gè)值,都存在一組Y值與之對(duì)應(yīng),且Y的這組值又僅僅決定于X值而與Z=U-X-Y的屬性值不相關(guān),則稱(chēng)Y多值依賴(lài)于X,或X多值決定Y,記為X→→Y。若X→→Y,而Z=φ,則稱(chēng)X→→Y為平凡的多值依賴(lài),否則稱(chēng)X→→Y為非平凡的多值依賴(lài)。XYZuxy1z1vxy2z2txy1z2sxy2z14.2函數(shù)依賴(lài)及關(guān)系的范式(3)多值依賴(lài)的性質(zhì)①多值依賴(lài)具有對(duì)稱(chēng)性若X→→Y,則X→→Z,其中Z=U-X-Y。②多值依賴(lài)具有傳遞性若X→→Y,Y→→Z,則X→→Z–Y。③函數(shù)依賴(lài)是多值依賴(lài)的特殊情況若X→Y,則X→→Y。因?yàn)楫?dāng)X→Y時(shí),對(duì)于X的每一個(gè)值x,Y有一個(gè)確定的值y與之對(duì)應(yīng),所以X→→Y。④若X→→Y,X→→Z,則X→→Y∪Z(由MVD定義得出,X→→Y∪Z為平凡的MVD)⑤若X→→Y,X→→Z,則X→→Y∩Z⑥若X→→Y,X→→Z,則X→→Y-Z,X→→Z-Y4.2函數(shù)依賴(lài)及關(guān)系的范式(4)多值依賴(lài)與函數(shù)依賴(lài)的區(qū)別①有效性多值依賴(lài)的有效性與屬性集的范圍有關(guān)。若X→→Y在U上成立,則在W(XY

W

U)上一定成立;反之則不然,即X→→Y在W(W

U

)上成立,在U上并不一定成立。這是因?yàn)樵诙嘀狄蕾?lài)的定義中不僅涉及屬性組X和Y,而且涉及U中其余屬性Z。②包含性(沒(méi)有自反律)若函數(shù)依賴(lài)X→Y在R(U)上成立,任何Y’

Y均有X→Y’成立。多值依賴(lài)X→→Y若在R(U)上成立,不能斷言對(duì)于任何Y’

Y有X→→Y’成立。

4.2函數(shù)依賴(lài)及關(guān)系的范式(5)4NF設(shè)關(guān)系模式R(U,F(xiàn))∈1NF,如果對(duì)于R的每個(gè)非平凡多值依賴(lài)X→→Y(YX

),X必含有碼,則稱(chēng)R(U,F(xiàn))∈4NF。

說(shuō)明:

每個(gè)非平凡的多值依賴(lài)X→→Y,X又含有碼,則X→Y對(duì)于平凡的多值依賴(lài),X不可能成為碼,應(yīng)是全碼4NF只允許平凡的多值依賴(lài)所有含有非平凡MVD不是4NF

根據(jù)定義,4NF要求每一個(gè)非平凡的多值依賴(lài)X→→Y,X都含有候選碼,則必然是X→Y,所以4NF允許的非平凡多值依賴(lài)實(shí)際上是函數(shù)依賴(lài)。

CT(C,T)和CB(C,B),則CT和CB都屬于4NF。

4.2函數(shù)依賴(lài)及關(guān)系的范式

規(guī)范化的過(guò)程4.3函數(shù)依賴(lài)的公理系統(tǒng)4.3.1Armstrong公理系統(tǒng)

1.函數(shù)依賴(lài)的邏輯蘊(yùn)涵1)邏輯蘊(yùn)涵的定義設(shè)有關(guān)系模式R(U,F(xiàn)),X,YU,如果從F中的函數(shù)依賴(lài)能推導(dǎo)出X→Y成立,則稱(chēng)F邏輯蘊(yùn)涵X→Y,或稱(chēng)X→Y是F的邏輯蘊(yùn)涵,記為:F╞X→Y。

4.3函數(shù)依賴(lài)的公理系統(tǒng)2)函數(shù)依賴(lài)集的閉包一般,被F所邏輯蘊(yùn)涵的函數(shù)依賴(lài)不止一個(gè),所有被F邏輯蘊(yùn)涵的函數(shù)依賴(lài)集合,稱(chēng)為F的閉包(Closure),記為F+。一般情況下F

F+,如果F=F+,則稱(chēng)F為一個(gè)函數(shù)依賴(lài)的完備集。如何計(jì)算一個(gè)給定函數(shù)依賴(lài)集F的閉包?可以通過(guò)反復(fù)運(yùn)用Armstrong公理的規(guī)則計(jì)算F+。4.3函數(shù)依賴(lài)的公理系統(tǒng)2.Armstrong公理的內(nèi)容Armstrong公理體系中最基本的規(guī)則稱(chēng)為公理。設(shè)有關(guān)系模式R(U,F(xiàn)),U為關(guān)系模式R的屬性集合,F(xiàn)是U上的一組函數(shù)依賴(lài)集,X

U,Y

U,Z

U,對(duì)于R(U,F(xiàn))來(lái)說(shuō),有以下推理規(guī)則:

1)自反律(Reflexivity)如果YXU,則F╞X→Y。2)增廣律(Augmentation)如果F╞X→Y,且ZU,則F╞XZ→YZ。3)傳遞律(Transitivity)如果F╞X→Y、F╞Y→Z,則F╞X→Z。4.3函數(shù)依賴(lài)的公理系統(tǒng)3.Armstrong公理的推論根據(jù)Armstrong公理可以得出三條推論:1)合并規(guī)則(UnionRule)如果X→Y、X→Z,則X→YZ。2)分解規(guī)則(DecompositionRule)如果X→Y,ZY

,則X→Z。3)偽傳遞規(guī)則(PreudotransivityRule)如果X→Y、YW→Z,則XW→Z。【例】關(guān)系模式R(U,F(xiàn)),其中U={A,B,C},F(xiàn)={A→B,B→C},求關(guān)系模式R上的函數(shù)依賴(lài)集F的閉包F+。4.3函數(shù)依賴(lài)的公理系統(tǒng)解:F+={Ф→Ф,A→φ,B→φ,C→φ,AB→φ,AC→φ,BC→φ,ABC→φ,A→A,B→B,C→C,AB→A,AC→A,BC→B,ABC→A,A→B,B→C,AB→B,AC→B,BC→C,ABC→B,A→C,B→BC,AB→C,AC→C,BC→BC,ABC→C,A→AB,AB→AB,AC→AB,ABC→AB,A→AC,AB→BC,AC→AC,ABC→BCA→BC,AB→AC,AC→AB,ABC→AC,A→ABC,AB→ABC,AC→ABC,ABC→ABC}由此可以看出,即使F不太大,只有兩個(gè)函數(shù)依賴(lài),F(xiàn)+也可能很大。4.3函數(shù)依賴(lài)的公理系統(tǒng)4.閉包計(jì)算如果想要判斷一個(gè)給定的函數(shù)依賴(lài)是否在函數(shù)依賴(lài)集F的閉包中,不用計(jì)算F+就可以判斷出來(lái)。1)屬性集閉包的定義(closureofXunderF)設(shè)F為屬性集U上的一組函數(shù)依賴(lài),X

U,則由F根據(jù)Armstrong公理推導(dǎo)出的所有X→Ai所形成的屬性集合{Ai|i=1,2,….}稱(chēng)為X關(guān)于函數(shù)依賴(lài)集F的閉包,記為XF+。

XF+={A|X→A能由F根據(jù)Armstrong公理導(dǎo)出}

={Ai|Ai

U,X→Ai

F+

}4.3函數(shù)依賴(lài)的公理系統(tǒng)定理1:設(shè)F是屬性集U上的一組函數(shù)依賴(lài),X,Y

U,X→Y能由F根據(jù)Armstrong公理導(dǎo)出的充分必要條件是Y

XF+

。證明:(1)充分性:設(shè)Y=A1A2…Am,且Y

XF+

。由XF+定義知X→Ai(i=,…,m)可由公理推出,由合并規(guī)則得X→A1A2…Am,即X→Y。(2)必要性:設(shè)F╞X→Y,根據(jù)分解規(guī)則,X→Ai(i=,…,m)成立,由XF+的定義得A1A2…Am

XF+

,即Y

XF+

。4.3函數(shù)依賴(lài)的公理系統(tǒng)2)屬性集閉包的求解算法求屬性集X(X

U)關(guān)于U上的函數(shù)依賴(lài)集F的閉包。輸入:X,F(xiàn)輸出:XF+

方法:(1)令X(0)=X,i=0;(2)令X(i+1)=X(i)∪{Q|(

V)(

W)(V→W

F∧V

X(i)∧Q

W)}

;(3)判斷X(i+1)=X(i)嗎?(4)若相等或X(i)=U,則X(i)就是算法終止。(5)若X(i+1)≠X(i),則i=i+l,返回第(2)步。4.3函數(shù)依賴(lài)的公理系統(tǒng)【例】已知關(guān)系模式R<U,F(xiàn)>,其中U={A,B,C,D,E,G},F(xiàn)={AB→C,C→A,ACD→B,D→EG,BE→C,CG→BD,CE→AG},求(BD)F+。解:設(shè)X(0)=BD;計(jì)算X(1):逐一掃描F集合中各個(gè)函數(shù)依賴(lài),找左部為D、B或BD的函數(shù)依賴(lài),有D→EG,于是X(1)=AB∪EG=BDEG。因?yàn)閄(1)≠X(0);計(jì)算X(2):再找出左部為BDEG子集的那些函數(shù)依賴(lài),又得到BE→C,于是X(2)=X(1)∪C=BDEGC,X(2)≠X(1);計(jì)算X(3):X(3)=X(2)∪ABDG=BDEGCA;X(3)=U,算法終止,(BD)F+

=ABCDEG。

思考:BD是否為關(guān)系模式R的候選碼?4.3函數(shù)依賴(lài)的公理系統(tǒng)屬性集閉包的作用(1)驗(yàn)證X→Y是否在F+中,只需要判斷Y

XF+

。(2)判斷X是否為關(guān)系模式R(U)的超碼:通過(guò)計(jì)算X的閉包X+,判斷X+是否包含R的所有屬性U。(3)判斷X是否為關(guān)系模式R(U)的候選碼:如果X是超碼,可檢驗(yàn)X的所有真子集的閉包是否包含R的所有屬性。若不存在這樣的真子集,則X是R的候選碼。4.3函數(shù)依賴(lài)的公理系統(tǒng)【例】設(shè)R(A,B,C,D,E,F(xiàn)),G={AB→E,AC→F,AD→B,B→C,C→D},求R的所有候選碼。解:

(1)L屬性:A,LR類(lèi)屬性:B、C、D(2)AF+=A≠U;(3)因?yàn)?AB)F+=ABCDEF;所以AB為候選碼;因?yàn)?AC)F+=ABCDEF;所以AC為候選碼;因?yàn)?AD)F+=ABCDEF;所以AD為候選碼;因此,R的所有候選碼為AB,AC,AD。4.3函數(shù)依賴(lài)的公理系統(tǒng)4.3.2函數(shù)依賴(lài)集的等價(jià)和最小化

1)函數(shù)依賴(lài)集的等價(jià)定義:假設(shè)在關(guān)系模式R(U,F(xiàn))上有兩個(gè)函數(shù)依賴(lài)集F和G。如果F+=G+,則稱(chēng)F和G是等價(jià)的,或稱(chēng)F與G相互覆蓋。定理2:F+=G+的充分必要條件是F

G+且G

F+。4.3函數(shù)依賴(lài)的公理系統(tǒng)2)最小函數(shù)依賴(lài)集(也稱(chēng)為最小覆蓋)定義:如果函數(shù)依賴(lài)集F滿(mǎn)足下列條件,則稱(chēng)F為一個(gè)最小函數(shù)依賴(lài)集。F中任一函數(shù)依賴(lài)的右部?jī)H含有一個(gè)屬性;F中不存在這樣的函數(shù)依賴(lài)X→A,使得F與F-{X→A}等

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論