2、建立一個關于系、學生、班級、學會等諸資訊的關系資料庫,
描述學生的屬性有:學號、姓名、出生年月、系名、班號、宿舍區;
描述班級的屬性有:班號、專業名、系名、人數、入校年份;
描述系的屬性有:系名、系號、系辦公室地點、人數;
描述學會的屬性有:學會名、成立年份、地點、人數,
有關語意如下:一個系有若干專業,每個專業每年只招一個班,每個班有若干學生,一個系的學生住在同一宿舍區,每個學生可參加若干學會,每個學會有若干學生,學生參加某學會有一個入會年份,
請給出關系模式,指出是否存在傳遞函式依賴,對于函式依賴左部是多屬性的情況,討論函式依賴是完全函式依賴還是部分函式依賴,
指出各關系的候選碼、外部碼,并說明是否全碼存在,
--學生:
S(Sno,Sn,Sb,Dn,Cno,Sa)
--班級:
C(Cno,Cs,Dn,Cnum,Cdate)
--系:
D(Dno,Dn,da,Dnum)
--學會:
P(Pn,Date1,Pa,Pnum)
--學生-學會
SP(Sno,Pno,Date2)
每個關系模式的函式依賴如下:
S:Sno
→
\to
→Sn,Sno
→
\to
→Sb,Sno
→
\to
→Cno,Cno
→
\to
→Dn,Dn
→
\to
→Sa
C:Cno
→
\to
→Cs,Cno
→
\to
→Cnum,Cno
→
\to
→Cdate,Cs
→
\to
→Dn,(Cs,Cdate)
→
\to
→Cno
D:Dno
→
\to
→Dn,Dn
→
\to
→Dno,Dno
→
\to
→Da,Dno
→
\to
→Dnum
P:Pn
→
\to
→Date1,Pn
→
\to
→Pa,Pn
→
\to
→Pnum
SP:(Sno,Pn)
→
\to
→Date2
S中的函式依賴:
∵
\because
∵Sno
→
\to
→Cno,Cno
→
\to
→Dn;Cno
→
\to
→Dn,Dn
→
\to
→Sa
∴
\therefore
∴Sno
→
\to
→Dn;Cno
→
\to
→Sa
C中的函式依賴:
∵
\because
∵Cno
→
\to
→Cs,Cs
→
\to
→Dn
∴
\therefore
∴Cno
→
\to
→Dn
| 關系 | 候選碼 | 外部碼 | 全碼 |
|---|---|---|---|
| S | Sno | Cno,Dn | 無 |
| C | Cno,(Cs,Cdate) | Dn | 無 |
| D | Dno,Dn | 無 | 無 |
| P | Pn | 無 | 無 |
| SP | (Sno,Pn) | Sno,Pn | 無 |
6、有關系模式R(A, B,C, D. E),回答下面各個問題:
(1)若A是R的候選碼,具有函式依賴BC-DE,那么在什么條件下R是BCNF?
當屬性組BC包含碼的時候,R為BCNF;
(2)如果存在函式依賴A→B, BC-D, DE-A,列出R的所有碼,
候選碼有:ACE、DEC、BCE;
(3)如果存在函式依賴A-B, BC-D, DEA, R屬于3NF還是BCNF.
所有函式依賴的決定因素都不包含碼,所以R不是BCNF,為3NF,
7、下面的結論哪些是正確的?哪些是錯誤的?對于錯誤的請給出一個反例說明之,
(1)任何一個二目關系是屬于3NF的,
√
(2)任何一個二目關系是屬于BCNF的,
√
(3)任何一個二目關系是屬于4NF的,
√
(4)當且僅當函式依賴A→B在R上成立,關系R(4, B, C)等于其投影R(A, B)和R2(A, C)的連接,
×(當A→B在R上成立的時候,關系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的連接,)
(5)若RA→R.B,R.B→R.C,則RA→R.C.
√
(6)若RA→R.B,,R.A→R.C,則R.A→R.(B , C);
√
(7)若R.B-+R.A,R.C+RA.則R.(B.C)→R.A.
√
(8)若R.(B, C)→R.A,則R.B→R.A, R.C→R.A,
×(關系模式SC(Sno,Cno,G),(Sno,Cno)
→
\to
→G,但是Sno
?
\nrightarrow
?G,Cno
?
\nrightarrow
?G),
8、證明:
(1)如果R是BCNF關系模式,則R是3NF關系模式,反之則不對:
設R∈BCNF并且R?3NF,
根據定義得:
R中存在碼X,屬性組Y和非屬性組Z,Y
?
\nrightarrow
?X,Z?Y,使得X
?
\nrightarrow
?Y,Y→Z成立
因為Y→X,所以Y不是R的候選碼;
因為R中存在函式依賴Y→Z,Z?Y,而Y不包含碼,所以R?BCNF,與已知R∈BCNF矛盾,故假設不成立,所以:R∈3NF
(2)如果R是3NF關系模式,則R一定是2NF關系模式:
假設R∈3NF,R?2NF,根據2NF定義得:
R中存在非主屬性Z部分函式依賴于候選碼X,即X
→
P
\overset P\to
→PZ
由部分函式依賴的定義:R中存在X的真子集X’?X,使得X’
→
\to
→Z成立
因為R中存在碼X,屬性組X’及非屬性組Z,X
?
\nrightarrow
?X,Z?X’,使得X→X’,X’→Z成立,所以R?3NF,與已知矛盾,故假設不成立,所以:R∈2NF,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/282366.html
標籤:其他
上一篇:MySQL-資料庫
下一篇:資料分頁效率問題--邏輯讀取次數
