继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关系数据模型中的规范化

慕标5832272
关注TA
已关注
手记 1229
粉丝 229
获赞 1001

       关系数据模型的规范化是一种组织数据的技术。规范化方法对表进行分解,以消除数据冗余,避免异常更新,提高数据完整性。
       规范化是通过应用凡是规则实现的,最常用的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。

1.第一范式(1NF)

       表中的列只能含有原子性(不可再分)的值。

比如下表所示:

idnamemobile
1张三1111111111 22222222

此表的mobile字段中存了两个手机号,违反了1NF规则。

2.第二范式(2NF)

       第二范式要同时满足下面两个条件:

  • 满足第一范式

  • 没有部分依赖

       例如,员工表的一个候选键是{id,mobile,deptNo},而deptName依赖于{deptNo},同样name仅依赖于{id},因此不是2NF的。这时需要对表进行拆分。

3.第三范式(3NF)

       第三范式要同时满足下面两个条件:

  • 满足第二范式

  • 没有传递依赖

       例如,员工表的province、city、district依赖于zip,而zip依赖于{id},换句话说,province、city、district传递依赖于{id},违反3NF规则。需要对表进行分拆。

       在关系数据模型设计中,一般需要满足第三范式的要求。如果一个表有良好的主外键设计,就应该是满足3NF的表。规范化带来的好处是通过减少数据冗余提高更新数据的效率,同时保证数据完整性。
       但是,在实际应用中要防止过度规范化的问题,规范化程度越高,划分的表就越多,在查询数据时就有可能使用表连接操作。如果连接的表过多,又会影响查询的性能。



作者:阿猫阿狗Hakuna
链接:https://www.jianshu.com/p/e5a6e365f31a


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP