1NF對2NF對3NF
在關係數據庫中執行的冗餘操作是為了使冗餘數據最小化。這個過程主要是把大表分成冗餘較少的小表。這些較小的表將通過定義良好的關係相互關聯。在標準化良好的數據庫中,對數據的任何更改或修改都只需要修改一個表。第一範式(1NF)、第二範式(2NF)和第三範式(3NF)是由edgarf.Codd提出的,他也是關係模型和規範化概念的發明者。
什麼是1NF?
1NF是第一種標準形式,它提供了規範化關係數據庫的最低要求集。符合1NF的表確保它實際上表示一個關係(即,它不包含任何重複的記錄),但是對於1NF沒有普遍接受的定義。一個重要的屬性是,符合1NF的表不能包含任何關係值的屬性(即所有屬性都應該具有原子值)。
什麼是2NF?
2NF是關係數據庫中使用的第二種規範形式。對於符合2NF的表,它應該符合1NF,並且任何不屬於任何候選鍵的屬性(即非質數屬性)都應該完全依賴於表中的任何候選鍵。
什麼是3NF?
3NF是關係數據庫規範化中使用的第三種規範形式。根據Codd的定義,一個表被稱為3NF,當且僅當該表是第二範式(2NF),並且表中不屬於候選鍵的每個屬性都應該直接依賴於該表的每個候選鍵。1982年,卡洛·扎尼奧洛提出了一個不同於3NF的定義。符合3NF的表通常不包含在**、刪除或更新表中的記錄時發生的異常。
1NF和2NF和3NF有什麼區別?