簡述數據庫三大范式


第一范式(1NF):原子性 字段不可再分,否則就不是關系數據庫;

第二范式(2NF):唯一性 一個表只說明一個事物;

第三范式(3NF):每列都與主鍵有直接關系,不存在傳遞依賴;

PS:第二范式要遵循第一范式,第三范式要遵循第二范式。

 

簡單來說:

1NF:列表字段不可分;

2NF:有主鍵且非主鍵依賴主鍵;

3NF:非主鍵字段不能相互依賴;

 

 

不符合第一范式的例子(關系數據庫中create不出這樣的表):

表:姓名,性別,電話

問題:若某個人有兩個電話,家庭電話和手機,這樣則不符合第一范式。

解決:把電話列分成兩個列即可。

 

不符合第二范式的例子:

表:學號, 姓名, 年齡, 課程名稱, 成績, 學分;

這個表明顯說明了兩個事務:學生信息, 課程信息,不符合第二范式。

存在問題:數據冗余,每條記錄都含有相同信息。

解決:分成學生表和課程表分別存儲即可。

 

不符合第三范式的例子:

學號, 姓名, 年齡, 所在學院, 學院聯系電話,關鍵字為單一關鍵字"學號";

存在依賴傳遞: (學號) → (所在學院) → (學院地點, 學院電話)

存在問題:

數據冗余:有重復值;

解決:分成學生表,學院表即可。
---------------------
作者:逛了12遍
來源:CSDN
原文:https://blog.csdn.net/qq_37979377/article/details/64928149
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM