数据库数据规范化

Codd博士定义了6个范式来规范化数据库,范式由小到大来约束,范式越高冗余越小,但表的个数也越多。实验证明,三范式是性价比最高的。
2.1 第一范式:确保每列原子性
第一范式确保每个字段不可再分
在这里插入图片描述

如下表设计是否合理?
在这里插入图片描述
不合理。不满足第一范式,上课时间可以再分
在这里插入图片描述
地址包含省、市、县、地区是否需要拆分?
如果仅仅起地址的作用,不需要统计,可以不拆分;如果有按地区统计的功能需要拆分。
2.2 第二范式:非键字段必须依赖于键字段
一个表只能描述一件事
在这里插入图片描述
如下表设计是否合理?
在这里插入图片描述
2.3 第三范式:消除传递依赖
在所有的非键字段中,不能有传递依赖
在这里插入图片描述
下列设计是否满足第三范式?
在这里插入图片描述
不满足,因为语文和数学确定了,总分就确定了。
上面的设计不满足第三范式,但是高考分数表就是这样设计的,为什么?
高考分数峰值访问量非常大,这时候就是性能更重要。当性能和规范化冲突的时候,我们首选性能。这就是“反三范式”。

给定关系模式R,U={A,B,C},F={AB→C,C→B}。
C→B,AC→AB,而AB→C,所以AC→C,关系R有2个候选关键字AC和AB。包含在任何候选码中的诸属性都是主属性,A、B、C都包含在候选码中,因此主属性有3个,非主属性有0个。

在这里插入图片描述

在这里插入图片描述

  • 18
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值