CH6(部分)習(xí)題解答_第1頁(yè)
CH6(部分)習(xí)題解答_第2頁(yè)
CH6(部分)習(xí)題解答_第3頁(yè)
CH6(部分)習(xí)題解答_第4頁(yè)
CH6(部分)習(xí)題解答_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第六章關(guān)系數(shù)據(jù)理論第六章講解關(guān)系數(shù)據(jù)理論。這是關(guān)系數(shù)據(jù)庫(kù)的又一個(gè)重點(diǎn)。學(xué)習(xí)本章的目的 有兩個(gè)。一個(gè)是理論方面的,本章用更加形式化的關(guān)系數(shù)據(jù)理論來(lái)描述和研究關(guān) 系模型。另一個(gè)是實(shí)踐方面的,關(guān)系數(shù)據(jù)理論是我們進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具。 因此,人們也把關(guān)系數(shù)據(jù)理論中的規(guī)范化理論稱為數(shù)據(jù)庫(kù)設(shè)計(jì)理論,有的書(shū)把它 放在數(shù)據(jù)庫(kù)設(shè)計(jì)部分介紹以強(qiáng)調(diào)它對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)的指導(dǎo)作用。一、基本知識(shí)點(diǎn)本章講解關(guān)系數(shù)據(jù)理論,內(nèi)容理論性較強(qiáng),分為基本要求部分(概論6.16.3) 和高級(jí)部分概論 6.4) 。前者是計(jì)算機(jī)大學(xué)本科學(xué)生應(yīng)該掌握的內(nèi)容;后者是研究生應(yīng)該學(xué)習(xí)掌握的內(nèi)容。需要了解的 : 什么是一個(gè)“不好”的數(shù)據(jù)庫(kù)模式;什么

2、是模式的插入異常和刪除異常;規(guī)范化理論的重要意義。需要牢固掌握的 : 關(guān)系的形式化定義;數(shù)據(jù)依賴的基本概念( 函數(shù)依賴、平凡函數(shù)依賴、非平凡的函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞函數(shù)依賴的概念, 碼、 候選碼、 外碼的概念和定義, 多值依賴的概念) ; 范式的概念; 從 lNF到4NF的定義;規(guī)范化的含義和作用。需要舉一反三的 : 四個(gè)范式的理解與應(yīng)用,各個(gè)級(jí)別范式中存在的問(wèn)題(插入異常、刪除異常、數(shù)據(jù)冗余) 和解決方法;能夠根據(jù)應(yīng)用語(yǔ)義,完整地寫(xiě)出關(guān)系模式的數(shù)據(jù)依賴集合,并能根據(jù)數(shù)據(jù)依賴分析某一個(gè)關(guān)系模式屬于第幾范式。難點(diǎn) : 各個(gè)級(jí)別范式的關(guān)系及其證明。二、習(xí)題解答和解析1 .理解并

3、給出下列術(shù)語(yǔ)的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All-key) 、INF、2NR 3NR BCNF 多值依賴、4NR解析解答本題不能僅僅把概論上的定義寫(xiě)下來(lái)。關(guān)鍵是真正理解和運(yùn)用這些函數(shù)依賴:設(shè)R(U)是一個(gè)關(guān)系模式,U是R的屬性集合,X和Y是U的子集。對(duì) 于 R(U) 的任意一個(gè)可能的關(guān)系r, 如果 r 中不存在兩個(gè)元組,它們?cè)赬 上的屬性值相同,而在Y上的屬性值不同,則稱“ X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作 X- 丫。解析(1) 函數(shù)依賴是最基本的一種數(shù)據(jù)依賴,也是最重要的一種數(shù)據(jù)依賴。(2) 函數(shù)依賴是屬性之間的一種聯(lián)系,體現(xiàn)在屬性

4、值是否相等。由上面的定義可以知道,如果X-Y,則r中任意兩個(gè)元組,若它們?cè)?X上的屬性值相同,那 么在Y 上的屬性值一定也相同。(3) 要從屬性間實(shí)際存在的語(yǔ)義來(lái)確定他們之間的函數(shù)依賴,即函數(shù)依賴反映了(描述了)現(xiàn)實(shí)世界的一種語(yǔ)義。(4) 函數(shù)依賴不是指關(guān)系模式 R在某個(gè)時(shí)刻的關(guān)系(值)滿足的約束條件,而是指R任何時(shí)刻的一切關(guān)系均要滿足的約束條件。答完全函數(shù)依賴、部分函數(shù)依賴:在R(U)中,如果X-Y,并且對(duì)于*的任何一 個(gè)真子集X',都有X'丫,則稱Y對(duì)X完全函數(shù)依賴,記作:尸若 -Y, 1Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴,記作傳遞依賴:在R(U)中,如果Xf Y

5、, (YX), Y»X, Y-Z,ZeY,則稱Z對(duì)X傳 遞函數(shù)依賴。候選碼、主碼:設(shè)K為R <U,F>中的屬性或?qū)傩越M合,若 及 二 U則K為R 的候選碼(Candidate key)。若候選碼多于一個(gè),則選定其中的一個(gè)為主碼(Primary key)。解析1) 這里我們用函數(shù)依賴來(lái)嚴(yán)格定義碼的概念。在第二章中我們只是描述性地定義碼(可以復(fù)習(xí)2.2.1):若關(guān)系中的某一屬性組的值能惟一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(Candidate key)2) 因?yàn)榇a有了嚴(yán)格定義,在學(xué)習(xí)了概論5.3數(shù)據(jù)依賴的公理系統(tǒng)后就可以從R <U,F>的函數(shù)依賴集F出發(fā),用算法

6、來(lái)求候選碼。答外碼:關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的 碼,則稱X是R的外部碼(Foreign key),也稱外碼。全碼:整個(gè)屬性組是碼,稱為全碼(All-key)。INF:如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則 RC INF。解析第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫(kù)模式不能 稱為關(guān)系數(shù)據(jù)庫(kù)。答2NF若關(guān)系模式RC INF,并且每一個(gè)非主屬性都完全函數(shù)依賴于R的碼,則RC 2NR3NF關(guān)系模式R <U,F>中若不存在這樣的碼X,屬性組Y及非主屬性Z(ZY) 使得 X-Y, (YX), 3Z成立,則稱 R <U,F

7、> C 3NF。BCNF關(guān)系模式R <U,F> CINF。若Xf Y且俗X時(shí)X必含有碼,則 R <U,F> BCNF解析讀者要真正理解這些范式的內(nèi)涵。各種范式之間的聯(lián) 系:5NF4NFBCNF 3NF-2NF- 1NF(概論上圖6.2)。能夠理解為什么有這種 包含關(guān)系。多值依賴:設(shè)R(U)是屬性集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)。4NF關(guān)系模式 R <U,F> 1NF,如果對(duì)于

8、R的每個(gè)非平凡多值依賴X一一Y(YSX),X 都含有碼,則稱 R <U,F> C4NE解析對(duì)于多值依賴的定義有多種。可以對(duì)比不同的定義來(lái)理解多值依賴,選擇自 己容易理解的一種定義來(lái)掌握多值依賴概念。2.建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。描述學(xué)生的屬性有:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。描述班級(jí)的屬性有:班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。描述系的屬性有:系名、系號(hào)、系辦公室地點(diǎn)、人數(shù)。描述學(xué)會(huì)的屬性有:學(xué)會(huì)名、成立年份、地點(diǎn)、人數(shù)。有關(guān)語(yǔ)義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有若 干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干

9、學(xué)會(huì),每個(gè)學(xué)會(huì)有 若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。請(qǐng)給出關(guān)系模式,寫(xiě)出每個(gè)關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞 函數(shù)依賴,對(duì)于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還 是部分函數(shù)依賴。指出各關(guān)系的候選碼、外部碼,有沒(méi)有全碼存在 ?答關(guān)系模式:學(xué)生 S(S#, SN SB, DN C#, SA)班級(jí) C(C#, CS DN CNUM CDATE)系 D(D# , DN DA DNUM)學(xué)會(huì) P(PN DATEl, PA, PNUM)學(xué)生-學(xué)會(huì) SP(S#, PN DATE2)其中,S#-學(xué)號(hào),SN-姓名,SB-出生年月,SA-宿舍區(qū)C#- 班號(hào),CS-專業(yè)名,CNU

10、M-班級(jí)人數(shù),CDATE-入校年份D#- 系號(hào),DN-系名,DA-系辦公室地點(diǎn),DNUM-系人數(shù)PN- 學(xué)會(huì)名,DATEl-成立年月,PA-地點(diǎn),PNUM-學(xué)會(huì)人數(shù),DATE2-A會(huì)年份每個(gè)關(guān)系模式的極小函數(shù)依賴集:S: S# -SN SA SB, S#f C#, C# f DN DN SAC: C# -CS, CACNUMCACDATE ODN (CS, CDAT守C#/*因?yàn)槊總€(gè)專業(yè)每年只招一個(gè)班 */D: D# -DN DND#, D4DA D#DNUM/*按照實(shí)際情況,系名和系號(hào)是一一對(duì)應(yīng)的*/P: PN -DATE1 PNr> PA PNt>PNUMSP: (S #, P

11、N)- DATE2S 中存在傳遞函數(shù)依賴:S# 一 DN S#一SA C#SA/*因?yàn)?SAC#, CADN DNSA*/C 中存在傳遞函數(shù)依賴:C#一DN/*因?yàn)?CAC§ CSDN*/(S# , PN尸DATE2和(CS , CDATE>>C#勻?yàn)镾P中的函數(shù)依賴,是完全函數(shù)依賴關(guān)系候選碼外部碼全碼S S#C#,DN無(wú)C C#,(CS, CDATE)DN無(wú)D D#和DN無(wú)無(wú)P PN無(wú)無(wú)SP (S#,PN)S#,PN無(wú)解析讀者應(yīng)該根據(jù)題目中給出的有關(guān)語(yǔ)義寫(xiě)出關(guān)系模式中的數(shù)據(jù)依賴,有些依賴 可以按照實(shí)際情況寫(xiě)出,也許題目中并沒(méi)有明顯指出。例如,按照實(shí)際情況,系 名和系號(hào)是

12、對(duì)應(yīng)的,因此有 DA DN DND#3*.試由Armostrong公理系統(tǒng)推導(dǎo)出下面三條推理規(guī)則:(1) 合并規(guī)則:若X-Z, X-Y,則有X-YZ(2) 偽傳遞規(guī)則:由X-Y, WX> Z有XW>Z(3) 分解規(guī)則:X-Y, ZUY,有X-Z證明(1)已知XfZ,由增廣律知 XY丫乙 又因?yàn)閄-Y,可得XAXYYZ,最后 根據(jù)傳遞律得X-YZ0 (因?yàn)閄X等于X)(2)已知XfY,據(jù)增廣律得 XW>WY因?yàn)?WY>Z,所以XW>WY>Z,通過(guò)傳 遞律可知XW> Zo(3)已知Z0Y,根據(jù)自反律知Y-Z,又因?yàn)閄-Y,所以由傳遞律可得X-Zo5.試舉出

13、3個(gè)多值依賴的實(shí)例。(1) 關(guān)系模式MSC(M S, C)中,M表示專業(yè),S表示學(xué)生,C表示該專業(yè)的必修課。假設(shè)每個(gè)專業(yè)有多個(gè)學(xué)生,有一組必修課。設(shè)同專業(yè)內(nèi)所有學(xué)生選修的必 修課相同,實(shí)例關(guān)系如下。按照語(yǔ)義對(duì)于M的每一個(gè)值M, S有一個(gè)完整的集合與 之對(duì)應(yīng)而不問(wèn)C取何值,所以MH-S。由于C與S的完全對(duì)稱性,必然有MH- C 成立。MSCM1:S1C1M1P S1C2M1S2C1M1r S2C2,(2) 關(guān)系模式ISA(I , S, A)中,I表示學(xué)生興趣小組,S表示學(xué)生,A表示某興趣小組的活動(dòng)項(xiàng)目。假設(shè)每個(gè)興趣小組有多個(gè)學(xué)生,有若干活動(dòng)項(xiàng)目。每個(gè)學(xué) 生必須參加所在興趣小組的所有活動(dòng)項(xiàng)目,每個(gè)

14、活動(dòng)項(xiàng)目要求該興趣小組的所有 學(xué)生參加。按照語(yǔ)義有I 一一 S, I 一一A成立。(3) 關(guān)系模式RDP(R D, P)中,R表示醫(yī)院的病房,D表示責(zé)任醫(yī)務(wù)人員,P表示病人。假設(shè)每個(gè)病房住有多個(gè)病人,有多個(gè)責(zé)任醫(yī)務(wù)人員負(fù)責(zé)醫(yī)治和護(hù)理該 病房的所有病人。按照語(yǔ)義有 RH- D, R一一 P成立。12.下面的結(jié)論哪些是正確的,哪些是錯(cuò)誤的?對(duì)于錯(cuò)誤的結(jié)論請(qǐng) 給出理由或 給出一個(gè)反例說(shuō)明之。答(1)任何一個(gè)二目關(guān)系都是屬于3NF的。V(2)任何一個(gè)二目關(guān)系都是屬于 BCNF勺。V(3)任何一個(gè)二目關(guān)系都是屬于4NF的。VR(X, Y)如果X一一Y即X、Y之間存在平凡的多值依賴,R屬于4NE*(4)當(dāng)

15、且僅當(dāng)函數(shù)依賴A- B在R上成立,關(guān)系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的連接。X當(dāng) K B在R上成立,關(guān)系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的連 接。反之則不然。正確的應(yīng)該是:當(dāng)且僅當(dāng)多值依賴Z- B在R上成立,關(guān)系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的連接。(1) 若 R.A一R.B, R.BR.C,則 R.A-R.C V(6) 若 R.A一R.B, R.AR.C,則 R.A-R.(B , C) V(7) 若 R.B一R.A, R.C-R.A,則 R.(B , C)一R.A V(8) 若 R.(B, C

16、)一R.A,則 R.B一R.A, R.C- R.A X反例:關(guān)系模式 SC(S袍 C#, G), (S#, C#)一G,但是 SG, CG補(bǔ)充習(xí)題13 .設(shè)關(guān)系模式R(A, B, C, D), F是R上成立的FD集,F(xiàn)= ACR Z D。 試說(shuō)明R不是2NF模式的理由。 試把R分解成2NF模式集。答:從已知FD集F,可知R的候選鍵是AR另外,A D是一個(gè)局部依賴,因此 R不是2NF模式。 此時(shí)R應(yīng)分解成p =AD, ABC, p是2NF模式集。(注:p=AD, ABC盾示分解結(jié)果由兩個(gè)尚未命名的關(guān)系模式組成;其中,第 一個(gè)關(guān)系模式的屬性集為(A,D) , AD是其簡(jiǎn)單記法,該關(guān)系模式有待命名;

17、第二個(gè) 關(guān)系模式的屬性集為(A,B,C),該關(guān)系模式也有待命名。這種記法后面還要用到。)14 .設(shè)關(guān)系模式R(A, B, C) , F是R上成立的FD集,F(xiàn)= CB, B-A。 試說(shuō)明R不是3NF模式的理由。 試把R分解成3NF模式集。從已知FD集F,可知R的候選鍵是Co從C-B和BfA,可知 gA是一個(gè)傳遞依賴,因此 R不是3NF模式 此時(shí)R應(yīng)分解成p= CB,BA, p是3NF模式集。15 .設(shè)有一個(gè)記錄各個(gè)球隊(duì)隊(duì)員每場(chǎng)比賽進(jìn)球數(shù)的關(guān)系模式R(隊(duì)員編號(hào),比賽場(chǎng)次,進(jìn)球數(shù),球隊(duì)名,隊(duì)長(zhǎng)名 )如果規(guī)定每個(gè)隊(duì)員只能屬于一個(gè)球隊(duì),每個(gè)球隊(duì)只有一個(gè)隊(duì)長(zhǎng)。 試寫(xiě)出關(guān)系模式R的基本FD和關(guān)鍵碼。 說(shuō)明R

18、不是2NF模式的理由,并把R分解成2NF模式集。 進(jìn)而把R分解成3NF模式集,并說(shuō)明理由。解:(1)根據(jù)每個(gè)隊(duì)員只能屬于一個(gè)球隊(duì),可寫(xiě)出 FD:隊(duì)員編號(hào)-球隊(duì)名; 根據(jù)每個(gè)球隊(duì)只有一個(gè)隊(duì)長(zhǎng),可寫(xiě)出 FD 球隊(duì)名隊(duì)長(zhǎng)名;“每個(gè)隊(duì)員每場(chǎng)比賽只有一個(gè)進(jìn)球數(shù)” , 這條規(guī)則也是成立的, 因此還可寫(xiě) FD:(隊(duì)員編號(hào),比賽場(chǎng)次)進(jìn)球數(shù)。從上述三個(gè)FD可知道,R的碼為(隊(duì)員編號(hào),比賽場(chǎng)次)。(2)從(l)可知,R中存在下面兩個(gè)FD(隊(duì)員編號(hào),比賽場(chǎng)次)-(球隊(duì)名,隊(duì)長(zhǎng)名)隊(duì)員編號(hào)f(球隊(duì)名,隊(duì)長(zhǎng)名)顯然,其中第一個(gè)FD是一個(gè)局部依賴,因此R不是2NF模式。對(duì)R應(yīng)該進(jìn)行分解,由第二個(gè)FD的屬性可構(gòu)成一個(gè)模式

19、,即R1( 隊(duì)員編號(hào),球隊(duì)名,隊(duì)長(zhǎng)名 ) ;另一個(gè)模式由R的屬性集去掉第二個(gè)FD右邊的屬性組成,即R2(隊(duì)員編號(hào),比賽場(chǎng)次,進(jìn)球數(shù))。( 注:請(qǐng)參考講稿中的逐次分解法。 )R1和R2者B是2NF模式,因止匕p = R1, R2(3) R2(隊(duì)員編號(hào),比賽場(chǎng)次,進(jìn)球數(shù))中,F(xiàn)D是(隊(duì)員編號(hào),比賽場(chǎng)次)進(jìn) 球數(shù),碼為(隊(duì)員編號(hào),比賽場(chǎng)次),可見(jiàn)R2已是3NF模式。R1(隊(duì)員編號(hào),球隊(duì)名,隊(duì)長(zhǎng)名)中,F(xiàn)D有兩個(gè):隊(duì)員編號(hào)-球隊(duì)名 球隊(duì)名隊(duì)長(zhǎng)名碼為隊(duì)員編號(hào),可見(jiàn)存在傳遞依賴,因此 R1不是3NF模式。對(duì)R1應(yīng)分解成兩個(gè)模式:R11(隊(duì)員編號(hào),球隊(duì)名),R12什求隊(duì)名,隊(duì)長(zhǎng)名)。這兩個(gè)模式都是3NF模式

20、。因此,R分解成3NF模式集時(shí),p = R11, R12, R2。16. 設(shè)有關(guān)系模式R( 職工名,項(xiàng)目名,工資,部門(mén)名,部門(mén)經(jīng)理)如果規(guī)定每個(gè)職工可參加多個(gè)項(xiàng)目,各領(lǐng)一份工資;每個(gè)項(xiàng)目只屬于一個(gè)部門(mén)管理;每個(gè)部門(mén)只有一個(gè)經(jīng)理。 試寫(xiě)出關(guān)系模式R的基本FD和關(guān)鍵碼。 說(shuō)明R不是2NF模式的理由,并把R分解成2NF模式集。 進(jìn)而把R分解成3NF模式集,并說(shuō)明理由。解:(1) R的基本FD有三個(gè):(職工名,項(xiàng)目名)-工資項(xiàng)目名部門(mén)名 部門(mén)名部門(mén)經(jīng)理碼為 ( 職工名,項(xiàng)目名 ) 。(2) 根據(jù) (l) , R 中存在下列兩個(gè)FD:( 職工名,項(xiàng)目名)-(部門(mén)名,部門(mén)經(jīng)理)項(xiàng)目名(部門(mén)名,部門(mén)經(jīng)理)其

21、中前一個(gè)FD是一個(gè)局部依賴,因此R不是2NF模式R 應(yīng)分解成兩個(gè)模式:R1(項(xiàng)目名,部門(mén)名,部門(mén)經(jīng)理)R2(職工名,項(xiàng)目名,工資)R1 和R2者B是2NF模式。(3) R2已是3NF模式。在R1中,由于存在兩個(gè)FD:項(xiàng)目名一部門(mén)名部門(mén)名一部門(mén)經(jīng)理即存在一個(gè)傳遞依賴,因此 R1不是3NF模式。對(duì)R1應(yīng)分解成兩個(gè)模式:R11(項(xiàng)目名,部門(mén)名),R12(部門(mén)名,部門(mén)經(jīng)理) 這兩個(gè)模式都是3NF模式。因此,R分解成3NF模式集時(shí),p= R11, R12, R2。17 .為什么要進(jìn)行關(guān)系模式的分解?分解的依據(jù)是什么?答:由于數(shù)據(jù)之間存在著聯(lián)系和約束,在關(guān)系模式的中可能會(huì)存在數(shù)據(jù)冗余和操 作異?,F(xiàn)象,因此

22、需把關(guān)系模式進(jìn)行分解,以消除冗余和異?,F(xiàn)象。分解的依據(jù)是數(shù)據(jù)依賴和 模式的標(biāo)準(zhǔn)(范式)。18 .對(duì)給定的關(guān)系模式R(U, F), U=A, B, C, F=A-B,如下的兩個(gè)分解:(1) P 仁AB, BC(2) p 2=AB, AC判斷這兩個(gè)分解否無(wú)損。解(1)根據(jù)定理判斷本題(注:由于僅僅將原關(guān)系模式分解為兩個(gè)關(guān)系模式,故可用定理判斷。)因 AB n BC=BAB-BC=ABC-AB=C故 B - AE F+B - CEF+故p 1為有損連接。(2)根據(jù)定理判斷本題因 AB n AC=AAB-AC=BAC-AB=C故 A -BC F+Bf CF+故p 2為無(wú)損連接。19 .對(duì)給定的關(guān)系模式

23、 R(U,F),U=A,B,C,D,E,P,F=A-B,C-P,E-A,CJD,如下的分解:p= R1(A,B,E) , R2(C,D,E,P) (1)求R的候選關(guān)鍵字,并判p分解是否無(wú)損連接; R1、R2屬于幾范式。解(1)候選關(guān)鍵字為CE因(CE) f+ = U故 有CAU,并且在CE中不存在一個(gè)真子集能決定 R的全體屬性U,故CE 為R的候選關(guān)鍵字。根據(jù)定理判斷本題分解p是否無(wú)損。因 ABEACDEP = EABE- CDEP = AB CDEP-ABE=CDP 因E 一A, A- B (已知) 故有E- B( 傳遞律)因 E 一A, E一 B 故有E-AB ( 合并律) 因 E -AB

24、C F+ 故故p為無(wú)損連接。 (2) R1、R2屬于幾范式? R1 2NF 因 E 一A, 2 B 故E 一B,存在傳遞依賴 故 R13NF R2C 1NF 因 CED, C- P 故CE能惟一地確定R2中的每一個(gè)元組,故為候選關(guān)鍵字。 因CE是候選關(guān)鍵字,而C-P,所以P部分函數(shù)依賴于CE 故 R232NE20 .已知關(guān)系模式R(A,B,C)F=B 一 C,C- B,CA,AB,AC,B8 A求F的最小集Fmin = ?解1:(1)右端皆為單個(gè)屬性.(2)去掉多余依賴。(應(yīng)優(yōu)先考慮去掉左端比較復(fù)雜的函數(shù)依賴.)B - C (留)CfB (去掉,因?yàn)樗蝗サ艉笾灰€留下8A,A-B,仍可以導(dǎo)出

25、C-B)8 A (留)Z B (留)ZC (去掉,因?yàn)樗蝗サ艉笥?ZB B-C仍可以導(dǎo)出A- C)BgA(去掉,因?yàn)樗蝗サ艉笥?gA仍可以導(dǎo)出BOA)于是,F(xiàn)min = B -C , C -A , A -B .解2: (1)右端皆為單個(gè)屬性.(2)去掉多余依賴。這次我們采用另外一種順序B 一 CCH B (留)8 A (去)ZB (去)ZC (留)BCH A(留)于是得到,H= B -C , C -B , A -C,B8A.H不是最小集,因?yàn)椋篐- BC -A U BA 仍等價(jià)于 H;H- BC -A U CA 仍等價(jià)于 H.故可得:P1= B 一 C,C- B,AC,B-A P2= B

26、一 C,C- B,A-C,C- A H和P1是等價(jià)的,因?yàn)锽h+ A,故B-A在H中,而H中其余幾個(gè)函數(shù)依賴顯然也都在H中;同理可證H的每一個(gè)函數(shù)依賴也都在 P1+中;因此,H和P1等價(jià)。同理,H和P2是等價(jià)的。P2已經(jīng)是最小集。P1仍需繼續(xù)化簡(jiǎn),怎樣化簡(jiǎn),請(qǐng)讀者自己考慮。這個(gè)例子說(shuō)明了,在求一個(gè)函數(shù)依賴集的最小集時(shí),由于對(duì)函數(shù)依賴的處置順序不同,所得到的結(jié)果也不同;最小集的形式也不是唯一的!21 .證明:若RC 3NF,則每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。(注:證明過(guò)程可以用反證法來(lái)完成,讓我來(lái)試證。)證明:(1)每一非主屬性都不傳遞依賴于碼是 3NF定義所要求的,因而也是顯然

27、的。(2)每一非主屬性都不部分依賴于碼。事實(shí)上,若存在一非主屬性A部分依賴于碼X,則必有X的一個(gè)真子集X,X, 且X'4A,于是有X-X', XX, X'-A, AEX'.這與3NF定義相矛盾。證畢。通過(guò)這個(gè)證明過(guò)程知道,一個(gè) 3NF的關(guān)系模式必然是2NF的,因?yàn)樗拿恳环侵?屬性都不部分依賴于碼。22 .證明:BCNF必然是3NF.證明:也就是要證明:在BCNF青況下,不存在這樣的碼 X,屬性組Y,以及非 主屬性A(AHY),使得X- Y,Y5X,YfA成立。事實(shí)上,若存在這樣的碼 X,屬性組 Y,以及非主屬性 A(A§Y),使得X- Y,Y

28、7;X,Y-A成立的話,由BCNFS義可知,Y為碼或者Y包含碼,則必有Y- X, 與上述假設(shè)矛盾。于是,BCN或、是3NF.23 .關(guān)系R(A, B, C, D, E)滿足下列函數(shù)依賴:F=A-C, C- D, B- C, DE C, C口A(1)給出關(guān)系R的候選關(guān)鍵字;9(2) « p =R1(A,D) , R2(A,B) , R3(B,C), R4(C,D,E) , R5(A,E)是否無(wú)損連 接分解;(3)將R分解為BCNF并具有無(wú)損連接性。解(1)從函數(shù)依賴集F中看,候選關(guān)鍵字至少包含BE,因?yàn)锽E不依賴于誰(shuí),而 (BE)+=ABCDE所以,BE是R的候選關(guān)鍵字。(2)構(gòu)造一個(gè)

29、二維表,如下圖所示。ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2b23b24b25R3(B,C)b31a2a3b34b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b53b54a5根據(jù)A-C,對(duì)上表進(jìn)行處理,由于屬性列 A上第1,2, 5行相同,但屬性 列C上對(duì)應(yīng)的1,2, 5行上無(wú)ai元素,所以,只能將b13,b23,b53改為行號(hào)最小 值b13。又由g據(jù)C- D將屬性列D上b34改為a4,修改后的表如處圖所示:ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2b13b24b25R3(B,C)b31a2a3a4b35R

30、4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b13b54a5根據(jù)B-C,對(duì)上表進(jìn)行處理,由于屬性列 B上第2,3行相同,但屬性列C 上對(duì)應(yīng)的3行為a3元素,所以,只能將第2行b13改為a3。又根據(jù)DC, CE A不能修改此表,所以修改后的表如下圖所示:ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2a3b24b25R3(B,C)b31a2a3a4b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b13b54a5根據(jù)A-C,對(duì)上表進(jìn)行處理,由于屬性列 A上第1,2, 5行相同,但屬性 列C上對(duì)應(yīng)的1,2 , 5行上有a3元素,所以

31、,只能將第1,5行b13改為a3。又根 據(jù)C-D將屬性列D上b24,b54改為a4,修改后的表如下圖所示:ABCDER1(A,D)a1b12a3a4b15R2(A,B)a1a2a3a4b25R3(B,C)b31a2a3a4b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52a3a4a51 o 根據(jù)C臥A,對(duì)上表進(jìn)行處理,由于屬性列 CE上第4, 5行相同,但屬性 列A上對(duì)應(yīng)的5行為al元素,所以,將第4行b41改為al。修改后的表如下圖所 示:ABCDER1(A,D)a1b12a3a4b15R2(A,B)a1a2a3a4b25R3(B,C)b31a2a3a4b35R4(C,D,E)a1b42a3a4a5R5(A,E)a1b52a3a4a5繼續(xù)掃描F不能修改此表,由于

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論