資料庫三大正規化 Mysql
資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。
1.第一正規化(1NF):列不可再分
1.每一列屬性都是不可再分的屬性值,確保每一列的原子性
2.兩列的屬性相近或相似或一樣,儘量合併屬性一樣的列,確保不產生冗餘資料
2.第二正規化(2NF)屬性完全依賴於主鍵
第二正規化(2NF)是在第一正規化(1NF)的基礎上建立起來的,即滿足第二正規化(2NF)必須先滿足第一正規化(1NF)。第二正規化(2NF)要求資料庫表中的每個例項或行必須可以被惟一地區分。為實現區分通常需要為表加上一個列,以儲存各個例項的惟一標識。這個惟一屬性列被稱為主鍵
3.第三正規化(3NF)屬性不依賴於其它非主屬性 屬性直接依賴於主鍵
資料不能存在傳遞關係,即每個屬性都跟主鍵有直接關係而不是間接關係。像:a–>b–>c 屬性之間含有這樣的關係,是不符合第三正規化的。
比如Student表(學號,姓名,年齡,性別,所在院校,院校地址,院校電話)
這樣一個表結構,就存在上述關係。 學號–> 所在院校 --> (院校地址,院校電話)
這樣的表結構,我們應該拆開來,如下。
(學號,姓名,年齡,性別,所在院校)–(所在院校,院校地址,院校電話)
總結:三大正規化只是一般設計資料庫的基本理念,可以建立冗餘較小、結構合理的資料庫。如果有特殊情況,當然要特殊對待,資料庫設計最重要的是看需求跟效能,需求>效能>表結構。所以不能一味的去追求正規化建立資料庫。
相關文章
- 資料庫設計正規化2——BC正規化和第四正規化資料庫
- 資料庫設計正規化1——三正規化資料庫
- 資料庫三正規化資料庫
- 資料庫 三大正規化資料庫
- 啥是資料庫正規化資料庫
- 資料庫三大正規化資料庫
- 資料庫設計---正規化資料庫
- 資料庫正規化那些事資料庫
- 細說資料庫正規化資料庫
- 資料庫(第一正規化,第二正規化,第三正規化)資料庫
- 資料庫標準化與正規化資料庫
- 資料庫——三正規化理解資料庫
- 資料庫正規化與例項資料庫
- 資料庫正規化那些事[轉]資料庫
- [轉]資料庫三大正規化資料庫
- 資料庫原理之第一正規化、第二正規化、第三正規化資料庫
- 資料庫中的正規化和反正規化詳解!資料庫
- 資料庫設計三正規化資料庫
- 資料庫 設計三大正規化資料庫
- 資料庫設計三大正規化資料庫
- 資料庫三大正規化詳解資料庫
- 白話資料庫三正規化資料庫
- 關係型資料庫:使用正規化建立資料庫(轉)資料庫
- 前端資料正規化化前端
- 【MySql】mysql 資料庫資料訂正MySql資料庫
- MySQL系列資料庫設計三正規化教程示例隍啃MySql資料庫
- 資料庫學習(一)三正規化資料庫
- 資料庫表設計三正規化資料庫
- 資料庫表設計正規化 筆記資料庫筆記
- 函式依賴與資料庫正規化函式資料庫
- 資料庫設計_正規化理解及其它資料庫
- 資料庫的正規化學習筆記資料庫筆記
- mysql 正規化和反正規化MySql
- 資料庫規範化三個正規化應用例項(轉)資料庫
- 通俗易懂的資料庫三正規化資料庫
- 關係型資料庫:實現正規化(轉)資料庫
- 資料庫設計正規化深入淺出(轉)資料庫
- Java學習筆記:資料庫中的正規化和反正規化Java筆記資料庫