国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數(shù)據(jù)庫邏輯設(shè)計之三大范式通俗理解,一看就懂,書上說的太晦澀

lovXin / 2725人閱讀

摘要:具體做法是在概念數(shù)據(jù)模型設(shè)計時遵守第三范式,降低范式標準的工作放到物理數(shù)據(jù)模型設(shè)計時考慮。金額這個字段的存在,表明該表的設(shè)計不滿足第三范式,因為金額可以由單價乘以數(shù)量得到,說明金額是冗余字段。

一、第一范式

1NF是對屬性的原子性,要求屬性具有原子性,不可再分解;

表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......

如學(xué)生(學(xué)號,姓名,性別,出生年月日),如果認為最后一列還可以再分成(出生年,出生月,出生日),它就不是一范式了,否則就是;

二、第二范式

2NF是對記錄的惟一性,要求記錄有惟一標識,即實體的惟一性,即不存在部分依賴;

表:學(xué)號、課程號、姓名、學(xué)分;

這個表明顯說明了兩個事務(wù):學(xué)生信息, 課程信息;由于非主鍵字段必須依賴主鍵,這里學(xué)分依賴課程號姓名依賴與學(xué)號,所以不符合二范式。

可能會存在問題:

數(shù)據(jù)冗余:,每條記錄都含有相同信息;

刪除異常:刪除所有學(xué)生成績,就把課程信息全刪除了;

插入異常:學(xué)生未選課,無法記錄進數(shù)據(jù)庫;

更新異常:調(diào)整課程學(xué)分,所有行都調(diào)整。

正確做法:
學(xué)生:Student(學(xué)號, 姓名);
課程:Course(課程號, 學(xué)分);
選課關(guān)系:StudentCourse(學(xué)號, 課程號, 成績)。

三、第三范式

3NF是對字段的冗余性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗余,即不存在傳遞依賴;

表: 學(xué)號, 姓名, 年齡, 學(xué)院名稱, 學(xué)院電話

因為存在依賴傳遞: (學(xué)號) → (學(xué)生)→(所在學(xué)院) → (學(xué)院電話) 。

可能會存在問題:

數(shù)據(jù)冗余:有重復(fù)值;

更新異常:有重復(fù)的冗余信息,修改時需要同時修改多條記錄,否則會出現(xiàn)數(shù)據(jù)不一致的情況

正確做法:

學(xué)生:(學(xué)號, 姓名, 年齡, 所在學(xué)院);

學(xué)院:(學(xué)院, 電話)。

四、反范式化

一般說來,數(shù)據(jù)庫只需滿足第三范式(3NF)就行了。

沒有冗余的數(shù)據(jù)庫設(shè)計可以做到。但是,沒有冗余的數(shù)據(jù)庫未必是最好的數(shù)據(jù)庫,有時為了提高運行效率,就必須降低范式標準,適當(dāng)保留冗余數(shù)據(jù)。具體做法是:在概念數(shù)據(jù)模型設(shè)計時遵守第三范式,降低范式標準的工作放到物理數(shù)據(jù)模型設(shè)計時考慮。降低范式就是增加字段,允許冗余,達到以空間換時間的目的

〖例〗:有一張存放商品的基本表,如表1所示。“金額”這個字段的存在,表明該表的設(shè)計不滿足第三范式,因為“金額”可以由“單價”乘以“數(shù)量”得到,說明“金額”是冗余字段。但是,增加“金額”這個冗余字段,可以提高查詢統(tǒng)計的速度,這就是以空間換時間的作法。

Rose 2002中,規(guī)定列有兩種類型:數(shù)據(jù)列計算列。“金額”這樣的列被稱為“計算列”,而“單價”和“數(shù)量”這樣的列被稱為“數(shù)據(jù)列”。

五、范式化設(shè)計和反范式化設(shè)計的優(yōu)缺點 5.1 范式化

優(yōu)點:

缺點:

5.2 反范式化

優(yōu)點:

缺點:

參考資料如下:

1、通俗地理解數(shù)據(jù)庫三個范式
2、數(shù)據(jù)庫模型設(shè)計,第一范式、第二范式、第三范式簡單例子理解
3、數(shù)據(jù)庫三大范式最簡單的解釋

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17702.html

相關(guān)文章

  • 開始開發(fā)atom插件(并無系列)

    摘要:注意本文目的不在開發(fā)一個什么什么插件,只告訴你如何進行開發(fā)注下文并無太多代碼,代碼建議到你新建一個模版插件然后你就擁有了所有的代碼,然后根據(jù)下文加深自己的理解,相信你會看懂它。開始開發(fā)入口文件有個方法釋放資源的方法不要做其他事情。 atom高級用法???除了自定義功能基本沒啥好玩,抱著裝逼的想法,搜了一波atom插件入門,發(fā)現(xiàn)說得太迷糊(可能是我太菜),然后打開了官網(wǎng)的插件文檔,細細的...

    solocoder 評論0 收藏0
  • 您的【用戶體驗優(yōu)化方案】到了,請簽收~

    摘要:暴露年齡了廣告詞飯后嚼兩粒大概,故事性很強,比較有意思同時直入主題,飯后吃益達口香糖有益健康。書里破繭成蝶說道,揣摩用戶的心思遠遠不夠,你不可能完整的想到別人在想什么,所以還需要去體驗用戶的生活。 用戶體驗(User Experience,簡稱UX 或是UE),它指用戶在使用一個產(chǎn)品、系統(tǒng)或者服務(wù)時建立起來的純主觀感受。 showImg(https://segmentfault.com...

    cheng10 評論0 收藏0
  • 您的【用戶體驗優(yōu)化方案】到了,請簽收~

    摘要:暴露年齡了廣告詞飯后嚼兩粒大概,故事性很強,比較有意思同時直入主題,飯后吃益達口香糖有益健康。書里破繭成蝶說道,揣摩用戶的心思遠遠不夠,你不可能完整的想到別人在想什么,所以還需要去體驗用戶的生活。 用戶體驗(User Experience,簡稱UX 或是UE),它指用戶在使用一個產(chǎn)品、系統(tǒng)或者服務(wù)時建立起來的純主觀感受。 showImg(https://segmentfault.com...

    eternalshallow 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<