第一、第二、第三正規化之間的理解和比較
阿新 • • 發佈:2019-02-17
第一第二第三正規化總結:
第一正規化
屬性不可分割(無重複的列)
第二正規化
非主屬性依賴主屬性
第三正規化
非主屬性不存在傳遞依賴
舉例說明:
例項講解:
第一正規化
如果一個關係模式R的所有屬性都是不可分的基本資料項,則R∈1NF(即R符合第一正規化)。
兩點:
一、每個欄位都只能存放單一值
課程有兩個值,不符合第一正規化,可改為如下
二、每筆記錄都要能利用一個惟一的主鍵來加以識別
這裡出現了重複組,同樣不滿足第一正規化,因為缺乏唯一標識碼,可改為
第二正規化
若關係模式R∈1NF(即R符合第一正規化),並且每一個非主屬性都完全依賴於R的碼,則R∈2NF(即R符合第二正規化)。
這裡表的碼為(學號,課程), 即知道這兩項可以確定系名、宿舍、分數,或者是這三項依賴於前兩項,可知
分數完全依賴(學號,課程)系名部分依賴(學號,課程),即知道學號或者課程就能確定系名.宿舍樓部分依賴(學號,課程),即知道學號或者課程就能確定宿舍樓.
由於非主屬性系名,宿舍樓不完全依賴與碼,不符合第二正規化,可改為
表1
第三正規化
若關係模式R∈3NF(即R符合第三正規化),則每一個非主屬性既不部分依賴於碼也不傳遞依賴於碼。
上面的表2不符合第三正規化,這是因為你知道了系名,同樣也就知道了宿舍樓,稱宿舍樓傳遞依賴於碼(學號),可分解為