數(shù)據(jù)庫(kù)設(shè)計(jì)三范式和反范式

數(shù)據(jù)庫(kù)范式

范式的級(jí)別
設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)時(shí)酿雪,遵從不同的規(guī)范要求,設(shè)計(jì)出合理的關(guān)系型數(shù)據(jù)庫(kù)贡耽,這些不同的規(guī)范要求被稱為不同的范式衷模,各種范式呈遞次規(guī)范,越高的范式數(shù)據(jù)庫(kù)冗余越小蒲赂。
目前關(guān)系數(shù)據(jù)庫(kù)有六種范式:第一范式(1NF)阱冶、第二范式(2NF)、第三范式(3NF)滥嘴、巴斯-科德范式(BCNF)木蹬、第四范式(4NF)和第五范式(5NF,又稱完美范式)若皱。
范式越高镊叁,冗余最低,一般到三范式走触,再往上晦譬,表越多,可能導(dǎo)致查詢效率下降互广。所以有時(shí)為了提高運(yùn)行效率敛腌,可以讓數(shù)據(jù)冗余(反三范式,一般某個(gè)數(shù)據(jù)經(jīng)常被訪問時(shí)惫皱,比如數(shù)據(jù)表里存放了語(yǔ)文數(shù)學(xué)英語(yǔ)成績(jī)像樊,但是如果在某個(gè)時(shí)間經(jīng)常要得到它的總分,每次都要進(jìn)行計(jì)算會(huì)降低性能旅敷,可以加上總分這個(gè)冗余字段)生棍。
后面的范式是在滿足前面范式的基礎(chǔ)上,比如滿足第二范式的一定滿足第一范式扫皱。
第一范式(1NF):確保每一列的原子性
如果每一列都是不可再分的最小數(shù)據(jù)單元足绅,則滿足第一范式捷绑。

第一范式

但是具體地址到底要不要拆分 還要看具體情形,比如看看將來(lái)會(huì)不會(huì)按國(guó)家或者省市進(jìn)行分類匯總或者排序氢妈,如果需要粹污,最好就拆,如果不需要而僅僅起字符串的作用首量,可以不拆壮吩,操作起來(lái)更方便。

第二范式:非鍵字段必須依賴于鍵字段
如果一個(gè)關(guān)系滿足1NF加缘,并且除了主鍵以外的其它列鸭叙,都依賴與該主鍵,則滿足二范式(2NF)拣宏,第二范式要求每個(gè)表只描述一件事沈贝。例如:

第二范式

第三范式:在1NF基礎(chǔ)上,除了主鍵以外的其它列都不傳遞依賴于主鍵列勋乾,或者說: 任何非主屬性不依賴于其它非主屬性(在2NF基礎(chǔ)上消除傳遞依賴)

例如:
第三范式

上面的表宋下,學(xué)號(hào)和姓名存在傳遞依賴,因?yàn)?學(xué)號(hào)辑莫,姓名)->成績(jī)学歧,學(xué)號(hào)->成績(jī),姓名->成績(jī)各吨。所以學(xué)號(hào)和姓名有一個(gè)冗余了枝笨,只需要保留一個(gè)。

范式的優(yōu)點(diǎn):

    1)范式化的數(shù)據(jù)庫(kù)更新起來(lái)更加快揭蜒;

    2)范式化之后横浑,只有很少的重復(fù)數(shù)據(jù),只需要修改更少的數(shù)據(jù)忌锯;

    3)范式化的表更小伪嫁,可以在內(nèi)存中執(zhí)行;

    4)很少的冗余數(shù)據(jù)偶垮,在查詢的時(shí)候需要更少的distinct或者group by語(yǔ)句张咳。

范式的缺點(diǎn):

    范式化的表,在查詢的時(shí)候經(jīng)常需要很多join關(guān)聯(lián),增加讓查詢的代價(jià)

反范式的優(yōu)點(diǎn):

    1)可以避免關(guān)聯(lián)似舵,因?yàn)樗械臄?shù)據(jù)幾乎都可以在一張表上顯示脚猾;

    2)可以設(shè)計(jì)有效的索引;

反范式的缺點(diǎn):

表格內(nèi)的冗余較多砚哗,刪除數(shù)據(jù)時(shí)候會(huì)造成表有些有用的信息丟失龙助。

所以在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),要注意混用范式化和反范式化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末提鸟,一起剝皮案震驚了整個(gè)濱河市军援,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌称勋,老刑警劉巖胸哥,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赡鲜,居然都是意外死亡空厌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門银酬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嘲更,“玉大人,你說我怎么就攤上這事揩瞪「畴” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵壮韭,是天一觀的道長(zhǎng)北发。 經(jīng)常有香客問我,道長(zhǎng)喷屋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任瞭恰,我火速辦了婚禮屯曹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惊畏。我一直安慰自己恶耽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布颜启。 她就那樣靜靜地躺著偷俭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缰盏。 梳的紋絲不亂的頭發(fā)上涌萤,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音口猜,去河邊找鬼负溪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛济炎,可吹牛的內(nèi)容都是我干的川抡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼须尚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼崖堤!你這毒婦竟也來(lái)了侍咱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤密幔,失蹤者是張志新(化名)和其女友劉穎楔脯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體老玛,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淤年,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜡豹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麸粮。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖镜廉,靈堂內(nèi)的尸體忽然破棺而出弄诲,到底是詐尸還是另有隱情,我是刑警寧澤娇唯,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布齐遵,位于F島的核電站,受9級(jí)特大地震影響塔插,放射性物質(zhì)發(fā)生泄漏梗摇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一想许、第九天 我趴在偏房一處隱蔽的房頂上張望伶授。 院中可真熱鬧,春花似錦流纹、人聲如沸糜烹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)疮蹦。三九已至,卻和暖如春茸炒,著一層夾襖步出監(jiān)牢的瞬間愕乎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工扣典, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妆毕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓贮尖,卻偏偏與公主長(zhǎng)得像笛粘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容