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