MySQL之規範資料庫設計
九、規範資料庫設計
1.為什麼需要設計?
1)糟糕的資料庫設計:
①資料冗餘,浪費空間。
②資料庫插入和刪除都會很麻煩、出現異常(遮蔽使用物理外來鍵)。
③程式的效能差。
2)良好的資料庫設計:
①節省記憶體空間。
②保證資料庫的完整性。
③方便開發系統。
3)軟體開發中,關於資料庫的設計:
①分析需求:分析業務和需要處理的資料庫需求。
②設計概要:設計關係圖E-R圖。
4)設計資料庫的步驟: 以個人部落格為例
①收集資訊,分析需求。
Ⅰ使用者表(使用者登入登出、使用者的個人資訊、寫部落格、建立分類)
Ⅱ分類表(文章分類、誰建立的)
Ⅲ文章表(文章的資訊)
Ⅳ友連結串列(友鏈資訊)
Ⅴ自定義表(系統資訊、某個關鍵字或一些主欄位)
②標識實體(把需求落實到每個欄位)。
③標識實體之間的關係。
Ⅰ寫部落格:user——>blog
Ⅱ建立分類:user——>category
Ⅲ關注:user——>user
Ⅳ友鏈:links
Ⅴ評論:user——>user——>blog
2.三大正規化
為什麼需要資料規範?
不規範可能造成的問題:資訊重複、更新異常、插入異常(無法正常顯示資訊)、刪除異常(丟失有效資訊)
1)第一正規化(1NF)
原子性:保證每一列不可再分。
2)第二正規化(2NF)
前提:滿足第一正規化。
每張表只描述一件事情。
3)第三正規化(3NF)
前提:滿足第一正規化和第二正規化。
需要確保資料表中的每一列資料都和主鍵直接相關,而不能間接相關。
(規範資料庫的設計)
參考部落格園連結:https://www.cnblogs.com/wsg25/p/9615100.html
4)規範性和效能的問題
阿里規定:關聯查詢的表不得超過三張表。
①考慮商業化的需求和目標(成本、使用者體驗),資料庫的效能更加重要。
②在考慮效能的問題的時候,需要適當的考慮一下規範性。
③故意給某些表增加一些冗餘的欄位(從多表查詢變為單表查詢)。
④故意增加一些計算列(從大資料量降低為小資料量的查詢:索引)。
相關文章
- MySQL 規範 (資料庫表設計規範)MySql資料庫
- MySQL資料庫設計規範MySql資料庫
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- MySQL 資料庫規範--設計篇MySql資料庫
- MySQL資料庫設計與開發規範MySql資料庫
- MySQL資料庫基本設計規範總結MySql資料庫
- MySQL-11.資料庫的設計規範MySql資料庫
- 資料庫設計規範資料庫
- mysql之 資料庫開發規範MySql資料庫
- MYSQL資料庫欄位命名及設計規範MySql資料庫
- mysql資料庫規範MySql資料庫
- MySQL資料庫設計規範和優化建議MySql資料庫優化
- 《MySQL 進階篇》十六:資料庫的設計規範MySql資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- MongoDB資料庫的設計規範MongoDB資料庫
- SQL Server 資料庫設計規範SQLServer資料庫
- MySQL資料庫六大設計規範總結1MySql資料庫
- 資料庫規範之SQL規範寫法資料庫SQL
- 大話資料庫程式設計規範資料庫程式設計
- MySQL 社群規範 | 資料庫篇MySql資料庫
- 【MySQL】資料庫開發規範MySql資料庫
- 八、資料庫的歸約,三大正規化(規範資料庫設計)資料庫
- 資料庫設計規範化的 5 個要求資料庫
- MySql 資料庫 Schema 設計的效能最佳化:規範的物件命名MySql資料庫物件
- 【乾貨】MySQL資料庫開發規範MySql資料庫
- MySQL資料庫生產環境安全規範MySql資料庫
- 常見的資料設計規範
- 資料庫命令規範資料庫
- MySQL預設資料庫之mysql庫MySql資料庫
- MySQL 設計與開發規範MySql
- 必看的資料庫規範資料庫
- 1.2.4 資料庫規範化資料庫
- 資料庫設計中的反規範技術探討(轉)資料庫
- 程式設計師面試之MySQL資料庫表的設計程式設計師面試MySql資料庫
- MySQL 高效能表設計規範MySql
- MySQL預設資料庫之sys庫MySql資料庫
- 資料倉儲(7)數倉規範設計
- 解析大型.NET ERP系統:20條資料庫設計規範資料庫