[數據庫] 數據庫範式--數據庫設計遵循的原則

黑馬程序員——數據庫視頻筆記
在這裏插入圖片描述

0 範式的概念

概念:範式就是符合某一規範級別的關係模式的集合。共有7種範式:
1NF ⊃ 2NF ⊃ 3NF ⊃ BCNF ⊃ 4NF ⊃ 5NF ⊃ 6NF

1 第一範式(First Normal Form)

如果一個關係模式R的所有屬性都是不可分割的基本數據項, 則這個關係屬於第一範式。

舉例說明:(學生選課:學號, 姓名, 系別, 系部地址, 課程名稱, 課程成績)
Student(s_no,s_name,s_dept,s_location,s_course_name,s_grade)

注:
1NF 是關係模式應該具備的最起碼的條件,如果數據庫設計不能滿足第一範式,就不能稱作是關係模式;
關係數據庫設計研究的關係規範化是在1NF 基礎之上進行的。

2 第二範式(Second Normal Form)

定義:若關係模式R屬於第一範式,且每個非主屬性都是完全依賴於主鍵,則R屬於第二範式。

說明:
從2NF的定義可以看出,從2NF開始討論的是主鍵和非主屬性之間的函數依賴關係,所以分析關係模式是屬於2NF,
首先指明關係模式的主鍵,然後討論非主屬性和主鍵之間的函數依賴關係

舉例說明:選課關係模式
SC(s_no,c_no,score)中,主鍵爲(s_no,c_no),而非主屬性score與主鍵之間不存在部分函數依賴關係
所以關係模式SC屬於2NF

3 第三範式(Third Normal Form)

定義:若關係模式R屬於第一範式,且每個非主屬性都不傳遞函數依賴於主鍵, 則R屬於第三範式。

說明:
3NF 說明的是非主屬性和主鍵之間的函數依賴關係

舉例說明:選課關係模式
SC(s_no,c_no,score)中, 由於除了主鍵之外,只有一個非主屬性score,所以score不可能構成與主鍵之間的傳遞函數依賴,
所以SC屬於3NF

4 BCNF(Boyce- Codd Normal Form)

定義:若關係模式R屬於第一範式,且每個屬性都不傳遞依賴於主鍵,則R屬於BC範式。

說明:
也就是說,在關係模式R中,凡是決定因素的屬性或屬性集包含鍵碼,決定因素是函數依賴的左部屬性集,比如X->Y,X成爲決定因素。

由BC範式的定義可以得到以下的結論,一個滿足BC範式的關係模式有:

  1. 所有非主屬性對每一個候選碼都是完全函數依賴
  2. 所有的主屬性對每一個不包含它的候選碼都是完全函數依賴
  3. 沒有任何屬性完全函數依賴於非候選碼的任何一組屬性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章