为什么要合理的规范数据库表呢?

在数据库设计中,我们要规范数据库表的设计,如果不合理规范的话,不同的场景在表中会出现许多问题。例如常见的问题有数据冗余、插入异常、更新异常和删除异常。

这张图就是不按三范式规范设计的图,数据基本杂合在一起。

数据冗余:如图所示,比如部门地址不断的重复,如办公楼一层,且重复存储。

插入异常:假如这是一个以员工为主体的表,给定情况,公司刚成立了一个新的部门,这个部门没有员工,那要怎么维护新部门的信息呢?你要输入部门的信息就要有员工,但这个部门刚成立没有员工那就不能部门的信息。这就出现了一个插入异常的问题。

更新异常:假如部门名称对应了部门地址,当行政管理部门地址改变了,相对应的要改掉表中的对应的全部部门地址,不过由于你的疏忽忘掉改了其中一个部门地址,这个部门名称就会有两个不同的部门地址(原来和改变的)。这就产生了更新异常的问题。

删除异常:假如一个部门只剩一个员工,公司在打算重建部门要炒了最后一个员工,如果真的炒了这个员工,那么这个部门的信息也会被删掉,这不在部门信息的维护上出了问题?所以这就是所谓的删除异常。

这就是数据库表要合理规范的原因,在合理规范的中可以用三范式来规范。说来话长,来日方长。这是个人的见解,如有错误欢迎指正。感谢您的耐心阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值