第一范式
表的每一列必须是不可拆分的最小单元
| 学号 | 姓名 | 性别 | 地址 |
|---|---|---|---|
| 001 | lee | 男 | 广东省深圳市宝安区 |
因为地址是可以拆分成如下表的
| 学号 | 姓名 | 性别 | 省 | 市 | 区 |
|---|---|---|---|---|---|
| 001 | lee | 男 | 广东省 | 深圳市 | 宝安区 |
所以这样才是符合第一范式的
第二范式
在满足第一范式后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情。
| 订单号 | 商品sku | 商品名称 | 商品价格 | 订单金额 | 数量 |
|---|
以下符合第二范式
| 订单号 | 商品sku | 订单金额 | 数量 |
|---|
| 商品sku | 商品名称 | 商品价格 |
|---|
第三范式
必须先满足第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键)
| 订单号 | 订单时间 | uid | 用户名称 | 用户地址 |
|---|
以下符合第三范式
| 订单号 | 订单时间 | uid |
|---|
| uid | 用户名称 | 用户地址 |
|---|