關(guān)系數(shù)據(jù)理論
關(guān)系模型 定義
R(U,D,DOM,F)
- 關(guān)系 R拷沸,它是符號(hào)化的元祖語(yǔ)義
- 一組屬性 U
- 屬性組 U 中屬性所有來(lái)自的域 D
- 屬性到域的映射 DOM
- 屬性組 U 上的一組數(shù)據(jù)依賴 F
- 第一范式:
一張二維表着降,它的每個(gè)分量必須是不可分割的數(shù)據(jù)項(xiàng)。
- 規(guī)范化可以解決的問(wèn)題:
1.數(shù)據(jù)冗余太大
2.更新異常
3.插入異常
4.刪除異常
規(guī)范化
- 函數(shù)依賴
定義:設(shè) R(U) 是屬性集 U 上的關(guān)系模式叠艳。X,Y 是 U 的子集。若對(duì)于 R(U) 的任意一個(gè)可能的關(guān)系 r, r 中不可能存在兩個(gè)元祖在 X 上的屬性值相等,而在 Y 上的屬性值不等烹玉, 則稱 X 函數(shù)確定 Y 或 Y 函數(shù)依賴于 X , 記作 X->Y
非平凡函數(shù)依賴:Y 依賴于 X 阐滩,但是 Y 不屬于 X
平凡函數(shù)依賴: Y 依賴于 X二打,但 Y 屬于 X
決定因素: Y 依賴于 X , 則 X 為這個(gè)函數(shù)依賴的決定屬性組
相互依賴: Y 依賴于 X 掂榔, X 依賴于 Y 继效, 則 X,Y 相互依賴
不函數(shù)依賴:
- 定義:在 R(U) 中,如果 X->Y 装获,并且對(duì)于 X 的任何一個(gè)真子集 X1 瑞信,都有 Y 不依賴于 X1 ,則稱 Y 對(duì) X 完全依賴
如果 Y 對(duì) X 不完全依賴穴豫, 稱為 Y 對(duì) X 部分依賴
定義:傳遞依賴凡简,在 R(U) 中,Y 依賴于 X 精肃,X不依賴于 Y 秤涩, Z依賴于 Y ,則稱 Z 對(duì) X 傳遞函數(shù)依賴
碼
定義: 設(shè) K 為 R<U,F> 中的屬性或?qū)傩越M合肋杖,若 K 完全依賴 U溉仑,則 K 為 R 的候選碼,若候選碼多于一個(gè)状植, 則選定其中的一個(gè)為 主碼浊竟。
主屬性:在任何一個(gè)候選碼中的屬性
非主屬性:不包含在任何碼中的屬性
- 定義: 關(guān)系模式 R 中屬性或?qū)傩越M X 并非 R 的碼怨喘,但 X 是另一個(gè)關(guān)系模式的碼,則稱 X 是 R 的外部碼振定,也稱外碼
第一范式:
一張二維表必怜,它的每個(gè)分量必須是不可分割的數(shù)據(jù)項(xiàng)。2NF 范式
2NF: 若 R 屬于 第一范式后频,且每一個(gè)非主屬性完全函數(shù)依賴于碼梳庆,稱為 2NF-
3NF 范式
3NF: 關(guān)系模式 R<U,F> 中若不存在這樣的碼 X ,屬性組 Y 及 非主屬性 Z (Z 不屬于 Y )使得 Y 依賴于 X,Z 依賴于 Y 成立卑惜,X 不依賴于 Y, 稱 R<U,F> 為 3NF非主屬性 即不部分依賴于 碼膏执, 也不傳遞依賴于碼。
-
BCNF 依賴
定義:關(guān)系模式 R< U,F > 屬于第一范式露久,若 Y 函數(shù)依賴于 X更米,且 Y 不屬于 X 時(shí),X 必含有碼毫痕,則 R<U,F> 屬于范式 BCNF滿足 BCNF 的關(guān)系模式 有下面的特點(diǎn)
- 所有非主碼屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴
- 所有的主屬性對(duì)每一個(gè)不包含它的碼征峦,也是完全函數(shù)依賴
- 沒(méi)有任何屬性完全函數(shù)依賴于非碼的任何一組屬性
多值依賴
定義:設(shè) R(U) 是屬性集 U 上的一個(gè)關(guān)系模式。 X,Y,Z 是 U 的子集消请,并且 Z = U - X - Y 栏笆。關(guān)系模式 R(U) 中多值依賴 X->->Y 成立,當(dāng)且僅當(dāng)對(duì) R(U) 的任一關(guān)系 r臊泰,給定的一對(duì)(x,z)值蛉加,有一組 Y 的值,這組值僅僅決定于 x 值而與 z 值無(wú)關(guān)因宇。-
另一個(gè)等價(jià)形式的多值依賴定義:
在 R(U) 的任一關(guān)系 r 中七婴, 如果存在元祖 t,s使得t[X]=s[X],那么就必然存在元祖w察滑,u屬于r (w,u 可以與x,t 相同)打厘,使得w[X]=v[X]=t[X], 而 w[Y]=t[Y],w[Z]=s[Z],u[Y]=s[Y],u[Z]=t[Z]( 即交換 s,t 元祖的Y值所得的兩個(gè)新元祖必在 r 中)則 Y 多值依賴于 X,記為 X->->Y贺辰。這里 X,Y 是 U 的子集户盯, Z=U-X-Y若 X->->Y,則 Z為空饲化,稱 X->->Y 為平凡的多值依賴莽鸭。
多值依賴具有對(duì)稱性:若X->->Y,則X->->Z 其中 Z=U-X-Y.
多值依賴具有傳遞性:若 X->->Y,Y->->Z 則 X->->Z-Y
函數(shù)依賴可以看做是多值依賴的特殊情況,若 Y 依賴于 X吃靠,則 Y 多值依賴于 X硫眨,這是因?yàn)楫?dāng) Y 依賴 X 時(shí),對(duì) X 的每個(gè)值 x巢块,Y 有一個(gè)確定的值 y 與之對(duì)應(yīng)礁阁,所以 X->->Y
若 X->->Y,X->->Z, 則 X->->YZ
若 X->->Y,X->->Z, 則 X->->Y交集Z
若 X->->Y, X->->Z , 則 X->->Y-Z, X->->Z-Y