第一范式
- 列不能夠再分
這是不符合第一范式的(紅色代表主鍵)——地址列可以再分
學生表
id | 姓名 | 性別 | 地址 |
001 | 閃客sun | 男 | 中國,吉林,長春 |
這是符合第一范式的
學生表
id | 姓名 | 性別 | 國家 | 省份 | 城市 |
001 | 閃客sun | 男 | 中國 | 吉林 | 長春 |
第二范式
- 首先要符合第一范式
- 表必須有主鍵
- 非主鍵列不能只依賴於主鍵的一部分
這是不符合第二范式的(紅色代表主鍵)---商品名稱依賴了主鍵的一部分商品ID
訂單表
訂單ID | 商品ID | 商品名稱 |
001 | 251 | 直升機 |
這是符合第二范式的
訂單表
訂單ID | 商品ID |
001 | 251 |
商品表
商品ID | 商品名稱 |
251 | 直升機 |
第三范式
- 首先滿足第二范式
- 非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴
這是不符合第一范式的(紅色代表主鍵)——學校描述沒有直接依賴於主鍵,而是直接依賴於學校,學校直接依賴於主鍵,所以存在傳遞依賴
學生表
id | 姓名 | 學校 | 學校描述 |
001 | 閃客sun | 氫化大學 | 中國最牛逼的學校 |
這是符合第一范式的
學生表
id | 姓名 | 學校id |
001 | 閃客sun | 001 |
學校表
id | 名稱 | 描述 |
001 | 氫化大學 | 中國最牛逼的學校 |
PS:本文僅幫助你理解三大范式,深入了解還需要咬定義和具體例子