資料庫的三大正規化

2021-08-18 05:14:50 字數 849 閱讀 2750

什麼是正規化

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

目前關聯式資料庫

有六種正規化:第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、巴斯-科德正規化(bcnf)、

第四正規化

(4nf)和

第五正規化

(5nf,又稱完美正規化)。滿足最低要求的正規化是第一正規化(1nf)。在第一正規化的基礎上進一步滿足更多規範要求的稱為第二正規化(2nf),其餘正規化以次類推。一般說來,資料庫只需滿足第三正規化(3nf)就行了。

第一正規化

指資料庫表的

每一列都是不可分割的原子資料項,即

保證資料原子項

。簡單來說就是每乙個屬性都是原子項,都不能再細分了。比如說學生id、姓名、性別,這樣就算符合了第一正規化,如果還要往下分姓和名,這樣就沒有意義。

第二正規化

第二正規化需要滿足第一正規化,第二正規化是

指在乙個資料表中,

乙個表只儲存一種資料

,不能把多種資料儲存在同乙個表中。否則會造成資料冗餘。比如學生姓名、性別、課程名、學號,這裡就應該分為兩個表,乙個是學生資訊表,乙個是課程表。

第三正規化

第三正規化需要滿足前面兩個正規化,第三正規化指表的

資料和主鍵直接相關

,不是間接相關。比如學生姓名、學號、所在學院和學院**。這裡應該建兩個表,乙個學生資訊表(學生姓名 學號),乙個學院資訊表(所在學院 學院**),把主鍵設定到學生資訊表中,把學院資訊表設定乙個外來鍵。因為資料可能會存在重複值,避免修改資料時資料不一致。

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

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

資料庫三大正規化

1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...

資料庫三大正規化

第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...