資料庫標準化與正規化
標準化是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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫正規化與例項資料庫
- 啥是資料庫正規化資料庫
- 資料庫三正規化資料庫
- 資料庫 三大正規化資料庫
- 資料庫三大正規化資料庫
- Profile標準化資料庫管理資料庫
- 資料庫——三正規化理解資料庫
- 資料庫三大正規化 Mysql資料庫MySql
- 使用Profile標準化資料庫管理資料庫
- 資料庫中的正規化和反正規化詳解!資料庫
- 前端資料正規化化前端
- 資料變換-歸一化與標準化
- 資料庫系統------函式依賴與正規化資料庫函式
- 資料庫設計三正規化資料庫
- 資料庫-三正規化優化與不推薦使用外來鍵資料庫優化
- 資料庫學習(一)三正規化資料庫
- 資料庫表設計三正規化資料庫
- 正規化(Normal Form)是資料庫設計中的概念。新的正規化(paradigm)ORM資料庫
- Java學習筆記:資料庫中的正規化和反正規化Java筆記資料庫
- 【一文秒懂】帶你徹底搞懂正規化與反正規化資料庫設計資料庫
- 八、資料庫的歸約,三大正規化(規範資料庫設計)資料庫
- 關於使用sklearn進行資料預處理 —— 歸一化/標準化/正則化
- Java與資料庫 —— JDBC標準Java資料庫JDBC
- 你還記得資料庫三正規化嗎?資料庫
- 關係型資料庫設計三大正規化資料庫
- javaWeb-day03-約束、資料庫設計、正規化、資料庫備份JavaWeb資料庫
- 資料庫設計之三正規化的的理解資料庫
- 資料標準化遇到的問題
- 1.2.4 資料庫規範化資料庫
- laravel-api-response - 規範化和標準化 Laravel API 響應資料結構LaravelAPI資料結構
- 談談資料資產化的關鍵:資料資產標準化
- 資料探勘實驗(一)資料規範化【最小-最大規範化、零-均值規範化、小數定標規範化】
- 資料庫設計三大正規化應用例項剖析資料庫
- 關聯式資料庫的正規化(Normal Form)知識點資料庫ORM
- 資料庫建表設計六正規化介紹枘雍資料庫
- 【資料庫】關係模式的正規化的簡明判斷資料庫模式
- 深度學習煉丹-資料標準化深度學習
- 亞信安慧AntDB資料庫:引領向量資料庫標準化,助力大資料技術創新資料庫大資料
- 關聯式資料庫正規化詳解(Normal form,簡稱NF)資料庫ORM