1NF:數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng)。
創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),小程序開發(fā),10余年建站對(duì)PE包裝袋等多個(gè)行業(yè),擁有豐富的網(wǎng)站制作經(jīng)驗(yàn)。
分析:沒有多個(gè)表示同一屬性的列;某一列的值不能為集合。幾不能將一對(duì)多關(guān)系表示為一個(gè)表的多個(gè)屬性或者一個(gè)屬性的多個(gè)值。
解決:創(chuàng)建新表,將“1”作為新表的外鍵。
舉例:
person | ||||
id | name | hobby1 | hobby1 | bobby3 |
1 | mark | playing football | running | swimming |
或
person | ||
id | name | hobbies |
1 | mark | playing football,running,awimming |
2NF:符合1NF;存在主鍵,并且不存在部分函數(shù)依賴(不存在依賴主鍵的一部分的列)
分析:存在組合鍵的情況下,某些列只依賴于組合主鍵的其中一部分,則不合符2NF。
解決:將涉及部分函數(shù)依賴的列移出舊表,保存在新表?;蚴褂萌斯ぶ麈I代替組合鍵。
舉例:
employee | ||
department | name | managerOfDepartment |
開發(fā)部門 | mark | Jenny |
3NF:符合2NF;并且不存在傳遞依賴。
分析:同一個(gè)表中A列依賴B列,B列依賴C列。
解決:將涉及傳遞函數(shù)依賴的列移出舊表,保存在新表。
舉例:
customer | |||
name | phone | address | zipCode |
mark | 1273283 | 廣州××× | 510000 |