首頁  >  文章  >  資料庫  >  資料庫三大範式通俗理解

資料庫三大範式通俗理解

Guanhui
Guanhui原創
2020-06-02 10:38:515713瀏覽

資料庫三大範式通俗理解

資料庫三大範式通俗理解

1、原子性,要求屬性具有原子性,不可再分解。

表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......

如學生(學號,姓名,性別,出生年月日),如果認為最後一列還可以再分成(出生年,出生月,出生日),它就不是一範式了,否則是;

2、唯一性,一個表只能說明一個事物,即實體的惟一性。

表:学号、课程号、姓名、学分;

這表示顯示了兩個事務:學生資訊, 課程資訊;由於非主鍵欄位必須依賴主鍵,這裡學分依賴課程號,姓名依賴與學號,所以不符合二範式。

可能會有問題:

  • 資料冗餘:,每筆記錄都含有相同資訊;

  • 刪除異常:刪除所有學生成績,就把課程資訊全刪除了;

  • 插入異常:學生未選課,無法記錄進資料庫;

  • 更新異常:調整課程學分,所有行都調整。

正確做法:

  • 學生:Student(學號, 姓名);

  • 課程:Course(課程編號, 學分);

  • 選課關係:StudentCourse(學號, 課程編號, 成績)。

3、冗餘性,每列都與主鍵都有直接關係,不存在傳遞依賴。

表: 学号, 姓名, 年龄, 学院名称, 学院电话

因為有依賴傳遞: (學號) → (學生)→(所在學院) → (學院電話) 。

可能會有問題:

  • 資料冗餘:有重複值;

  • 更新異常:有重複的冗餘:有重複值;

##更新異常:有重複的冗餘餘訊息,修改時需要同時修改多筆記錄,否則會出現資料不一致的情況。

正確做法:

學生:(學號, 姓名, 年齡, 所在學院);

學院:(學院, 電話)。

推薦教學:《###MySQL教學###》###

以上是資料庫三大範式通俗理解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn