第一正規化、第二正規化、第三正規化的理解
阿新 • • 發佈:2018-12-21
第一正規化(1NF):
1、每個屬性不可再分。
2、相近或一樣的屬性要儘量合併在一起確保不會產生冗餘資料。
上表如果要求把省/市單獨劃分出來,則不符合1NF。
上表產生資料冗餘。
2、第二正規化(2NF):非主屬性對關鍵字完全依賴,消除部分依賴。
比如有選課關係表:學號,姓名,成績,課程,學分。主鍵為(學號,課程)的屬性組。
存在部分依賴:學號->姓名;課程->學分。因此不符合2NF。
3、第三正規化(3NF):消除傳遞依賴,每個屬性和主鍵有直接關係而不是間接關係,即屬性不依賴於其他非主屬性。
比如有學生檔案表:學號,姓名,生源地,生源地編號,郵政編碼。主鍵為(學號)。
存在傳遞依賴:學號->生源地編號->生源地,郵政編碼。因此不符合3NF。
4、BCNF:不存在任意欄位對任意候選關鍵欄位的傳遞函式依賴。
比如寢室管理關係表 (寢室ID,室長ID,物品ID,數量),選主鍵的時候
(寢室ID,物品ID)---->(室長ID,數量)
也可以
(室長ID,物品ID)------>(寢室ID,數量)
5、第四正規化(4NF):存在多值依賴。
例如(商品,買商品的客戶,附贈品)
(商品)-->-->(買商品的客戶),
(商品)-->-->(附贈品)
都是1:N關係,且聯絡獨立,存在多值依賴關係。