一.什么是范式?
1.范式是一種離散數(shù)學(xué)的知識(shí),是為了解決數(shù)據(jù)存儲(chǔ)和優(yōu)化的問(wèn)題,保存數(shù)據(jù)的存儲(chǔ)之后,凡是能通過(guò)關(guān)系尋找出來(lái)的數(shù)據(jù),堅(jiān)決不再重復(fù)存儲(chǔ):終極目標(biāo)是減少數(shù)據(jù)的冗余(以最少的數(shù)據(jù)完成最大的存儲(chǔ))
2.范式是一種分層結(jié)構(gòu)的規(guī)范
分為6層,1NF,2NF..6NF(6NF最高層,最嚴(yán)格)
每一層都比上一層更加嚴(yán)格,若要滿足下一層范式,前提是要滿足上一層范式.
范式只是為了解決空間問(wèn)題,而數(shù)據(jù)庫(kù)不單是要解決空間問(wèn)題,還要解決效率問(wèn)題,所以數(shù)據(jù)庫(kù)的設(shè)計(jì)不能完全按照范式要求實(shí)現(xiàn),一般情況下只有前三種范式要滿足
三.前三種范式 (1).第一范式(1NF)第一范式:第一范式要求數(shù)據(jù)具有原子性
如上表中的代課時(shí)間,當(dāng)需要取代課的開(kāi)始時(shí)間,需要將字段拆分,不滿足第一范式。解決方案是多帶帶兩個(gè)字段存儲(chǔ)開(kāi)始時(shí)間和結(jié)束時(shí)間
(2).第二范式(2NF)第二范式:表中不允許出現(xiàn)部分依賴
出現(xiàn)部分依賴的原因是因?yàn)槌霈F(xiàn)了復(fù)合主鍵,如下表中的講師和班級(jí)才能組合成一個(gè)主鍵,但性別只依賴于講師,教室只依賴于班級(jí),出現(xiàn)了部分依賴
解決方案是使用邏輯主鍵(增加一個(gè)id做主鍵)
第三范式:不允許出現(xiàn)傳遞依賴
下表中性別依賴講師,講師依賴主鍵。教室依賴班級(jí),班級(jí)依賴主鍵。所以,教室和性別都存在傳遞依賴
解決方案:將存在依賴的字段取出,形成一個(gè)多帶帶的表
注意:
永遠(yuǎn)不要將邏輯主鍵看作是真正的主鍵,比如講師表中,真正的主鍵是講師,如果把id當(dāng)成真正的主鍵,永遠(yuǎn)會(huì)有依賴傳遞
而上面存在依賴傳遞的表中,真正的主鍵是(講師+班級(jí)),所以才會(huì)存在性別依賴講師,講師依賴主鍵(id=講師+班級(jí))這種傳遞依賴
規(guī)范化程度較高的時(shí)候,我們可能需要做很多的關(guān)聯(lián)查詢,這樣勢(shì)必會(huì)導(dǎo)致效率的降低。所以有時(shí)設(shè)計(jì)表時(shí),直接存儲(chǔ)想要的信息,而不去存儲(chǔ)id進(jìn)行關(guān)聯(lián)查詢。這是一種磁盤(pán)利用率于效率的對(duì)抗
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17764.html
摘要:具體做法是在概念數(shù)據(jù)模型設(shè)計(jì)時(shí)遵守第三范式,降低范式標(biāo)準(zhǔn)的工作放到物理數(shù)據(jù)模型設(shè)計(jì)時(shí)考慮。金額這個(gè)字段的存在,表明該表的設(shè)計(jì)不滿足第三范式,因?yàn)榻痤~可以由單價(jià)乘以數(shù)量得到,說(shuō)明金額是冗余字段。 一、第一范式 1NF是對(duì)屬性的原子性,要求屬性具有原子性,不可再分解; 表:字段1、 字段2(字段2.1、字段2.2)、字段3 ...... 如學(xué)生(學(xué)號(hào),姓名,性別,出生年月日),如果認(rèn)為最后...
閱讀 3957·2021-11-16 11:50
閱讀 951·2021-11-11 16:55
閱讀 3677·2021-10-26 09:51
閱讀 878·2021-09-22 15:03
閱讀 3447·2019-08-30 15:54
閱讀 3273·2019-08-30 15:54
閱讀 2487·2019-08-30 14:04
閱讀 930·2019-08-30 13:53