1. 程式人生 > >第六章 關係資料理論

第六章 關係資料理論

屬性間的聯絡:

一對一聯絡 設X,Y為關係中的屬性或屬性組,它們的所有可能取值組成兩個集合。如果對於X中的任一具體值Y中至多有一個值與之對應,稱X,Y這兩個屬性之間是一對一聯絡。

一對多聯絡 如果屬性值集合X中的任一個具體值,至多與Y中的一個值相對應,而Y中的任一個具體值卻可以和X中的多個值相對應,則稱兩個屬性間從X到Y為m:1的聯絡或從Y到X是1:m的聯絡。 注意:這裡指的是屬性值個數的多少,而不是具有相同屬性值的有多少個元組,二者正好相反。

多對多聯絡 在X,Y兩個屬性值集中,如果任一個值都可以至多和另一個屬性值集中多個值對應,反之亦然,則稱屬性X和Y是m:n關係

規範化:    規範化理論正是用來改造關係模式,通過分解關係模式來消除其中不合適的資料依賴,以解決插入異常、刪除異常、更新異常和資料冗餘問題。

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

平凡函式依賴與非平凡函式依賴:X→Y,但Y⊈X則稱X→Y是非平凡的函式依賴。 X→Y,但Y⊆X 則稱X→Y是平凡的函式依賴。 例:在關係SC(Sno, Cno, Grade)中,             非平凡函式依賴: (Sno, Cno) → Grade             平凡函式依賴:     (Sno, Cno) → Sno                                           (Sno, Cno) → Cno

完全函式依賴與部分函式依賴:定義6.2  在R(U)中,如果X→Y,並且對於X的任何一個真子集X’, 都有 X’ ↛ Y, 則稱Y對X完全函式依賴,記作X → Y。 若X→Y,但Y不完全函式依賴於X,則稱Y對X部分函式依賴,記作X → Y

傳遞函式依賴:定義6.3  在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 則稱Z對X傳遞函式依賴(transitive functional dependency)。記為:X → Z。 注: 如果Y→X, 即X←→Y,則Z直接依賴於X,而不是傳遞函式依賴。 [例] 在關係Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname, Mname傳遞函式依賴於Sno

  正規化:正規化是符合某一種級別的關係模式的集合。 關係資料庫中的關係必須滿足一定的要求。滿足   不同程度要求的為不同正規化。 正規化的種類:            第一正規化(1NF) 第二正規化(2NF) 第三正規化(3NF) BC正規化(BCNF) 第四正規化(4NF) 第五正規化(5NF)

關係模式分解的標準:三種模式分解等價的定義: ⒈ 分解具有無損連線性     ⒉ 分解要保持函式依賴     ⒊ 分解既要保持函式依賴,又要具有無損連線性

具有無損連線性的模式分解:關係模式R<U,F>的一個分解 ρ={ R1<U1,F1>,R2<U2,F2>, …,Rn<Un,Fn>}      若R與R1、R2、…、Rn自然連線的結果相等,則稱關係模式R的這個分解ρ具有無損連線性(Lossless join) 具有無損連線性的分解保證不丟失資訊 無損連線性不一定能解決插入異常、刪除異常、修改複雜、資料冗餘等問題