資料庫標準化與正規化
標準化是IT資料庫專業人士的戒律之一,資料建模工程師、資料庫管理員和SQL開發者都必須遵守這一戒律。我們很早就瞭解它的原理和正規化。
但是對大部分資料庫進行了解發現:它們至多執行了第三正規化(3NF)。很少有資料庫執行了更高正規化,如Boyce-Codd正規化(BCNF)、第四正規化(4NF)和第五正規化(5NF)。那麼,為什麼大多數資料庫設計員沒有超出3NF呢?
正規化簡介
為了回答上述問題,瞭解3NF、BCNF、4NF和5NF之間的區別很重要。以下為每個正規化的準確定義。
第一正規化(1NF)
每個表必須有一個首要鍵,即最少的一組屬性,它與每條記錄一一對應。透過適當定義鍵屬性和非鍵屬性,刪除重複的組(不同記錄似乎需要不同次重複的資料種類)。注:每個屬性必須包含單獨一個值,而非一組值。
第二正規化(2NF)
資料庫必須滿足1NF的所有要求。另外,如果一個表有一個複合鍵,所有屬性必須與整個鍵相關聯。而且,在表的多行之間多餘重複的資料被移動一個單獨的表中。
第三正規化(3NF)
儲存在表中的資料不得依賴表的任何域,必須唯一依賴於首要鍵。資料庫必須滿足2NF的所有要求。既依賴首要鍵,又依賴其它域的資料被移動到一個單獨的表中。
Boyce-Codd正規化(BCNF)
除對一個候選鍵擴充套件集(稱作一個超級鍵)存在屬性函式依賴外,不存在其它非平凡函式依賴。
第四正規化(4NF)
除對一個候選鍵擴充套件集存在屬性組函式依賴外,不存在其它非平凡多值函式依賴。如果且只有一個表符合BCNF,同時多值依賴為函式依賴,此表才符合第四正規化。4NF刪除了不必要的資料結構:多值依賴。
第五正規化(5NF)
不得存在不遵循鍵約束的非平凡連線依賴。如果且只有一個表符合4NF,同時其中的每個連線依賴被候選鍵所包含,此表才符合第五依賴。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30633755/viewspace-2127653/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料的標準化與正則化
- 資料庫正規化與例項資料庫
- 資料庫設計正規化2——BC正規化和第四正規化資料庫
- 資料庫設計正規化1——三正規化資料庫
- 資料庫(第一正規化,第二正規化,第三正規化)資料庫
- 函式依賴與資料庫正規化函式資料庫
- 資料庫三正規化資料庫
- 資料庫 三大正規化資料庫
- 啥是資料庫正規化資料庫
- 資料庫設計---正規化資料庫
- 資料庫正規化那些事資料庫
- 細說資料庫正規化資料庫
- 資料庫三大正規化資料庫
- Profile標準化資料庫管理資料庫
- 資料庫原理之第一正規化、第二正規化、第三正規化資料庫
- 前端資料正規化化前端
- 資料庫——三正規化理解資料庫
- 資料庫三大正規化 Mysql資料庫MySql
- 資料庫正規化那些事[轉]資料庫
- [轉]資料庫三大正規化資料庫
- 資料變換-歸一化與標準化
- 統計資料歸一化與標準化
- 資料庫中的正規化和反正規化詳解!資料庫
- 使用Profile標準化資料庫管理資料庫
- 資料庫系統------函式依賴與正規化資料庫函式
- 資料庫設計三正規化資料庫
- 資料庫 設計三大正規化資料庫
- 資料庫設計三大正規化資料庫
- 資料庫三大正規化詳解資料庫
- 白話資料庫三正規化資料庫
- [轉]資料標準化
- 資料庫規範化三個正規化應用例項(轉)資料庫
- 資料庫-三正規化優化與不推薦使用外來鍵資料庫優化
- 關係型資料庫:使用正規化建立資料庫(轉)資料庫
- 資料庫學習(一)三正規化資料庫
- 資料庫表設計三正規化資料庫
- 資料庫表設計正規化 筆記資料庫筆記
- 資料庫設計_正規化理解及其它資料庫