今天就跟大家聊聊有關(guān)MySQL中范式和反范式的優(yōu)缺點(diǎn),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、柘榮網(wǎng)站維護(hù)、網(wǎng)站推廣。
一、三大范式
第一范式
1NF是對(duì)屬性的原子性,要求屬性具有原子性,不可再分解;
第一范式是最基本的范式。如果數(shù)據(jù)庫表中的所有字段值都是不可分解的原子值,就說明該數(shù)據(jù)庫表滿足了第一范式。數(shù)據(jù)庫表的每一列都是不可分割的原子數(shù)據(jù)項(xiàng),而不能是集合,數(shù)組,記錄等非原子數(shù)據(jù)項(xiàng)。簡(jiǎn)而言之,第一范式就是無重復(fù)的域。
第二范式
2NF是對(duì)記錄的惟一性,要求記錄有惟一標(biāo)識(shí),即實(shí)體的惟一性,即不存在部分依賴;
滿足第二范式必須先滿足第一范式。第二范式需要確保數(shù)據(jù)庫表中的每一列都和主鍵相關(guān),而不能只與主鍵的某一部分相關(guān)(主要針對(duì)聯(lián)合主鍵而言)。也就是說在一個(gè)數(shù)據(jù)庫表中,一個(gè)表中只能保存一種數(shù)據(jù),不可以把多種數(shù)據(jù)保存在同一張數(shù)據(jù)庫表中。
第三范式
3NF是對(duì)字段的冗余性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗余,即不存在傳遞依賴;
首先是 2NF,另外非主鍵列必須直接依賴于主鍵,不能存在傳遞依賴。即不能存在:非主鍵列 A 依賴于非主鍵列 B,非主鍵列 B 依賴于主鍵的情況。簡(jiǎn)而言之,第三范式(3NF)要求一個(gè)關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息。例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)(dept_id)、部門名稱、部門簡(jiǎn)介等信息。那么在員工信息表中列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等與部門有關(guān)的信息再加入員工信息表中。
范式的利弊:
優(yōu)點(diǎn):范式可以避免數(shù)據(jù)冗余,減少數(shù)據(jù)庫的空間,減輕維護(hù)數(shù)據(jù)完整性的麻煩。
缺點(diǎn):按照范式的規(guī)范設(shè)計(jì)出來的表,等級(jí)越高的范式設(shè)計(jì)出來的表越多。如第一范式可能設(shè)計(jì)出來的表可能只有一張表而已,再按照第二范式去設(shè)計(jì)這張表時(shí)就可能出來兩張或更多張表,如果再按第三范式或更高的范式去設(shè)計(jì)這張表會(huì)出現(xiàn)更多比第二范式多 的表。表的數(shù)量越多,當(dāng)我們?nèi)ゲ樵円恍?shù)據(jù),必然要去多表中去查詢數(shù)據(jù),這樣查詢的時(shí)間要比在一張表中查詢中所用的時(shí)間要高很多。也就是說我們所用的范式越高,對(duì)數(shù)據(jù)操作的性能越低。所以我們?cè)诶梅妒皆O(shè)計(jì)表的時(shí)候,要根據(jù)具體的需求再去權(quán)衡是否使用更高范式去設(shè)計(jì)表。
二、反范式
故名思義,跟范式所要求的正好相反,在反范式的設(shè)計(jì)模式,我們可以允許適當(dāng)?shù)臄?shù)據(jù)的冗余,用這個(gè)冗余去取操作數(shù)據(jù)時(shí)間的縮短。也就是用空間來換取時(shí)間,把數(shù)據(jù)冗余在多個(gè)表中,當(dāng)查詢時(shí)可以減少或者是避免表之間的關(guān)聯(lián)。
反范式的利弊:
優(yōu)點(diǎn):查詢時(shí)可以減少表的關(guān)聯(lián);可以更好的進(jìn)行索引優(yōu)化;
缺點(diǎn):存在數(shù)據(jù)冗余以及數(shù)據(jù)維護(hù)異常;對(duì)數(shù)據(jù)的修改需要更多的成本;
看完上述內(nèi)容,你們對(duì)Mysql中范式和反范式的優(yōu)缺點(diǎn)有進(jìn)一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。
標(biāo)題名稱:Mysql中范式和反范式的優(yōu)缺點(diǎn)
本文鏈接:http://chinadenli.net/article20/ihooco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)