資料庫表設計三正規化

2021-10-20 19:35:19 字數 670 閱讀 8284

什麼是正規化

當乙個關係中的所有分類都是不可再分的資料項時,該關係是規範化的。不可再分的資料項,即不存在組合資料項和多項資料項。乙個低一級的關係模式,通過模式分解可以轉換為若干高一級正規化的關係模式的集合,這個過程就叫規範化。二維資料表可以分為5級正規化為1nf、2nf、3nf、4nf、5nf。第一正規化滿足最低的要求條件,第五正規化滿足最高要求的條件。

第一正規化條件:必須不包含重複組的關係,即每一列都是不可拆分的原子項。

如以下表存在可再分項(高階職稱),所以不滿足第一正規化

非規範化轉換為規範化的第一正規化方法很簡單,將表分別從橫向、縱向展開即可。將高階職稱橫向展開即可以得到滿足第一正規化的表結構。

第二正規化條件:關係模式必須滿足第一正規化,並且所有非主屬性都完全依賴於主碼。注意,符合第二正規化的關係模型可能還存在資料冗餘、更新異常等問題。

舉例如關係模型(職工號,姓名,職稱,專案號,專案名稱)中,職工號->姓名,職工號->職稱,而專案號->專案名稱。顯然依賴關係不滿足第二正規化,常用的解決辦法是差分**,比如拆分為職工資訊表和專案資訊表。

第三正規化的條件:關係模型滿足第二正規化,所有非主屬性對任何候選關鍵字都不存在傳遞依賴。即每個屬性都跟主鍵有直接關係而不是間接關係,像:a–>b–>c。一般資料庫設計中,一般要求達到3nf,第四第五較少涉及。

(學號,姓名,年齡,性別,所在院校)–(所在院校,院校位址,院校**)

資料庫正規化 三正規化設計

資料庫第一正規化 原子性 表中每一列都不可以再分割成更小的列 資料庫第二正規化 不產生區域性依賴 每張表只描述一件事情 資料庫第三正規化 表中每列都直接依賴於主鍵,而不是通過其它列間接依賴於主鍵 什麼是資料庫正規化 學習第一正規化的應用 什麼是正規化 一種規則,指導程式設計師建立表的規則 程式設計師...

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...

資料庫設計 三正規化

建立冗餘小,結構合理的資料庫,設計資料庫時必須准許你一定的規則,在關聯式資料庫中的這種規則就成為正規化.是要符合某一種設計要求的總結 要想設計乙個合理的關係資料型資料庫庫,就必須滿足一定的正規化 也是最基本的正規化.如果資料庫表中的所有字段值是都不可分解的原子值.例如 使用者資訊表中.但是這個並不是...