什麼是第三正規化意思與概念

  每個非關鍵字列都獨立於其他非關鍵字列,並依賴於關鍵字,第三正規化指資料庫中不能存在傳遞函式依賴關係。那麼你對第三正規化瞭解多少呢?以下是由小編整理關於什麼是第三正規化的內容,希望大家喜歡!

  什麼是第三正規化

  關係模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z***Z ***強制依賴***Y***,使得X→Y,Y→Z,成立,Y→X不成立,則稱R<U,F> ∈ 3NF。

  若R∈3NF,則R的每一個非主屬性既不部分函式依賴於候選碼也不傳遞函式依賴於候選碼。

  如果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}

第三正規化的詳細資訊“的人還: