第二正規化(2NF)
要以第二種形式規範化資料庫,主鍵上的任何列都不得有任何部分依賴關係。
讓我們考慮以下示例:
ID |
名稱 | DOB | 學科 |
---|---|---|---|
1 |
標記 | 1981 年 1 月 1 日 | 物理 |
2 |
插口 | 1982 年 2 月 2 日 | 數學 |
2 |
插口 | 1982 年 2 月 2 日 | 生物學 |
3 |
約翰 | 1983 年 3 月 3 日 | 數學 |
此表被視為具有複合主鍵( id 和 subject ),但* name 和 dob 列僅取決於 id ,而不取決於主題,因此它們對主鍵具有部分依賴性。結果,我們可以看到表中資訊的冗餘。要以第二種形式規範化資料庫,我們必須將此表拆分為兩個表,如下所示:
學生表
ID |
名稱 | DOB |
---|---|---|
1 |
標記 | 1981 年 1 月 1 日 |
2 |
插口 | 1982 年 2 月 2 日 |
3 |
約翰 | 1983 年 3 月 3 日 |
主題表
學生卡 | 學科 |
---|---|
1 |
物理 |
2 |
數學 |
2 |
生物學 |
3 |
數學 |
該 student_id 資料的列物件表是一個外來鍵引用主鍵 ID 的的學生表。