簡述資料庫三大正規化
阿新 • • 發佈:2018-11-10
第一正規化(1NF):原子性 欄位不可再分,否則就不是關係資料庫;
第二正規化(2NF):唯一性 一個表只說明一個事物;
第三正規化(3NF):每列都與主鍵有直接關係,不存在傳遞依賴;
PS:第二正規化要遵循第一正規化,第三正規化要遵循第二正規化。
簡單來說:
1NF:列表欄位不可分;
2NF:有主鍵且非主鍵依賴主鍵;
3NF:非主鍵欄位不能相互依賴;
不符合第一正規化的例子(關係資料庫中create不出這樣的表):
表:姓名,性別,電話
問題:若某個人有兩個電話,家庭電話和手機,這樣則不符合第一正規化。
解決:把電話列分成兩個列即可。
不符合第二正規化的例子:
表:學號, 姓名, 年齡, 課程名稱, 成績, 學分;
這個表明顯說明了兩個事務:學生資訊, 課程資訊,不符合第二正規化。
存在問題:資料冗餘,每條記錄都含有相同資訊。
解決:分成學生表和課程表分別儲存即可。
不符合第三正規化的例子:
學號, 姓名, 年齡, 所在學院, 學院聯絡電話,關鍵字為單一關鍵字"學號";
存在依賴傳遞: (學號) → (所在學院) → (學院地點, 學院電話)
存在問題:
資料冗餘:有重複值;
解決:分成學生表,學院表即可。
---------------------
作者:逛了12遍
來源:CSDN
原文:https://blog.csdn.net/qq_37979377/article/details/64928149
版權宣告:本文為博主原創文章,轉載請附上博文連結!