zoukankan      html  css  js  c++  java
  • 数据表三范式&范式理论

    范式理论

        范式理论为了解决数据的冗余与不一致,达到节省空间的作用。

    1NF

        原子性(Atomicity),原子性说的就是,表中的字段不可再折分。每一个字段都是一个最基本的数据。

        上表在使用中没有太大的问题,但是如果想查询开始时间,那么要先读取起止时间,再使用程序进行拆分。这样会降低程序的执行效率。由于起止时间可以再折分,所以违背了范式第一理论。

    解决方法:

        将起止时间拆分为两个字段。

    2NF

        2NF前提必须是满足1NF

        表中的非主键字段不可以存在依赖部分主键字段。部分主键字段说的就是复合主键。

        由于使用了复合主键,age与sex字段,仅是依赖(描述)stu_name,room仅是依赖(描述)class字段,此种情况就是存在部分依赖。违反范式理论的第2范式。

    解决办法:

        取消复合主键,自定义一个与用户数据无关的主键(逻辑主键)

    3NF

        3NF前提必须是满足2NF

        传递依赖,表中的某些字段,依赖于某个非主键字段,此非主健字段,依赖于主键字段,如下表:age与sex依赖于stu_name, stu_name依赖于id。此种情况就,违反了范式理论的第3范式。

    解决办法:

        将违反3NF表示不同实体信息的字段单独生成一个表,通过id与主表进行关联。

        

     

  • 相关阅读:
    第03组 Alpha冲刺 总结
    第03组 Alpha冲刺 (6/6)
    第03组 Alpha冲刺 (5/6)
    第03组 Alpha冲刺 (4/6)
    第03组 Alpha冲刺 (3/6)
    第03组 Alpha冲刺 (2/6)
    第03组 Alpha冲刺 (1/6)
    第03组(63) 需求分析报告
    第03组(63) 团队展示
    第09组 Alpha冲刺 总结
  • 原文地址:https://www.cnblogs.com/nyxd/p/5357034.html
Copyright © 2011-2022 走看看