數據庫模型設計,第一範式、第二範式、第三範式簡單例子理解

數據庫設計通常知足第三範式就夠了
 
第一範式(無重複的列)
定義:數據庫表的每一列都是不可分割的原子數據項,而不能是集合,數組,記錄等非原子數據項。若是實體中的某個屬性有多個值時,必須拆分爲不一樣的屬性
通俗解釋:一個字段只存儲一項信息
eg:班級:高三年1班,應改成2個字段,一個年級、一個班級,才知足第一範式
不知足第一範式
學號 姓名 班級
0001 小紅 高三年1班
 
改爲
學號 姓名 年級 班級
0001 小紅 高三年 1班
 
第二範式(屬性徹底依賴於主鍵)
定義:知足第一範式前提,當存在多個主鍵的時候,纔會發生不符合第二範式的狀況。好比有兩個主鍵,不能存在這樣的屬性,它只依賴於其中一個主鍵,這就是不符合第二範式
通俗解釋:任意一個字段都只依賴表中的同一個字段
eg:好比不符合第二範式
學生證 名稱 學生證號 學生證辦理時間 借書證名稱 借書證號 借書證辦理時間
           
 
改爲2張表以下
學生證表
學生證 學生證號 學生證辦理時間
     
借書證表
借書證 借書證號 借書證把你拉時間
     
 
 
第三範式(屬性不能傳遞依賴於主屬性)
定義:知足第二範式前提,若是某一屬性依賴於其餘非主鍵屬性,而其餘非主鍵屬性又依賴於主鍵,那麼這個屬性就是間接依賴於主鍵,這被稱做傳遞依賴於主屬性。
通俗理解:一張表最多隻存2層同類型信息
eg:爸爸資料表,不知足第三範式
爸爸 兒子 女兒 女兒的小熊 女兒的海綿寶寶
         
 
改爲
爸爸信息表:
爸爸 兒子 女兒
     
女兒信息表
女兒 女兒的小熊 女兒的海綿寶寶
     
 
 轉自:https://blog.csdn.net/wuyanxiaxia/article/details/22933021
總結
第一範式-列的原子性:一個列只能包含一個屬性。
第二範式-主鍵的惟一統領性:一個表只能有一個主鍵惟一統領。
第三範式-主鍵的直接統領性:表的主鍵必須直接統領其餘屬性,而非經過其餘列統領。
相關文章
相關標籤/搜索