mysql数据库业务逻辑_Mysql业务设计(逻辑设计)
邏輯設計
數據庫設計三大范式
數據庫設計第一大范式
數據庫表中所有的字段都只具有單一屬性
單一屬性的列是由基本數據類型所構成
設計出來的表都是簡單的二維表
數據庫設計的第二大范式
要求表中只有一個業務主鍵,也就是說符合第二范式的表不能存在非主鍵列,只對部分主鍵的依賴關系
數據庫設計的第三大范式
指每一個非非主屬性既不部分依賴于也不傳遞依賴于業務主鍵,也就是在第二范式的基礎上相處了非主鍵對主鍵的傳遞依賴
反范式化設計
為啥要有這個東西呢,就是因為如果過分的依賴于三大范式,設計出來的表雖然很符合規范,但是SQL的查詢性能將會很差,所以才有了反范式設計
什么叫反范式化設計:
反范式化是針對范式化而言的,在前面介紹的三大范式
所謂的反范式化就是為了性能和讀取效率的考慮而適當的對數據庫設計范式的要求進行違反
允許存在少量冗余,換句話來說反范式化就是用空間換時間
邏輯設計總結
不能完全按照范式的要求進行設計
考慮以后如何使用表
范式化設計優缺點
優點:
可以盡量的減少數據冗余
范式化的更新操作比反范式化更快
范式化的表通常比反范式化的表要小
缺點:
對于查詢需要多個表進行關聯
更難進行索引優化
反范式化設計的優缺點:
優點:
可以減少表的關聯
可以更好的進行索引優化
缺點:
存在數據冗余及數據維護異常
對數據修改需要更多的成本
作者:彼岸舞
時間:2020\07\08
內容關于:Mysql
本文來源于網絡,只做技術分享,一概不負任何責任
總結
以上是生活随笔為你收集整理的mysql数据库业务逻辑_Mysql业务设计(逻辑设计)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机算法在生物信息学中的应用,计算机算
- 下一篇: CSS中属性个属性值怎么区分,[CSS]