數據庫的結構設計

目的:
·減少數據的冗餘
·儘量避免數據維護中出現更新,插入和刪除異常
插入異常:如果表中的某個實體隨着另一個實體而存在
更新異常:如果更改表中的某個實體的單獨屬性時,需要對多行進行更新
刪除異常:如果刪除表中的某一實體則會導致其他實體的消失

·節約數據存儲空間
·提高查詢的效率
結構設計的步驟:
·需求分析:全面瞭解產品設計的存儲需求
存儲需求
數據處理需求
數據的安全和完整性
·邏輯設計:
設計數據的邏輯存儲結構
數據實體之間的邏輯關係,解決數據的冗餘和數據維護異常
關係型數據庫和關係型數據庫和存儲引擎
數據庫設計範式:
·三範式
第一範式:
數據庫表中的所有字段都只具有單一屬性
單一屬性的列是由基本的數據類型所構成的
設計出來的表都是簡單的二維表
第二範式:
要求一個表中只具有一個業務主鍵,也就是說符合第二範式的表中不能存在非主鍵列對只對部分主鍵的依賴關係
第三範式:
指每一個非主屬性既不部分依賴於也不傳遞依賴於業務主鍵,也就是在第二範式的基礎上消除了非主屬性對主鍵的傳遞依賴

範式化的優缺點
·優點:
可以減少數據冗餘 數據表更新快體積小
範式化的更新操作比反範式化更快
範式化的表通常比反範式化更小

·缺點:
對於查詢需要對多個表進行關聯
更難進行索引優化

反範式化的優缺點:
·優點:
可以減少表的關聯
可以進行更好的索引優化
·確定:
存在書記冗餘及數據維護異常
對數據修改需要更多的成本

因此在設計數據庫是安全的範式化和反範式化都是不可取的,應該結合兩者的優點同時考慮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章