第5章 關係資料理論 練習
1.規範化理論是關係資料庫進行邏輯設計的理論依據,根據這個理論,關係資料庫中的關係必須滿足:每 一個屬性都是( )。
A.長度不變的
B.不可分解的
C.互相關聯的
D.互不相關的
2.已知關係模式R(A,B,C,D,E)及其上的函式依賴集合F={A→D,B→C ,E→A },該關係模式 的候選碼是( )。
A.AB
B.BE
C.CD
D.DE
3.關係模式中,滿足2NF的模式( )。
A.可能是1NF
B.必定是1NF
C.必定是3NF
D.必定是BCNF
4.關係模式R中的屬性全是主屬性,則R的最高正規化必定是( )。
A.1NF
B.2NF
C.3NF
D.BCNF
5.消除了部分函式依賴的1NF的關係模式,必定是( )。
A.1NF
B.2NF
C.3NF
D.BCNF
6.關係模式的候選碼可以有1個或多個,而主碼有( )。
A.多個
B.0個
C.1個
D.1個或多個
7.候選碼的屬性可以有( )。
A.多個
B.0個
C.1個
D.1個或多個
8.設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
9.關係資料庫規範化是為了解決關係資料庫中( )的問題而引入的。
A.提高查詢速度
B.插入、刪除異常和資料冗餘
C.保證資料的安全性和完整性
D.
10.學生表(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
11.設有關係模式R(S,D,M),其函式依賴集:F={S→D,D→M},則關係模式R的規範化程度最高達到( )。
A.1NF
B.2NF
C.3NF
D.BCNF
12.設有關係模式R(A,B,C,D),其資料依賴集:F={(A,B)→C,C→D},則關係模式R的規範化程度最高達到( )。
A.1NF
B.2NF
C.3NF
D.BCNF
13.X→Y,當下列哪一條成立時,稱為平凡的函式依賴( )。
A. X ∈Y
B.Y∈X
C.X∩Y=Φ
D.X∩Y≠Φ
1 . 在一個關係R中,若每個資料項都是不可再分割的,那麼R一定屬於__________ 。 (問答題)
o 第一正規化(1NF)
2 . 理解並給出下列術語的定義:函式依賴、部分函式依賴、完全函式依賴、傳遞依賴、候選碼、主碼、 外碼、全碼(All-key)、1NF、2NF、3NF、BCNF、多值依賴、4NF。 (填空題)
o 函式依賴:設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部分函式依賴,記作: 傳遞依賴:在R(U)中,如果X →Y,(Y ? X),Y →X,Y→Z,則稱Z對X傳遞函式依賴。候選碼、主碼: 設K為R中的屬性或屬性組合,若K → U則K為R的候選碼(Candidate key)。若候選碼多於一個,則選定其中的一個為主碼(Primary key)。 *解析: 1) 這裡我們用函式依賴來嚴格定義碼的概念。在第二章中我們只是描述性地定義碼(可以複習2.2.1):若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼(Candidate key)。 2)因為碼有了嚴格定義,同學在學習了《概論》5.3資料依賴的公理系統後就可以從R的函式依賴集F出發,用演算法來求候選碼。答:外碼:關係模式R中屬性或屬性組X並非R的碼,但X是另一個關係模式的碼,則稱X是R的外部碼(Foreign key)也稱外碼。全碼:整個屬性組是碼,稱為全碼(All-key)。答: 1NF:如果一個關係模式R的所有屬性都是不可分的基本資料項,則R∈1NF。 *解析:第一正規化是對關係模式的最起碼的要求。不滿足第一正規化的資料庫模式不能稱為關係資料庫。答: 2NF:若關係模式R∈1NF,並且每一個非主屬性都完全函式依賴於R的碼,則R∈2NF。 3NF:關係模式R 中若不存在這樣的碼X,屬性組Y及非主屬性Z(Z ? Y)使得X→Y,(Y → X)Y→Z,成立,則稱R ? 3NF。 BCNF:關係模式R ?1NF。若X→Y且Y ? X時X必含有碼,則R ? BCNF。 *解析:同學們要真正理解這些正規化的內涵。各種正規化之間的聯絡:5NF? 4NF? BCNF? 3NF? 2NF? lNF(《概論》上圖5.2)。能夠理解為什麼有這種包含關係。答:多值依賴:設R(U)是屬性集U上的一個關係模式。X,Y,Z是U的子集,並且Z=U-X-Y。關係模式R(U)中多值依賴X→→Y成立,當且僅當對R(U)的任一關係r,給定的一對(x,z)值,有一組Y的值,這組值僅僅決定於x值而與z值無關。 4NF:關係模式R ? lNF,如果對於R的每個非平凡多值依賴X→→Y(Y ? X),X都含有碼,則稱R ? 4NF。 *解析:對於多值依賴的定義有多種。《概論》上定義 5.9後面又給出了一種等價的定義。習題中的第4題是另一種等價的定義。同學們可以對比不同的定義來理解多值依賴。選擇自己容易理解的一種定義來掌握多值依賴概念。
3 .試由Armostrong公理系統推匯出下面三條推理規則: (1) 合併規則:若X→Z,X→Y,則有X→YZ (2) 偽傳遞規則:由X→Y,WY→Z有XW→Z (3) 分解規則:X→Y,Z ?Y,有X→Z (填空題)
o (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 . 若關係為1NF,且它的每一非主屬性都__________ 候選碼,則該關係為2NF。 (問答題)
o 完全函式依賴於
5 .關於多值依賴的另一種定義是:給定一個關係模式R(X,Y,Z),其中X,Y,Z可以是屬性或屬性組合。設x∈X,y∈Y,z∈Z,xz在R中的像集為: Yx z = {r.Y | r.X=x ∧ r.Z = z ∧ r?R} 定義 R(X,Y,Z)當且僅當Yxz =Yxz′對於每一組(x,z,z′)都成立,則Y對X多值依賴,記作X→→Y。這裡,允許Z為空集,在Z為空集時,稱為平凡的多值依賴。請證明這裡的定義和《概論》5.2.7節中定義5.9是等價的。 (填空題)
o 設Yxz=Yxz’對於每一組(x,z,z′)都成立,現證其能推出定義5.9的條件:設s、t是關係r中的兩個元組,s[X]= t[X],由新定義的條件知對於每一個z值,都對應相同的一組y值。這樣一來,對相同的x值,交換y值後所得的元組仍然屬於關係r,即定義5.9的條件成立;如果定義5.9的條件成立,則對相同的x值,交換y值後所得的元組仍然屬於關係r,由於任意性及其對稱性,可知每個z值對應相同的一組y值,所以Yxz=Yxz’對於每一組(x,z,z′)都成立。綜上可知,新定義和定義5.9的條件是等價的,所以新定義和定義5.9是等價的。
6 . 如果X→Y和X→Z成立,那麼X→YZ也成立,這個推理規則稱為___________ 。 (問答題)
o 合併規則
7 . 如果關係模式R是第二正規化,且每個非主屬性都不傳遞依賴於R的候選碼,則稱R為________ 關係模式。 (問答題)
o 3NF
8 .試舉出三個多值依賴的例項。 (填空題)
o (1)關係模式MSC(M,S,C)中,M表示專業,S表示學生,C表示該專業的必修課。假設每個專業有多個學生,有一組必修課。設同專業內所有學生的選修的必修課相同,例項關係如下。按照語義對於M的每一個值M i,S有一個完整的集合與之對應而不問C取何值,所以M→→S。由於C與S的完全對稱性,必然有M→→C成立。(2)關係模式ISA(I,S,A)中,I表示學生興趣小組,S表示學生,A表示某興趣小組的活動專案。假設每個興趣小組有多個學生,有若干活動專案。每個學生必須參加所 在興趣小組的所有活動專案,每個活動專案要求該興趣小組的所有學生參加。按照語義有I→→S,I→→A成立。(3)關係模式RDP(R,D,P)中,R表示醫院的病房,D表示責任醫務人員,P表示病人。假設每個病房住有多個病人,有多個責任醫務人員負責醫治和護理該病房的所有病人。按照語義有R→→D,R→→P成立。
9 . 在函式依賴中,平凡函式依賴是可以根據Armstrong推理規則中的__________ 律推出的。 (問答題)
o 自反
10 .試證明《概論》上給出的關於FD和MVD公理系統的A4,A6和A8。 (填空題)
o A4:若X→→Y,V?W?U,則XW→→YV 設Z=U-X-Y 已知X→→Y,設r是R上的任一關係,s、t∈r,且t[X]=s[X],則存在元組p、q∈r,使p[X]=q[X]=t[X],而p[Y]=t [Y],p[Z]=s[Z],q[Y]=s[Y],q[Z]=t[Z]。設t[XW]=s[XW],我們以上構造的元組p和q,是某部分屬性在s和t上翻轉而成,所以p[W]=q[W],可知p[XW]=q[XW],同理p [YV]=t[YV](由V?W知t[V]=s[V]),q[YV]=s[YV],p[U-YV-XW]=s[U-YV-XW](因為U-YV-XW? Z),q[U-YV-XW]=t[U-YV-XW]。所以XW→→YV。 A6:若X→→Y,Y→→Z則X→→Z-Y 由Y→→Z容易證得Y→→Z-Y。設R1=U-X-Y,R2=U-Y-Z,R3=U-X-Z+Y。已知X→→Y,設r是R上的任一關係,s、t∈r,且t[X]=s[X],則存在元組p、q∈r,使p[X]=q[X]=t[X],而p[Y]=t [Y],p[R1]=s[R1],q[Y]=s[Y],q[R1]=t[R1]。對元組t、p,已知t[Y]=p[Y],t[X]=p[X],由Y→→Z-Y知:存在元組m∈r,使m[Z-Y]=p[Z-Y],m[R2]=t [R2]。因為(Z-Y)?R1,又p[R1]=s[R1],所以m[Z-Y]=s[Z-Y]。因為元組p和s在除屬性Y之外的屬性上值相等,所以m [R2]=t[R2],另外元組m是由元組t和p交換某些屬性上的值而產生的,而t和p在屬性X上值相等,顯然m[X]=t[X],所以m[U-(Z- Y)]=t[U-(Z-Y)],即m[R3]=t[R3]。對元組s、q,同理可知s[Y]=q[Y],存在元組n,使n[Z-Y]=t[Z-Y],即n[R3]=s[R3]。綜上所述,對t、s∈r,t[X]=s[X],存在元組m、n∈r,使m[X]=n[X]=t[X],而m[Z-Y]=s[Z-Y],m[R3]=t [R3],n[Z-Y]=t[Z-Y],n[R3]=s[R3]。 A8:若X→→Y,W→Z,W∩Y=Φ,Z?Y,則X→Z。設r是R上的任一關係,對任意s、t∈r,若t[X]=s[X],設R1=U-X-Y,則根據X→→Y知:存在元組p、q∈r,使p[X]=q[X]=t [X],而p[Y]=t[Y],p[R1]=s[R1],q[Y]=s[Y],q[R1]=t[R1]。因為W∩Y=Φ,所以s[W]=p[W],又 W→Z,所以s[Z]=p[Z];因為Z?Y,且p[Y]=t[Y],所以p[Z]=t[Z];所以可得t[Z]=s[Z],即X→Z。
11 . 關係模式規範化需要考慮資料間的依賴關係,人們已經提出了多種型別的資料依賴,其中最重要的是_____________和___________。 (問答題)
o 函式依賴 多值依賴
12 .設關係模式為R(U,F),X,Y為屬性集,X,Y?U。證明: (1)X?XF+ (2)(XF+)F+=XF+ (3)若X?Y則XF+?YF+ (4)UF+=U (填空題)
o (1)因為X→X 所以X?XF+ (根據XF+的定義)(2) *解析 1 要證明(XF+)F+=XF+ 只要證明 XF+ ?(XF+)F+ 並且(XF+)F+ ? XF+ 而XF+ ?(XF+)F+ 是顯然的,因此只要證明(XF+)F+ ? XF+ 2 這裡的證明要用集合論的基本知識,同學們應該複習一下有關集合論中的有關概念和證明方法。證明:下面求證(XF+)F+?XF+ 任意A∈(XF+)F+,(由題意知)存在B∈XF+,使B→A能由F根據Armstrong公理匯出,而從B∈XF+ 可知X→B能由F根據Armstrong公理匯出,根據公理中的傳遞律可知X→A能由F根據Armstrong公理匯出,所以A∈XF+,因此(XF+) F+ ? XF+。所以(XF+)F+=XF+。 (3)對任意A∈XF+ ,可知X→A能由F根據Armstrong公理匯出,因為X?Y,由自反律可以得Y→X,由傳遞律得Y→A,所以A∈YF+ 。 XF+?YF+ 得證。 (4) *解析 要證明UF+=U 只要證明 U? UF+ 並且 UF+ ?U U? UF+ 是顯然的;下面證明UF+? U,即證U由F據Armstrong公理推出的集合仍屬於U: 自反律:Y ? U,U→Y為F所蘊含。顯然U由F據Armstrong公理的自反律推出的Y仍屬於U; 增廣律:U→Y為F所蘊含,且Z?U,則U Z→YZ為F所蘊含,YZ?U。 傳遞律:U→Y 和Y→Z都為F所蘊含,則U→Z為F所蘊含。Z?U。
13 . 設關係R(U),X,Y∈U,X→Y是R的一個函式依賴,如果存在X′∈X,使X′→Y成立,則稱函式依賴X→Y是___________ 函式依賴。 (問答題)
o 部分
14 .設關係模式為R(U,F),若XF+=X,則稱X相對於F是飽和的。 定義飽和集?F={X | X=XF+}, 試證明?F = {XF+ | X?U }。 (填空題)
o 證:1)證 ?F ? {XF+|X?U} 對任意A∈?F ,由已知條件得A=AF+ ,因為A?U,A=AF+ 所以A∈{XF+|X?U}。 2)證 {XF+| X?U} ? ?F 對任意A∈{AF+|A?U},因為(AF+)F+ = AF+(見習題7),令B=AF+,有BF+ =B 所以 B∈?F 即AF+∈?F ,A∈?F 得證。
15 . 在關係模式R(A,B,C,D)中,存在函式依賴關係{A→B,A→C,A→D,(B,C)→A},則候選碼是___________,關係模式R(A, B,C,D)屬於____________ 。 (問答題)
o A,(B,C) 2NF
16 . 在關係模式R(D,E,G)中,存在函式依賴關係{E→D,(D,G)→E},則候選碼是__________,關係模式R(D,E,G)屬於____________。 (問答題)
o (E,G),(D,G) 3NF
17 . 在關係模式R(A,C,D)中,存在函式依賴關係{ A→C,A→D },則候選碼是___________ ,關係模式R(A,C,D)最高可以達到_____________ 。 (問答題)
o A BCNF