* 信息重复
* 更新异常
* 插入异常(无法正常显示信息)
* 删除异常 (丢失有效的信息)
举例说明:
在上面表中 家庭信息和学历信息不满足原子性要求,不满足第一范式,进行调整如下
举例说明:
在上述表中,同一个订单号可以包括不同产品号,因此主键必须是“订单号”、“产品号”联合组成。
但可以发现 产品号、产品数量、产品价格与“订单号”、“产品号”都相关,但是订单金额 订单时间、订单人仅与订单号相关,与“产品号”无关
因此不满足第二范式要求进行调整如下分成两张表:
举例说明:
上表所有属性完全依赖于学号,满足第二范式,但是“班主任性别”、“班主任年龄”直接依赖于“班主任姓名”,并非主键“学号”
进行调整如下:
调整之后满足第三范式
数据库三大范式总结:(规范数据库设计)
规范性 和性能问题
关联表不得超过三张表
1、考虑商业化需求和目标,(成本、用户体验)数据库与性能更加重要
2、在规范性能得问题的时候,需要适当考虑 规范性
3、故意给某些表增加一些冗余长字段。(从多表查变为单表差查)
4、故意增加一些计算列(从大数据降低为小数据,索引:)