數據庫系統概論(第五版) 王珊 第六章課後習題答案

1 .理解並給出下列術語的定義:
函數依賴、部分函數依賴、完全函數依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All 一key )、1 NF 、ZNF 、3NF 、BcNF 、多值依賴、4NF 。

定義1:設R(U)是屬性集U上的關係模式。X,Y是屬性集U的子集。若對於R(U)的任意一個可能的關係r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴於X,記作XàY。(即只要X上的屬性值相等,Y上的值一定相等。)

術語和記號:

XàY,但Y不是X的子集,則稱XàY是非平凡的函數依賴。若不特別聲明,總是討論非平凡的函數依賴。

XàY,但Y是X的子集,則稱XàY是平凡的函數依賴。

若XàY,則X叫做決定因素(Determinant)。

若XàY,YàX,則記作XßàY。

若Y不函數依賴於X,則記作X à Y。

定義2:在R(U)中,如果 XàY,並且對於X的任何一個真子集X’,都有X’ à Y,則稱Y對X完全函數依賴

       若XàY,但Y不完全函數依賴於X,則稱Y對X部分函數依賴

定義3:若關係模式R的每一個分量是不可再分的數據項,則關係模式R屬於第一範式(1NF)。

定義4:若關係模式R∈1NF,且每一個非主屬性完全函數依賴於碼,則關係模式R∈2NF 。(即1NF消除了非主屬性對碼的部分函數依賴則成爲2NF)。

定義5:關係模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XàY,Y à X,Y à Z成立,則稱R<U,F>∈3NF。

定義6:關係模式R<U,F>∈1NF 。若XàY且Y不是X的子集時,X必含有碼,則R<U,F>∈BCNF。

定義7:關係模式R<U,F>∈1NF,如果對於R的每個非平凡多值依賴XààY(Y不是X的子集,Z=U-X-Y不爲空),X都含有碼,則稱R<U,F>∈4NF。

2.建立一個關於系、學生、班級、學會等諸信息的關係數據庫。

學生:學號、姓名、出生年月、系名、班號、宿舍區。

班級:班號、專業名、系名、人數、入校年份。

系:系名、系號、系辦公地點、人數。

學會:學會名、成立年份、辦公地點、人數。

    語義如下:一個繫有若干專業,每個專業每年只招一個班,每個班有若干學生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。學生參加某學會有一個入會年份。

請給出關係模式,寫出每個關係模式的極小函數依賴集,指出是否存在傳遞函數依賴,對於函數依賴左部是多屬性的情況討論函數依賴是完全函數依賴,還是部分函數依賴。指出各關係模式的候選碼、外部碼,有沒有全碼存在?

 

解:(1)關係模式如下:

  學生:S(Sno,Sname,Sbirth,Dept,Class,Rno)

  班級:C(Class,Pname,Dept,Cnum,Cyear)

  系:D(Dept,Dno,Office,Dnum)

  學會:M(Mname,Myear,Maddr,Mnum)

  (2)每個關係模式的最小函數依賴集如下:

  A、學生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函數依賴集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno

    傳遞依賴如下:

由於SnoàDept,而DeptàSno ,DeptàRno(宿舍區)

 

所以Sno與Rno之間存在着傳遞函數依賴。

    由於ClassàDept,Dept à Class,DeptàRno

         所以Class與Rno之間存在着傳遞函數依賴。

    由於SnoàClass,ClassàSno,ClassàDept

         所以Sno與Dept之間存在着傳遞函數依賴。

  B、班級C(Class,Pname,Dept,Cnum,Cyear)的最小函數依賴集如下:

    ClassàPname,ClassàCnum,ClassàCyear,PnameàDept.

    由於ClassàPname,PnameàClass,PnameàDept

        所以C1ass與Dept之間存在着傳遞函數依賴。

 C、系D(Dept,Dno,Office,Dnum)的最小函數依賴集如下:

    DeptàDno,DnoàDept,DnoàOffice,DnoàDnum

    根據上述函數依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。

 D、學會M(Mname,Myear,Maddr,Mnum)的最小函數依賴集如下:

    MnameàMyear,MnameàMaddr,MnameàMnum

     該模式不存在傳遞依賴。

  (3)各關係模式的候選碼、外部碼,全碼如下:

  A、學生S候選碼:Sno;外部碼:Dept、Class;無全碼

  B、班級C候選碼:Class;外部碼:Dept;無全碼

  C、系D候選碼:Dept或Dno;無外部碼;無全碼

  D、學會M候選碼:Mname;無外部碼;無全碼

7.下面的結論哪些是正確的? 哪些是錯誤的? 對於錯誤的請給一個反例說明之。

(1)任何一個二目關係是屬於3NF。

答:正確。因爲關係模式中只有兩個屬性,所以無傳遞。

(2)任何一個二目關係是屬於BCNF.

答:正確。按BCNF的定義,若XàY,且Y不是X的子集時,每個決定因素都包含碼,對於二目關係決定因素必然包含碼。詳細證明如下:(任何二元關係模式必定是BCNF)。

證明:設R爲一個二目關係R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關係:

A、A1àA2,但A2àA1,則關係R的碼爲A1,決定因素都包含碼,所以,R是BCNF。

B、A1àA2,A2àA1,則關係R的碼爲A2,所以決定因素都包含碼,R是BCNF。

包含碼。R是BCNF。C、R的碼爲(A1,A2)(即A1 àA2,A2 àA1),決定因素都

發佈了57 篇原創文章 · 獲贊 122 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章