《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》第6章習(xí)題答案.docx
《《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》第6章習(xí)題答案.docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用》第6章習(xí)題答案.docx(4頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第6章關(guān)系數(shù)據(jù)理論 1. 理解下列術(shù)語(yǔ)的定義: 函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、碼、主碼、外碼、全碼、1NF、2NF、3NF、BCNF、4NF。 解: 函數(shù)依賴:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是U的子集,若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作X→Y。 部分函數(shù)依賴:如果X→Y,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X 部分函數(shù)依賴(Partial Functional Dependency),記作:XPY。 完全函數(shù)依賴:如果X→Y,但對(duì)于X中的任意一個(gè)真子集X,都有Y不依賴于X,即X?Y,則稱Y對(duì)X完全函數(shù)依賴(Full Functional Dependency),記作:XFY。 傳遞依賴:如果X→Y,Y→Z,且Y?X,Y?X,則稱Z對(duì)X傳遞函數(shù)依賴(Transitive Functional Dependency)。記作:XTZ。 候選碼:若關(guān)系中的某一屬性組的值能惟一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼 (Candidate key)。 主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey) 。 外部碼:設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外部碼(Foreign key),簡(jiǎn)稱外碼。 全碼:最復(fù)雜的情況,整個(gè)屬性組是碼,稱為全碼(All-key)。 1NF:若一個(gè)關(guān)系模式R中每一個(gè)屬性值都是一個(gè)不可再分的最小數(shù)據(jù)單元,則稱關(guān)系模式滿足第一范式,記作R∈1NF。 2NF:若R∈1NF,且每一個(gè)非主屬性完全函數(shù)依賴于R的碼,則R∈2NF。 3NF:關(guān)系模式R中若不存在這樣的候選碼X,屬性組Y及非主屬性Z(Z?Y)使得X→Y,Y→Z成立,則稱R∈3NF。 BCNF:關(guān)系模式R∈1NF。若對(duì)于R中的每一個(gè)函數(shù)依賴X→Y且Y?X,X必含有碼,則R∈BCNF。 4NF:關(guān)系模式R1NF,如果對(duì)于R的每個(gè)非平凡多值依賴XY(YX),X都含有碼,則稱R4NF。 2. 下面的結(jié)論哪些是正確的?哪些是錯(cuò)誤的?對(duì)于錯(cuò)誤的請(qǐng)給出一個(gè)反例說(shuō)明。 (1) 任何一個(gè)二目關(guān)系是屬于3NF的。 (2) 任何一個(gè)二目關(guān)系是屬于BCNF的。 (3) 任何一個(gè)二目關(guān)系是屬于4NF的。 (4) 當(dāng)且僅當(dāng)函數(shù)依賴A→B在R上成立,關(guān)系R(A,B,C)等于投影R1(A,B)和R2(A,B)的連接。 (5) 若R.A→R.B,R.B→R.C則R.A→R.C。 (6) 若R.A→R.B,R.A→R.C則R.A→R.(B,C)。 (7) 若R.B→R.A,R.C→R.A則R.(B,C)→R.A。 (8) 若R.(B,C)→R.A,則R.B→R.A,R.C→R.A。 解: (1) 正確,因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無(wú)傳遞。 (2) 正確,按BCNF的定義,若XY,且Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下: 證明:設(shè)R為一個(gè)二目關(guān)系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關(guān)系: A、A1→A2,但A2?A1,則關(guān)系R的碼為A1,決定因素都包含碼,所以,R是BCNF。 B、A1→A2,A2→A1,則關(guān)系R的碼為A2,所以決定因素都包含碼,R是BCNF。 (3) 正確,因?yàn)橹挥袃蓚€(gè)屬性,所以無(wú)非平凡的多值依賴。 (4) 正確。 (5) 正確。 (6) 正確。 (7) 正確。 (8) 錯(cuò)誤。 3. 汽車保險(xiǎn)公司管理客戶和保險(xiǎn)車輛信息。每位客戶擁有一輛或多輛汽車。每輛汽車可能發(fā)生0次或多次交通事故。客戶需要登記的信息包括駕照號(hào)、姓名、住址、電話、等信息。車輛需要登記車輛編號(hào)、車型、出廠年份、駕照號(hào)等信息。事故需要登記事故編號(hào)、事故發(fā)生日期、發(fā)生地點(diǎn)、車輛編號(hào)、賠償金等信息。根據(jù)上述描述,列舉可能的函數(shù)依賴(不必列舉平凡函數(shù)依賴)。 解: 關(guān)系模式: 客戶(駕照號(hào),姓名,住址,電話) 車輛(車輛編號(hào),車型,出廠年份) 事故(事故編號(hào),事故發(fā)生日期,發(fā)生地點(diǎn),賠償金) 存在的函數(shù)依賴: 客戶(駕照號(hào)→姓名,駕照號(hào)→住址,駕照號(hào)→電話) 車輛(車輛編號(hào)→車型,車輛編號(hào)→出廠年份、車輛編號(hào)→駕照號(hào)) 事故(事故編號(hào)→事故發(fā)生日期,事故編號(hào)→發(fā)生地點(diǎn),事故編號(hào)→賠償金、事故編號(hào)→車輛編號(hào)) 4. 設(shè)關(guān)系模式R(A,B,C,D,E,F(xiàn)),函數(shù)依賴集F={A→C,C→A,B→AC,D→AC,BD→A}。 (1) 求出R的候選碼。 (2) 求出F的最小函數(shù)依賴集。 解: (1) B、D。 (2) ① 將F中每個(gè)函數(shù)依賴的右部均變成單屬性。則, F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}; ② 去掉F中各函數(shù)依賴左部多余的屬性。 在BD→A中,由于存在B→A和D→A因此,BD→A為多余的函數(shù)依賴,可去掉。 ③ 去掉F中冗余的函數(shù)依賴。 由于B→A可由BC和C→A推出,因此,可去掉B→A。 D→A可由D→C和C→A推出,因此,可去掉D→A。 因此,F(xiàn)m={A→C,C→A,B→C,D→C }。 5. 設(shè)X→Y在關(guān)系模式R中成立。如果存在Z?X使得Z→Y成立,則稱函數(shù)依賴X→Y稱為部分函數(shù)依賴,并稱Y部分函數(shù)依賴于X;否則稱X→Y為完全函數(shù)依賴,并稱Y完全依賴于X。使用完全函數(shù)依賴概念給出2NF的等價(jià)定義。 解: 若R∈1NF,且R的所有函數(shù)依賴都滿足完全函數(shù)依賴,則R∈2NF。 6. 證明: (1) 如果R的所有屬性都是主屬性,則R是3NF。 (2) 如果R的碼包含R的所有屬性(全碼),則R是BCNF。 解: (1) 證明:關(guān)系模式R中若不存在這樣的候選碼X,屬性組Y及非主屬性Z(Z?Y)使得X→Y,Y→Z成立,則稱R∈3NF。因?yàn)槿绻鸕的所有屬性都是主屬性,即沒(méi)有非主屬性,則不存在非主屬性對(duì)碼的部分和傳遞函數(shù)依賴。因此如果R的所有屬性都是主屬性,則R是3NF。 (2) 證明: BCNF要求關(guān)系范式滿足1NF,且每一個(gè)函數(shù)依賴的決定因子都包含碼。而全碼的關(guān)系滿足1NF,且只有一個(gè)決定因子,即關(guān)系模式包含的所有屬性。因此如果R的碼包含R的所有屬性(全碼),則R是BCNF。 7. 在關(guān)系模式設(shè)計(jì)中,有沒(méi)有理由設(shè)計(jì)一個(gè)屬于2NF,但不屬于更高范式的關(guān)系模式?解釋你的答案。 解: 沒(méi)有理由。因?yàn)?NF是表示所有屬性都必須依賴于碼,保證在表內(nèi)所有的屬性都是非冗余或者說(shuō)都是相關(guān)的,必不可少的。3NF是在2NF的基礎(chǔ)上的增強(qiáng),既然2NF是屬性依賴于碼,那么就可能存在一種依賴情況:A依賴B,B依賴C ,這樣既可推出A依賴C這樣就表示A既依賴于B也依賴于C,那么你可以選擇B也可以選擇C做主碼,那么違反了主碼要唯一的基本原則,這樣是不合適的。所以說(shuō)3NF是在2NF的增強(qiáng),確定了主碼必須唯一,消除了2NF的傳遞依賴性。因此,3NF是一個(gè)可用關(guān)系模式應(yīng)滿足的最低范式,也就是說(shuō),如果一個(gè)關(guān)系不服從3NF,這個(gè)關(guān)系其實(shí)是不可用的。 8. 設(shè)關(guān)系R和函數(shù)依賴F:R(W,X,Y,Z)F={X→Z,WX→Y},試求: (1) 關(guān)系R屬于第幾范式? (2) 如果關(guān)系R不屬于BCNF,請(qǐng)將關(guān)系R逐步分解為BCNF。 解: (1) R是1NF。侯選碼為WX,則Y,Z為非主屬性,又由于X→Z,因此F中存在非主屬性對(duì)侯選碼的部分函數(shù)依賴。 (2) 將關(guān)系分解為: R1(W,X,Y),F(xiàn)1 = { WX→Y } R2(X,Z),F(xiàn)2 = { X→Z } 消除了非主屬性對(duì)碼的部分函數(shù)依賴。F1和F2中的函數(shù)依賴都是非平凡的,并且決定因素是候選碼,所以上述關(guān)系模式是BCNF。 9. 設(shè)有關(guān)系模式R(EGHIJ),R的函數(shù)依賴集F={E→I,J→I,I→G,GH→I,IH→E},求: (1) R的候選關(guān)鍵字 (2) 判斷s={EG,EJ,JH,IGH,EH}是否為無(wú)損連接分解? (3) 將R分解為3NF,并具有無(wú)損連接性和保持函數(shù)依賴性。 解: (1) 由函數(shù)依賴集F可知,該關(guān)系模式的候選碼為JH。 (2) s={EG,EJ,JH,IGH,EH}是無(wú)損連接分解。 (3) 去掉在函數(shù)依賴集右側(cè)出現(xiàn)的,剩下JH,(JH)+=EGHIJ,所以候選碼只有JH。 第一、求出最小依賴集Fm=F; 第二、沒(méi)有不在F中出現(xiàn)的屬性 第三、沒(méi)有那個(gè)依賴X→A∈F,且XA=U; 第四、沒(méi)有相同的左部,所以每個(gè)依賴自成一組ρ={EI,JI,IG,GHI,IHE} 第五、τ=ρ?{JH},τ={EI,JI,IG,GHI,IHE,JH }- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用 數(shù)據(jù)庫(kù)技術(shù) 應(yīng)用 習(xí)題 答案
鏈接地址:http://www.820124.com/p-8931715.html