手记

关系数据模型中的规范化

       关系数据模型的规范化是一种组织数据的技术。规范化方法对表进行分解,以消除数据冗余,避免异常更新,提高数据完整性。
       规范化是通过应用凡是规则实现的,最常用的范式有第一范式(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


0人推荐
随时随地看视频
慕课网APP