屬性不可分割;主鍵約束;外來鍵約束。
第一正規化就是屬性不可分割,每個欄位都應該是不可再拆分的。
比如乙個欄位是姓名(name),在國內的話通常理解都是姓名是乙個不可再拆分的單位,這時候就符合第一正規化;但是在國外的話還要分為first name和last name,這時候姓名這個字段就是還可以拆分為更小的單位的字段,就不符合第一正規化了。
第二正規化就是要求表中要有主鍵,表中其他其他欄位都依賴於主鍵,因此第二正規化只要記住主鍵約束就好了。
比如說有乙個表是學生表,學生表中有乙個值唯一的字段學號,那麼學生表中的其他所有欄位都可以根據這個學號字段去獲取,依賴主鍵的意思也就是相關的意思,因為學號的值是唯一的,因此就不會造成儲存的資訊對不上的問題,即學生001的姓名不會存到學生002那裡去。
第三正規化就是要求表中不能有其他表中存在的、儲存相同資訊的字段,通常實現是在通過外來鍵去建立關聯,因此第三正規化只要記住外來鍵約束就好了。
比如說有乙個表是學生表,學生表中有學號,姓名等字段,那如果要把他的系編號,系主任,系主任也存到這個學生表中,那就會造成資料大量的冗餘,一是這些資訊在系資訊表中已存在,二是系中有1000個學生的話這些資訊就要存1000遍。因此第三正規化的做法是在學生表中增加乙個系編號的字段(外來鍵),與系資訊表做關聯。
正規化並非硬性要求,而是設計時盡可能遵守的大原則。
因此,資料庫設計存在不符合正規化規定
資料庫設計三大正規化資料庫設計三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...
資料庫三大正規化
1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...
資料庫三大正規化
第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...