Normalization

較高的規範化形式總是滿足較低規範化形式的標準嗎?

  • January 4, 2011

例如,3NF 的數據庫始終是 1NF 和 2NF;這適用於 4、5 和 6 嗎?

這取決於。從理論上講,是的,但在實踐中,數據庫可能會隨著時間的推移而出現分歧

規範化是確保數據庫中的表遵循各種規範形式的規則以減少或消除數據庫異常的過程。

第一範式:表忠實地表示關係並且沒有重複組。 Foo (Name varchar2, Addresses varchar2)會以多種方式違反 1NF。它無法保證唯一性,(無主鍵)並且地址包含多個值。

但是,如果將數據庫轉換為第三範式,出於性能原因的非規範化(一個很好的決定,只要記錄了非規範化)可能會違反先前的範式,而不會違反後續範式的特定規則。此外,由於開發人員的粗心或無知,隨著時間的推移,更新可能(很可能)添加多屬性列。因此,雖然規範化的數據庫是可能的,但粗心可能會破壞規範化的一部分,但會使其餘部分完好無損。這完全違反了理論下的正規化,但實際上僅違反了特定的範式。

引用自:https://dba.stackexchange.com/questions/111