資料庫設計的三大正規化 學習筆記

2021-10-07 14:25:06 字數 1163 閱讀 9193

* 概念:設計資料庫時,需要遵循的一些規範。要遵循後邊的正規化要求,必須先遵循前邊的所有正規化要求

設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。

目前關聯式資料庫有六種正規化:第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、巴斯-科德正規化(bcnf)、第四正規化(4nf)和第五正規化(5nf,又稱完美正規化)。

* 分類:

1. 第一正規化(1nf):每一列都是不可分割的原子資料項

2. 第二正規化(2nf):在1nf的基礎上,非碼屬性必須完全依賴於碼(在1nf基礎上消除非主屬性對主碼的部分函式依賴)

* 幾個概念:

1. 函式依賴:a-->b,如果通過a屬性(屬性組)的值,可以確定唯一b屬性的值。則稱b依賴於a

例如:學號-->姓名。  (學號,課程名稱) --> 分數

2. 完全函式依賴:a-->b, 如果a是乙個屬性組,則b屬性值得確定需要依賴於a屬性組中所有的屬性值。

例如:(學號,課程名稱) --> 分數

3. 部分函式依賴:a-->b, 如果a是乙個屬性組,則b屬性值得確定只需要依賴於a屬性組中某一些值即可。

例如:(學號,課程名稱) -- > 姓名

4. 傳遞函式依賴:a-->b, b -- >c . 如果通過a屬性(屬性組)的值,可以確定唯一b屬性的值,在通過b屬性(屬性組)的值可以確定唯一c屬性的值,則稱 c 傳遞函式依賴於a

例如:學號-->系名,系名-->系主任

5. 碼:如果在一張表中,乙個屬性或屬性組,被其他所有屬性所完全依賴,則稱這個屬性(屬性組)為該錶的碼

例如:該表中碼為:(學號,課程名稱)

* 主屬性:碼屬性組中的所有屬性

* 非主屬性:除過碼屬性組的屬性

3. 第三正規化(3nf):在2nf基礎上,任何非主屬性不依賴於其它非主屬性(在2nf基礎上消除傳遞依賴)

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

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

資料庫三大正規化學習筆記

在設計與操作維護資料庫時,最關鍵的問題就是要確保資料能夠正確地分布到資料庫的表中。使用正確的資料結構,不僅有助於對資料庫進行相應的訪問操作,還可以極大地簡化應用程式中的其他內容 查詢 窗體 報表 等 按照 資料庫規範化 對錶進行設計,其目的就是減少資料庫中的資料冗餘,以增加資料的一致性。在實際的資料...

資料庫設計三大正規化

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