-
第三範式
鎖定
- 中文名
- 第三範式
- 關 係
- 傳遞函數依賴關係
- 模 式
- 關係模式
- 方 法
- 投影分解法
- 解決目地
- 每個關係模式中不能留有傳遞依賴
- 注 意
- 關係S中不能沒有外關鍵字DNO
第三範式簡介
如果R∈3NF,則R也是2NF。
第三範式詳細信息
例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各屬性分別代表學號,姓名,所在系,系名稱,系地址。
關鍵字SNO決定各個屬性。由於是單個關鍵字,沒有部分依賴的問題,肯定是2NF。但這關係肯定有大量的冗餘,有關學生所在的幾個屬性DNO,DNAME,LOCATION將重複存儲,插入,刪除和修改時也將產生類似以上例的情況。
原因:關係中存在傳遞依賴造成的。即SNO -> DNO。 而DNO -> SNO卻不存在,DNO -> LOCATION, 因此關鍵字 SNO 對 LOCATION 函數決定是通過傳遞依賴 DNO -> LOCATION 實現的。也就是説,SNO不直接決定非主屬性LOCATION。
解決目的:每個關係模式中不能留有傳遞依賴。
解決方法:分為兩個關係 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
注意:關係S中不能沒有外關鍵字DNO。否則兩個關係之間失去聯繫。
(1)求出R的最小函數依賴集Fmin
(2)找出不在Fmin中出現的屬性,並將這些屬性從R中去掉,構成一個關係模式
(3)若Fmin中有一個函數依賴涉及R的全部屬性,則R不能分解
(4)否則,若Fmin中有X->A,則分解應包含{XA};若有X->A1,X->A2....X->An均屬於Fmin,則分解應包含{XA1A2...An}