簡單來說三句話:
1nf、列不可分;
2nf、不存在部分依賴;
3nf、不存在傳遞依賴。
解釋:1nf:原子性,即字段不可以再分。
2nf:唯一性,不可以把多種資料儲存在同一張表中,即一張表只能儲存「一種」資料。
不符合第二正規化的表:學號, 姓名, 年齡, 課程名稱, 成績, 學分;
可能會存在問題:
資料冗餘,每條記錄都含有相同資訊;
刪除異常:刪除所有學生成績,就把課程資訊全刪除了;
插入異常:學生未選課,無法記錄進資料庫;
更新異常:調整課程學分,所有行都調整。
正確做法:
學生:student(學號, 姓名, 年齡);
課程:course(課程名稱, 學分);
選課關係:studentcourse(學號, 課程名稱, 成績)。
不符合第三正規化的表: 學號, 姓名, 年齡, 學院名稱, 學院**,因為存在依賴傳遞: (學號) → (學生)→(所在學院) → (學院**) 。
可能會存在問題:
資料冗餘:有重複值;
更新異常:有重複的冗餘資訊,修改時需要同時修改多條記錄,否則會出現資料不一致的情況
簡而言之,第三正規化(3nf)要求乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊
正確做法:
學生:(學號, 姓名, 年齡, 所在學院);
學院:(學院, **)。
資料庫設計三大正規化資料庫設計三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...
資料庫三大正規化
1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...
資料庫三大正規化
第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...