作業15

數據依賴
一個關係內部屬性與屬性之間的一種約束關係。其中最重要的是函數依賴和多值依賴。
函數依賴:設R(U)是一個屬性集U上的關係模式,X和Y是U的子集。若對於R(U)的任意一個可能的關係r,r 中不可能存在兩個元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱“X函數確定Y”或“Y函數依賴於X”,記作 X→Y X \rightarrow YX→Y 。


設K爲R<U,F>中的屬性或屬性組合。若K→U K \rightarrow UK→U,則K稱爲R的候選碼。如果U部分函數依賴於K,即K→PU K \overset P \rightarrow UK

P
U,則K稱爲超碼 。候選碼是最小的超碼,即K的任意真子集都不是候選碼。

若關係模式R有多個候選碼,則選定其中的一個做爲主碼。包含在任何一個候選碼中的屬性 ,稱爲主屬性。不包含在任何碼中的屬性稱爲非主屬性或非碼屬性。整個屬性組是碼,稱爲全碼。

範式
關係數據庫中的關係是要滿足一定條件的,滿足不同程度要求的爲不同範式。
滿足最低要求的就叫第一範式,簡稱1NF。一個低一級範式的關係模式通過模式分解,可以轉化爲若干個高一級範式的關係模式的集合,這種過程就叫規範化。
2NF
若關係模式R∈1NF,並且每一個非主屬性都完全函數依賴於任何一個候選碼,則R∈2NF。

3NF
設關係模式R<U,F>∈1NF,若R中不存在這樣的碼X、屬性組Y及非主屬性Z(Z⊉Y Z \nsupseteq YZ⊉Y), 使得X→Y X \rightarrow YX→Y,Y→Z Y \rightarrow ZY→Z成立,Y↛Z Y \not\rightarrow ZY


→Z不成立,則稱R<U,F> ∈ 3NF。

BCNF
設關係模式R<U,F>∈1NF,若X→Y X \rightarrow YX→Y且Y⊈X Y \nsubseteq XY⊈XX必含有碼,則R<U,F>∈BCNF。
也就是說,關係模式R<U,F>中,如果每一個決定屬性集都包含候選碼,則R∈BCNF。

由BCNF的定義可以得到以下結論,一個滿足BCNF的關係模式有:
所有非主屬性對每一個碼都是完全函數依賴;
所有主屬性對每一個不包含它的碼也是完全函數依賴;
沒有任何屬性完全函數依賴於非碼的任何一組屬性

多值依賴
設R(U)是屬性集U上的一個關係模式。X,Y,Z是U的子集,並且Z=U-X-Y。關係模式R(U)中多值依賴X→→Y X \rightarrow \rightarrow YX→→Y成立,當且僅當對R(U)的任一關係r,給定的一對(x,z)值,有一組Y的值,這組值僅僅決定於x值而與z值無關。

4NF
關係模式R<U,F>∈1NF,如果對於R的每個非平凡多值依賴X→→Y X \rightarrow \rightarrow YX→→Y(Y⊈X Y \nsubseteq XY⊈X),X都含有碼,則R<U,F>∈4NF。

4NF就是限制關係模式的屬性之間不允許有非平凡且非函數依賴的多值依賴。

習題:
2.
(1)關係模式:
學生:S(Sno,Sname,Sbirth,Dept,Class,Rno)
班級:Class(Cno,Pname,Dept,Cnum,Cyear)
系:Department(Dept,Dno,Office,Dnum)
學會:Corporation(Mname,Myear,Maddr,Mnum)

(2)
學生關係模式中存在傳遞函數依賴:
Sno→Class,Class→Dept,Dept→Rno,Class→Dept,Dept→Class,Dept→Rno,Class→Sno

班級關係模式中存在傳遞函數依賴:
Cno→Pname,Pname→Cno,Pname→Dept

系和學會系模式中不存在傳遞函數依賴。

(3)
關係模式    候選碼    外部碼    全碼
Student     Sno    Dept,Class   無
Class      Cno     Dept     無
Department  Dept,Dno   無      無
Corporation   Mname    無      無


(1).
當屬性組BC也是關係模式R的候選碼時,R是BCNF
(2).
ACE,BCE,CDE
(3)。
不存在傳遞函數依賴,R是3NF

正確:1、2、3、5、6、7、
錯誤:4、

(1)正確
(2)正確
(3)正確
(4)錯誤
當且僅當函數依賴知A→→B A\rightarrow \rightarrow BA→→B在R上成立,關係R(A,B,C)等於其投影R1(A,B)和R2(A,C)的連接
(5)正確
(6)正確
(7)正確
(8)錯誤


(1)
假設R∈BCNF,所以X→Y X \rightarrow YX→Y且Y⊈X Y \nsubseteq XY⊈X時X必含有碼
R中使得X→Y X \rightarrow YX→Y,Y→Z Y \rightarrow ZY→Z成立,Y↛X Y \nrightarrow XY↛X不成立,所以R∈3NF。
(2)
若R∈3NF,則每一個非主屬性既不傳遞依賴於碼,也不部分依賴於碼,則必有R∈2NF.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章