第五章 關系數據理論
一、選擇題
1. 為了設計出性能較優的關系模式,必須進行規范化,規范化主要的理論依據是( ) 。
A. 關系規范化理論 B. 關系代數理論
C.數理邏輯 D. 關系運算理論
2. 規范化理論是關系數據庫進行邏輯設計的理論依據,根據這個理論,關系數據庫中的關系必須滿足:每一個屬性都是( ) 。
A. 長度不變的 B. 不可分解的
C.互相關聯的 D. 互不相關的
3. 已知關系模式R(A,B,C,D,E)及其上的函數相關性集合F={A→D,B→C ,E→A },該關系模式的候選關鍵字是( ) 。
A.AB B. BE
C.CD D. DE
4. 設學生關系S(SNO,SNAME,SSEX,SAGE,SDPART)的主鍵為SNO,學生選課關系SC(SNO,CNO,SCORE)的主鍵為SNO和CNO,則關系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主鍵為SNO和CNO,其滿足( )。
A. 1NF B.2NF
C. 3NF D. BCNF
5. 設有關系模式W(C,P,S,G,T,R),其中各屬性的含義是:C表示課程,P表示教師,S表示學生,G表示成績,T表示時間,R表示教室,根據語義有如下數據依賴集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },關系模式W的一個關鍵字是( ) 。
A. (S,C) B. (T,R)
C. (T,P) D. (T,S)
6. 關系模式中,滿足2NF的模式( ) 。
A. 可能是1NF B. 必定是1NF
C. 必定是3NF D. 必定是BCNF
7. 關系模式R中的屬性全是主屬性,則R的最高范式必定是( ) 。
A. 1NF B. 2NF
C. 3NF D. BCNF
8. 消除了部分函數依賴的1NF的關系模式,必定是( ) 。
A. 1NF B. 2NF
C. 3NF D. BCNF
9. 如果A->B ,那么屬性A和屬性B的聯系是( ) 。
A. 一對多 B. 多對一
C.多對多 D. 以上都不是
10. 關系模式的候選關鍵字可以有1個或多個,而主關鍵字有( ) 。
A. 多個 B. 0個
C. 1個 D. 1個或多個
11. 候選關鍵字的屬性可以有( ) 。
A. 多個 B. 0個
C. 1個 D. 1個或多個
12. 關系模式的任何屬性( ) 。
A. 不可再分 B. 可以再分
C. 命名在關系模式上可以不唯一 D. 以上都不是
13. 設有關系模式W(C,P,S,G,T,R),其中各屬性的含義是:C表示課程,P表示教師,S表示學生,G表示成績,T表示時間,R表示教室,根據語義有如下數據依賴集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },若將關系模式W分解為三個關系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),則W1的規范化程序最高達到( ) 。
A. 1NF B.2NF
C. 3NF D. BCNF
14. 在關系數據庫中,任何二元關系模式的最高范式必定是( ) 。
A. 1NF B.2NF
C. 3NF D. BCNF
15. 在關系規范式中,分解關系的基本原則是( )。
I.實現無損連接
II.分解后的關系相互獨立
III.保持原有的依賴關系
A. Ⅰ和Ⅱ B. Ⅰ和Ⅲ
C. Ⅰ D. Ⅱ
16. 不能使一個關系從第一范式轉化為第二范式的條件是( )。
A.每一個非屬性都完全函數依賴主屬性
B.每一個非屬性都部分函數依賴主屬性
C.在一個關系中沒有非屬性存在
D.主鍵由一個屬性構成
17. 任何一個滿足2NF但不滿足3NF的關系模式都不存在( )。
A.主屬性對鍵的部分依賴
B.非主屬性對鍵的部分依賴
C.主屬性對鍵的傳遞依賴
D.非主屬性對鍵的傳遞依賴
18. 設數據庫關系模式R=(A,B,C,D,E),有下列函數依賴:A→BC,D→E,C→D;下述對R的分解中,哪些分解是R的無損連接分解( ) 。
I.(A,B,C)(C,D,E)
II.(A,B)(A,C,D,E)
III.(A,C)(B,C,D,E)
IV.(A,B)(C,D,E)
A.只有Ⅳ B. Ⅰ和Ⅱ C. Ⅰ、Ⅱ和Ⅲ D. 都不是
19. 設U是所有屬性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面關於多值依賴的敘述中,不正確的是( )。
A.若X→→Y,則X→→Z
B.若X→Y,則X→→Y
C.若X→→Y,且Y′∈Y,則X→→Y′
D.若Z=∮,則X→→Y
20. 若關系模式R(U,F)屬於3NF,則( )。
A. 一定屬於BCNF
B. 消除了插入的刪除異常
C. 仍存在一定的插入和刪除異常
D. 屬於BCNF且消除了插入和刪除異常
21. 下列說法不正確的是( )。
A. 任何一個包含兩個屬性的關系模式一定滿足3NF
B. 任何一個包含兩個屬性的關系模式一定滿足BCNF
C. 任何一個包含三個屬性的關系模式一定滿足3NF
D. 任何一個關系模式都一定有碼
22. 設關系模式R(A,B,C),F是R上成立的FD集,F={B→C},則分解P={AB,BC}相對於F( )。
A. 是無損聯接,也是保持FD的分解
B. 是無損聯接,也不保持FD的分解
C. 不是無損聯接,但保持FD的分解
D. 既不是無損聯接,也不保持FD的分解
23. 關系數據庫規范化是為了解決關系數據庫中( )的問題而引入的。
A. 插入、刪除和數據冗余
B. 提高查詢速度
C. 減少數據操作的復雜性
D. 保證數據的安全性和完整性
24. 關系的規范化中,各個范式之間的關系是( ) 。
A. 1NF∈2NF∈3NF
B. 3NF∈2NF∈1NF
C. 1NF=2NF=3NF
D. 1NF∈2NF∈BCNF∈3NF
25. 數據庫中的冗余數據是指可( )的數據 。
A. 容易產生錯誤
B. 容易產生沖突
C. 無關緊要
D. 由基本數據導出
26. 學生表(id,name,sex,age,depart_id,depart_name),存在函數依賴是id→name,sex,age,depart_id;dept_id→dept_name,其滿足( )。
A. 1NF B. 2NF
C. 3NF D. BCNF
27. 設有關系模式R(S,D,M),其函數依賴集:F={S→D,D→M},則關系模式R的規范化程度最高達到( )。
A. 1NF B. 2NF
C. 3NF D. BCNF
28. 設有關系模式R(A,B,C,D),其數據依賴集:F={(A,B)→C,C→D},則關系模式R的規范化程度最高達到( )。
A. 1NF B. 2NF
C. 3NF D. BCNF
29. 下列關於函數依賴的敘述中,哪一條是不正確的( )。
A.由X→Y,Y→Z,則X→YZ
B.由X→YZ,則X→Y, Y→Z
C.由X→Y,WY→Z,則XW→Z
D.由X→Y,Z∈Y,則X→Z
30. X→Y,當下列哪一條成立時,稱為平凡的函數依賴( )。
A. X∈Y B. Y∈X
C. X∩Y=∮ D. X∩Y≠∮
31. 關系數據庫的規范化理論指出:關系數據庫中的關系應該滿足一定的要求,最起碼的要求是達到1NF,即滿足( )。
A.每個非主鍵屬性都完全依賴於主鍵屬性
B.主鍵屬性唯一標識關系中的元組
C.關系中的元組不可重復
D.每個屬性都是不可分解的
32. 根據關系數據庫規范化理論,關系數據庫中的關系要滿足第一范式,部門(部門號,部門名,部門成員,部門總經理)關系中,因哪個屬性而使它不滿足第一范式( )。
A. 部門總經理 B. 部門成員 C. 部門名 D. 部門號
33. 有關系模式A(C,T,H,R,S),其中各屬性的含義是:
C:課程 T:教員 H:上課時間 R:教室 S:學生
根據語義有如下函數依賴集:
F={C→T,(H,R)→C,(H,T)RC,(H,S)→R}
(1)關系模式A的碼是( )。
A. C B.(H,S) C.(H,R) D.(H,T)
(2)關系模式A的規范化程度最高達到( )。
A. 1NF B. 2NF C. 3NF D. BCNF
(3)現將關系模式A分解為兩個關系模式A1(C,T),A2(H,R,S),則其中A1的規范化程度達到( )。
A. 1NF B. 2NF C. 3NF D. BCNF
選擇題答案:
(1) A (2) B (3) B (4) A (5) D
(6) B (7) C (8) B (9) B (10) C
(11) D (12) A (13) D (14) D (15) B
(16) B (17) D (18) B (19) C (20) C
(21) C (22) A (23) A (24) A (25) D
(26) B (27) B (28) B (29) B (30) B
(31) D (32) B (33) B B D
二、簡答題
1.理解並給出下列術語的定義:
函數依賴、部分函數依賴、完全函數依賴、候選碼、主碼、 外碼、全碼。
解析:
解答本題不能僅僅把《概論》上的定義寫下來。關鍵是真正理解和運用這些概念。
答: 函數依賴:設R (U)是一個關系模式,U是R的屬性集合,X和Y是U的子集。對於R (U)的任意一個可能的關系r,如果r中不存在兩個元組,它們在X上的屬性值相同, 而在Y上的屬性值不同, 則稱"X函數確定Y"或"Y函數依賴於X",記作X→Y。
解析:
1)函數依賴是最基本的一種數據依賴,也是最重要的一種數據依賴。
2)函數依賴是屬性之間的一種聯系,體現在屬性值是否相等。由上面的定義可以知道,如果X→Y,則r中任意兩個元組,若它們在X上的屬性值相同,那么在Y上的屬性值一定也相同。
3)我們要從屬性間實際存在的語義來確定他們之間的函數依賴,即函數依賴反映了(描述了)現實世界的一種語義。
4)函數依賴不是指關系模式R的在某個時刻的關系(值)滿足的約束條件,而是指R任何時刻的一切關系均要滿足的約束條件。
//???答: 完全函數依賴、部分函數依賴:在R(U)中,如果X→Y,並且對於X的任何一個真子集X,都有X′→Y,則稱Y對X完全函數依賴;若X→Y,但Y不完全函數依賴於X,則稱Y對X部分函數依賴;
候選碼、主碼: 設K為R(U,F)中的屬性或屬性組合,若K → U則K為R的候選碼。若候選碼多於一個,則選定其中的一個為主碼。
答: 外碼:關系模式R中屬性或屬性組X並非R的碼,但X是另一個關系模式的碼,則稱X是R的外部碼也稱外碼。
全碼:整個屬性組是碼,稱為全碼(All-key)。
2.建立一個關於系、學生、班級、學會等諸信息的關系數據庫。
描述學生的屬性有:學號、姓名、出生年月、系名、班號、宿舍區。
描述班級的屬性有:班號、專業名、系名、人數、入校年份。
描述系的屬性有:系名、系號、系辦公室地點、人數。
描述學會的屬性有:學會名、成立年份、地點、人數。
有關語義如下:一個系有若干專業,每個專業每年只招一個班,每個班有若干學生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。學生參加某學會有一個入會年份。
請給出關系模式,寫出每個關系模式的極小函數依賴集,指出是否存在傳遞函數依賴,對於函數依賴左部是多屬性的情況討論函數依賴是完全函數依賴,還是部分函數依賴。
指出各關系的候選碼、外部碼,有沒有全碼存在?
答:
關系模式: 學生S(S#,SN,SB,DN,C#,SA)
班級C(C#,CS,DN,CNUM,CDATE)
系 D(D#,DN,DA,DNUM)
學會P(PN,DATE1,PA,PNUM)
學生--學會SP(S#,PN,DATE2)
其中,S#—學號,SN—姓名,SB—出生年月,SA—宿舍區
C#—班號,CS—專業名,CNUM—班級人數,CDATE—入校年份
D#—系號,DN—系名,DA—系辦公室地點,DNUM—系人數
PN—學會名,DATE1—成立年月,PA—地點,PNUM—學會人數,DATE2—入會年份
每個關系模式的極小函數依賴集:
S:S#→SN,S#→SB,S#→C#,C#→DN,DN→SA
C:C#→CS,C#→CNUM,C#→CDATE,CS→DN,(CS,CDATE)→C#
D:D#→DN,DN→D#,D#→DA,D#→DNUM
P:PN→DATE1,PN→PA,PN→PNUM
SP:(S#,PN)→DATE2
S中存在傳遞函數依賴: S#→DN, S#→SA, C#→SA
C中存在傳遞函數依賴:C#→DN
(S#,PN)→DATE2 和(CS,CDATE)→C# 均為SP中的函數依賴,是完全函數依賴
關系 候選碼 外部碼 全碼
S S# C#,DN 無
C C#,(CS,CDATE) DN 無
D D#和DN 無 無
P PN 無 無
SP (S#,PN) S#,PN 無
3. 試由Armostrong公理系統推導出下面三條推理規則:
(1)合並規則:若X→Z,X→Y,則有X→YZ
(2)偽傳遞規則:由X→Y,WY→Z有XW→Z
(3)分解規則:X→Y,Z 包含於 Y,有X→Z
證:
(1)已知X→Z,由增廣律知XY→YZ,又因為X→Y,可得XX→XY→YZ,最后根據傳遞律得X→YZ。
(2)已知X→Y,據增廣律得XW→WY,因為WY→Z,所以XW→WY→Z,通過傳遞律可知XW→Z。
(3)已知Z 包含於 Y,根據自反律知Y→Z,又因為X→Y,所以由傳遞律可得X→Z。
4. 試舉出三個多值依賴的實例。
答: (1)關系模式MSC(M,S,C)中,M表示專業,S表示學生,C表示該專業的必修課。假設每個專業有多個學生,有一組必修課。設同專業內所有學生的選修的必修課相同,實例關系如下。按照語義對於M的每一個值M i,S有一個完整的集合與之對應而不問C取何值,所以M→→S。由於C與S的完全對稱性,必然有M→→C成立。
M S C
M 1 S1 C1
M 1 S1 C2
M 1 S2 C1
M 1 S2 C2
…… …… ……
(2)關系模式ISA(I,S,A)中,I表示學生興趣小組,S表示學生,A表示某興趣小組
的活動項目。假設每個興趣小組有多個學生,有若干活動項目。每個學生必須參加所
在興趣小組的所有活動項目,每個活動項目要求該興趣小組的所有學生參加。
按照語義有I→→S,I→→A成立。
(3)關系模式RDP(R,D,P)中,R表示醫院的病房,D表示責任醫務人員,P表示病人。假設每個病房住有多個病人,有多個責任醫務人員負責醫治和護理該病房的所有病人。按照語義有R→→D,R→→P成立。
5. 下面的結論哪些是正確的,哪些是錯誤的?對於錯誤的結論請給出理由或給出一個反例說明之。
(1)任何一個二目關系都是屬於3NF的。√
(2)任何一個二目關系都是屬於BCNF的。√
(3)任何一個二目關系都是屬於4NF的。√
(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 ×
反例:關系模式 SC(S#,C#,G) (S#,C#)→G,但是S# → G,C#→G