當前位置:
首頁 >
MySQL---规范数据库设计
發布時間:2024/3/13
33
豆豆
生活随笔
收集整理的這篇文章主要介紹了
MySQL---规范数据库设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.為什么需要設計
當數據庫比較復雜的時候,我們就需要設計了
糟糕的數據庫設計:
- 數據冗余,浪費空間
- 數據庫插入和刪除都會麻煩、異常 【屏蔽使用物理外鍵】
- 程序的性能差
良好的數據庫設計: - 節省內存空間
- 保證數據庫的完整性
- 方便我們開發系統
軟件開發中,關于數據庫的設計 - 分析需求:分析業務和需要處理的數據庫的需求
- 概要設計:設計關系圖 E-R 圖
設計數據庫的步驟:(個人博客)
- 收集信息,分析需求
- 用戶表(用戶登錄注銷,用戶的個人信息,寫博客,創建分類)
- 分類表 (文章分類,誰創建的)
- 文章表 (文章的信息) 評論表
- 友鏈表 (友鏈信息)
- 自定義表 (系統信息,某個關鍵的字,或者一些主字段) key : value
- 說說表 (發表心情 … id… content….create_time)
- 標識實體 (把需求落地到每個字段)
- 標識實體 之間的關系
- 寫博客:user --> blog
- 創建分類:user –> category
- 關注:user –>user
- 友鏈:links
- 評論:user-user-blog
2.三大范式
為什么需要數據規范化?
- 信息重復
- 更新異常
- 插入異常
- 無法正常顯示信息
- 刪除異常
- 丟失有效的信息
第一范式(1NF)
原子性 : 保證每一列不可再分
第二范式(2NF)
前提:滿足第一范式每張表只描述一件事情
第三范式(3NF)
前提:滿足第一范式 和 第二范式
第三范式需要確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關。
(規范數據庫的設計)
規范性 和 性能的問題
關聯查詢的表不得超過三張表
- 考慮商業化的需求和目標,(成本,用戶體驗!) 數據庫的性能更加重要
- 在規范性能的問題的時候,需要適當的考慮一下 規范性!
- 故意給某些表增加一些冗余的字段。(從多表查詢中變為單表查詢)
- 故意增加一些計算列 (從大數據量降低為小數據量的查詢:索引)
總結
以上是生活随笔為你收集整理的MySQL---规范数据库设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线段与线段交点的求解
- 下一篇: linux美学设计,扁平化设计美学探讨