数据库:三大范式

2018/09/05

三大范式

1NF

要求数据库表的每一列都是不可分割的原子数据项。

错误

id 地址
1 广东省深圳市
2 广东省广州市

上面这个地址可以分为省、市,所以不符合第一范式

正确

id
1 广东省 深圳市
2 广东省 广州市

2NF

在1NF基础上,非主属性对主码完全依赖

第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)

错误

订单号 商品号 数量 订单总额
1 1 10 200
1 2 5 200

这里的是(订单号,商品号)联合主键。但是订单金额只跟订单号有关,不符合2NF

正确

订单号 商品号 数量
1 1 10
1 2 5
订单号 订单总额
1 200

3NF

在2NF基础上,非主键信息不依赖于其它非主键

错误

课程编号 课程名称 班主任名字 班主任性别
1 数学 老王

这里虽然所有属性依赖主键,但是性别其实是直接依赖于班主任名字的

正确

课程编号 课程名称 班主任名字
1 数学 老王
班主任名字 班主任性别
老王





github: https://github.com/Hikiy
作者:Hiki
创建日期:2018.09.05
更新日期:2018.09.05

(转载本站文章请注明作者和出处 Hiki

Post Directory