第二范式 将不同类别的属性拆分整合
第三范式
第三范式
数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖
1
第三范式要求各列无传递式的依赖关系(分类描述依赖分类)
第三范式定义
解决不符合第三范式方案
第三范式
定义:第三范式是在第二范式的基础之上定义的,如果数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖则复合第三范式。
第三范式3NF:不存在非关键字段对任一候选关键字段有传递函数依赖,则符合第三范式。
也会存在插入、更新、删除异常和数据冗余。
拆分演示~~
根据第三范式: 对表一进行拆分
第三范式: 定义
第三范式: 定义
第三范式:传递依赖
第三范式(3NF):第三范式是在第二范式的基础之上定义的,如果数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖则符合第三范式
第三范式:
第一范式 所有字段不可拆分
第二范式 非关键属性不存在对关键属性的部分函数依赖
第三范式 非关键字段不存在对关键字段的传递函数依赖(关键字端a决定非关键字段b,b决定非关键字段c)
eg 订单表有用户ID了 还加上用户表其他信息
商品决定分类,而分类决定分类描述;传递函数依赖关系。
e.g 分类是酒水饮料,如果有多种饮料那么酒水饮料这些字就会数据冗余;
如果酒水饮料下没有商品,那就看不到酒水饮料这个分类;
分成三个表:商品id;分类id;分类id和商品id
第三范式(3NF)
第三范式是在第二范式的基础上定义的,如果数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖符合第三范式。
存在以下传递函数依赖关系:
(商品名称)->(分类)->(分类描述),也就是说存在非关键字段“分类描述”对关键字段“商品名称”的传递函数依赖。
存在问题:(分类,分类描述)对于每一个商品都会进行记录,所以存在着数据冗余。同时也还存在数据的插入,更新及删除异常。
不存在传递性函数依赖关系
第一范式 所有字段不可拆分
第二范式 非关键属性不存在对关键属性的部分函数依赖
第三范式 非关键字段不存在对关键字段的传递函数依赖(关键字端a决定非关键字段b,b决定非关键字段c)
第二范式(2NF)
存在的问题:
1、插入异常
2、删除异常
3、更新异常
4、数据冗余
第三范式(3NF)
定义: 第三范式是在第二范式的基础之前定义的,如果数据表中不存在非关键字段,对任意候选关键字段的传递函数依赖则符合第三范式;
(商品名称)->(分类)-> (分类描述)
也就是说存在非关键字段 '分类描述'对关键字段'商品名称'的传递函数依赖;
存在问题:
(分类、分类描述)对于每个商品都会进行记录,所以存在着数据冗余。同时也还存在数据的插入,更新及删除异常
第三范式
不存在传递函数依赖
数据表字段间不能存在传递函数关系
例如:A->B->C