最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL學(xué)習(xí)之三大范式詳解小白篇

 更新時間:2021年09月16日 15:02:38   作者:祈禱ovo  
本篇文章為大家介紹了MYSQL數(shù)據(jù)庫學(xué)習(xí)中三大范式的規(guī)則詳解,有需要的朋友可以借鑒參考下,希望可以對大家的數(shù)據(jù)庫學(xué)習(xí)有所幫助

1.范式基礎(chǔ)

1.1范式的概念

設(shè)計數(shù)據(jù)庫的時候需要遵從的一些規(guī)范,目前關(guān)系數(shù)據(jù)庫有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又稱完美范式)。

當(dāng)然正常情況下我們滿足前三個范式就可以設(shè)計一個比較規(guī)范的數(shù)據(jù)庫

要遵循后邊的范式,就必須先遵循前面的范式要求,比如第二范式就必須先遵循第一范式的,第三范式必須先遵循第二范式,以此類推

2.三大范式

2.1三大范式概念

第一范式(1NF):每個列都不可以再拆分。
第二范式(2NF):在第一范式的基礎(chǔ)上,非主鍵列完全依賴于主鍵,而不能是依賴于主鍵的一部分。
第三范式(3NF):在第二范式的基礎(chǔ)上,非主鍵列只依賴于主鍵,不依賴于其他非主鍵。

2.2三大范式舉例

比如我們有一個表,以后的例子會對這個表進行三大范式的改造,然后把他變成規(guī)范的表:

在這里插入圖片描述

1.進行第一范式的改造

第一范式(1NF):每個列都不可以再拆分

我們可以看到表中有一列可以再分,那就是系,所以把他進行第一范式的改造就變成了:

在這里插入圖片描述

2.進行第二范式的改造

第二范式(2NF):在第一范式的基礎(chǔ)上,非主鍵列完全依賴于主鍵,而不能是依賴于主鍵的一部分。

這第二范式不好理解,那么我們先了解幾個概念:

1.函數(shù)依賴:如果通過A屬性(屬性組),可以確定唯一B屬性的值,那么B依賴于A。比如上圖的姓名,完全依賴于學(xué)號
2.完全函數(shù)依賴:如果A是一個屬性組,則B屬性值的確定需要依賴于A屬性組中的所有的屬性值。屬性組是指多個字段,那么比如我們要想知道一個分?jǐn)?shù),就必須依賴于學(xué)號和課程名稱兩個屬性才能確定一個分?jǐn)?shù),其他的屬性是不能確定某一個分?jǐn)?shù)的
3.部分函數(shù)依賴:如果A是一個屬性組,則B屬性值的確定需要依賴A屬性組的某一些字段即可,例如學(xué)號和課程名稱為一個屬性組,那么學(xué)生姓名其實就只需要學(xué)號就可以確定
4.傳遞函數(shù)依賴:如果A屬性(屬性組),可以確定唯一個B屬性的值,再通過B屬性的值又可以唯一確定C屬性的值,例如一個學(xué)號確定一個系名,一個系名對應(yīng)一個系主任
5.主鍵:在一張表中,一個屬性或者屬性組,被其他所有屬性完全依賴,則稱這個屬性為該碼的表,比如上圖的學(xué)號和課程名稱組成的屬性組

其實第二范式就是還可以理解為

在第一范式的基礎(chǔ)上消除非主鍵對主鍵的部分依賴

那么我們上圖的主鍵為學(xué)號加課程名稱組成的屬性組,對于上圖,我們可以看到,除了分?jǐn)?shù)其他的都對主鍵是部分依賴,那么我們可以按照下圖的方式進行改正:

在這里插入圖片描述

在這里插入圖片描述

經(jīng)過第二范式的改造把一個表分成兩個表,那么我們發(fā)現(xiàn)其實第二范式為我們消除了很多冗余的部分,比如改造前張無忌的姓名系名系主任在表中出現(xiàn)了三次,而改造后在兩表才出現(xiàn)一次

3.進行第三范式的改造

第三范式(3NF):在第二范式的基礎(chǔ)上,非主鍵列只依賴于主鍵,不依賴于其他非主鍵。

根據(jù)第二點我們說的概念,修改后變成:

在這里插入圖片描述

以上就是MySQL學(xué)習(xí)之三大范式詳解小白篇的詳細(xì)內(nèi)容,更多關(guān)于MySQL三大范式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

孝感市| 侯马市| 定襄县| 庆安县| 墨竹工卡县| 桃江县| 达拉特旗| 绩溪县| 古浪县| 搜索| 重庆市| 新化县| 光泽县| 乌鲁木齐县| 武夷山市| 玉溪市| 德阳市| 阿克苏市| 宁津县| 高平市| 藁城市| 图木舒克市| 芦溪县| 七台河市| 将乐县| 法库县| 柳林县| 吐鲁番市| 德昌县| 湖口县| 子洲县| 镇巴县| 修武县| 凤凰县| 贡山| 贵州省| 公主岭市| 呼伦贝尔市| 和林格尔县| 米林县| 长宁区|