1nf是對屬性的原子性,要求屬性具有原子性,不可再分解;
表:欄位1、 欄位2
(欄位2.1、欄位2.2
)、欄位3..
....
如學生(學號,姓名,性別,出生年月日),如果認為最後一列還可以再分成(出生年,出生月,出生日),它就不是一正規化了,否則就是;
通俗來說:字段能否被拆分。
方法:拆字段
2nf是對記錄的惟一性,要求記錄有惟一標識,即實體的惟一性,即不存在部分依賴;必須在滿足第一正規化的前提下,第二正規化要求,除主鍵外的每一列都必須完全依賴於主鍵
表:學號、課程號、姓名、學分;
這個表明顯說明了兩個事務:學生資訊, 課程資訊;由於非主鍵字段必須依賴主鍵,這裡學分依賴課程號,姓名依賴與學號,所以不符合二正規化。
可能會存在問題:
正確做法:
學生:student(學號, 姓名);
課程:course(課程號, 學分);
選課關係:studentcourse(學號, 課程號, 成績)。
通俗來說:是否完全依賴主鍵,或者部分依賴主鍵(聯合主鍵)
方法:拆表
3nf是對字段的冗餘性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗餘,即滿足第二正規化,除開主鍵外的其他列之間不能有傳遞依賴關係
表: 學號, 姓名, 年齡, 學院名稱, 學院**
因為存在依賴傳遞: (學號) → (學生)→(所在學院) → (學院**) 。
可能會存在問題:
正確做法:
學生:(學號, 姓名, 年齡, 所在學院);
學院:(學院, **)。
通俗來說:除主鍵外其他字段是否有依賴關係
資料庫設計三大正規化資料庫設計三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...
資料庫三大正規化
1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...
資料庫三大正規化
第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...