數據庫設計一般滿足第三范式即可
第一范式
- 定義:數據庫表的每一列都是不可分割的原子數據項蝎困,而不能是集合护昧,數組莫其,記錄等非原子數據項癞尚。如果實體中的某個屬性有多個值時,必須拆分為不同的屬性
- 通俗解釋:一個字段只存儲一項信息
- eg:
學號 姓名 班級
0001 小紅 高三年1班
改成
學號 姓名 年級 班級
0001 小紅 高三年 1班
第二范式
- 定義:滿足第一范式前提乱陡,當存在多個主鍵的時候浇揩,才會發(fā)生不符合第二范式的情況。比如有兩個主鍵憨颠,不能存在這樣的屬性胳徽,它只依賴于其中一個主鍵,這就是不符合第二范式
- 通俗解釋:任意一個字段都只依賴表中的同一個字段
- eg:
學生證 名稱 學生證號 學生證辦理時間 借書證名稱 借書證號 借書證辦理時間
改成2張表如下:
T_學生證表
學生證 學生證號 學生證辦理時間
T_借書證表
借書證 借書證號 借書證把你拉時間
第三范式
- 定義:滿足第二范式前提爽彤,如果某一屬性依賴于其他非主鍵屬性愿待,而其他非主鍵屬性又依賴于主鍵杯拐,那么這個屬性就是間接依賴于主鍵段只,這被稱作傳遞依賴于主屬性
- 通俗解釋:一張表最多只存2層同類型信息
- eg:
T_爸爸資料表:不滿足第三范式
爸爸 兒子 女兒 女兒的小熊 女兒的海綿寶寶
改成
T_爸爸信息表:
爸爸 兒子 女兒
T_女兒信息表
女兒 女兒的小熊 女兒的海綿寶寶