第三範式(Third Normal Form,3rd NF)就是指表中的所有數據元素不但要能唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其他的函式關係。也就是說,對於一個滿足2nd NF 的數據結構來說,表中有可能存在某些數據元素依賴於其他非關鍵字數據元素的現象,必須消除。
基本介紹
- 中文名:第三範式
- 關係:傳遞函式依賴關係
- 模式:關係模式
- 方法:投影分解法
- 解決目地:每個關係模式中不能留有傳遞依賴
- 注意:關係S中不能沒有外關鍵字DNO
簡介,詳細信息,
簡介
關係模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z (強制依賴)Y),使得X→Y,Y→Z,成立,Y→X不成立,則稱R<U,F> ∈ 3NF。
如果R∈3NF,則R也是2NF。
採用投影分解法將一個2NF的關係分解為多個3NF的關係,可以在一定程度上解決原2NF關係中存在的插入異常、刪除異常、數據冗餘度大、修改複雜等問題。
將一個2NF關係分解為多個3NF的關係後,並不能完全消除關係模式中的各種異常情況和數據冗餘。
詳細信息
例:如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}