資料庫三大正規化 Mysql
資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的、結構明晰的,同時,不會發生插入(insert)、刪除(delete)和更新(update)操作異常。
1.第一正規化(1NF):列不可再分
1.每一列屬性都是不可再分的屬性值,確保每一列的原子性
2.兩列的屬性相近或相似或一樣,儘量合併屬性一樣的列,確保不產生冗餘資料
2.第二正規化(2NF)屬性完全依賴於主鍵
第二正規化(2NF)是在第一正規化(1NF)的基礎上建立起來的,即滿足第二正規化(2NF)必須先滿足第一正規化(1NF)。第二正規化(2NF)要求資料庫表中的每個例項或行必須可以被惟一地區分。為實現區分通常需要為表加上一個列,以儲存各個例項的惟一標識。這個惟一屬性列被稱為主鍵
3.第三正規化(3NF)屬性不依賴於其它非主屬性 屬性直接依賴於主鍵
資料不能存在傳遞關係,即每個屬性都跟主鍵有直接關係而不是間接關係。像:a–>b–>c 屬性之間含有這樣的關係,是不符合第三正規化的。
比如Student表(學號,姓名,年齡,性別,所在院校,院校地址,院校電話)
這樣一個表結構,就存在上述關係。 學號–> 所在院校 --> (院校地址,院校電話)
這樣的表結構,我們應該拆開來,如下。
(學號,姓名,年齡,性別,所在院校)–(所在院校,院校地址,院校電話)
總結:三大正規化只是一般設計資料庫的基本理念,可以建立冗餘較小、結構合理的資料庫。如果有特殊情況,當然要特殊對待,資料庫設計最重要的是看需求跟效能,需求>效能>表結構。所以不能一味的去追求正規化建立資料庫。
相關文章
- 啥是資料庫正規化資料庫
- 資料庫三正規化資料庫
- 資料庫 三大正規化資料庫
- 資料庫三大正規化資料庫
- 資料庫正規化與例項資料庫
- 資料庫——三正規化理解資料庫
- 資料庫設計三正規化資料庫
- 資料庫中的正規化和反正規化詳解!資料庫
- MySQL系列資料庫設計三正規化教程示例隍啃MySql資料庫
- 八、資料庫的歸約,三大正規化(規範資料庫設計)資料庫
- 前端資料正規化化前端
- 資料庫學習(一)三正規化資料庫
- 資料庫表設計三正規化資料庫
- 正規化(Normal Form)是資料庫設計中的概念。新的正規化(paradigm)ORM資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- Java學習筆記:資料庫中的正規化和反正規化Java筆記資料庫
- mysql資料庫規範MySql資料庫
- 資料庫系統------函式依賴與正規化資料庫函式
- 你還記得資料庫三正規化嗎?資料庫
- 關係型資料庫設計三大正規化資料庫
- MySQL 三大正規化MySql
- javaWeb-day03-約束、資料庫設計、正規化、資料庫備份JavaWeb資料庫
- 資料庫設計之三正規化的的理解資料庫
- MySQL資料庫優化MySql資料庫優化
- 資料庫設計三大正規化應用例項剖析資料庫
- 關聯式資料庫的正規化(Normal Form)知識點資料庫ORM
- 資料庫建表設計六正規化介紹枘雍資料庫
- 【資料庫】關係模式的正規化的簡明判斷資料庫模式
- MySQL資料庫設計規範MySql資料庫
- MySQL 社群規範 | 資料庫篇MySql資料庫
- 1.2.4 資料庫規範化資料庫
- MySQL 規範 (資料庫表設計規範)MySql資料庫
- 資料庫-三正規化優化與不推薦使用外來鍵資料庫優化
- 關聯式資料庫正規化詳解(Normal form,簡稱NF)資料庫ORM
- 【一文秒懂】帶你徹底搞懂正規化與反正規化資料庫設計資料庫
- 【MySQL】資料庫最佳化MySql資料庫
- mysql資料庫最佳化MySql資料庫
- MYSQL資料庫------SQL優化MySql資料庫優化