美文网首页大数据
关系数据模型中的规范化

关系数据模型中的规范化

作者: 阿猫阿狗Hakuna | 来源:发表于2018-10-26 14:11 被阅读2次

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

    1.第一范式(1NF)

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

    比如下表所示:

    id name mobile
    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的表。规范化带来的好处是通过减少数据冗余提高更新数据的效率,同时保证数据完整性。
           但是,在实际应用中要防止过度规范化的问题,规范化程度越高,划分的表就越多,在查询数据时就有可能使用表连接操作。如果连接的表过多,又会影响查询的性能。

    相关文章

      网友评论

        本文标题:关系数据模型中的规范化

        本文链接:https://www.haomeiwen.com/subject/uosktqtx.html