数据库设计范式

三级范式

  • 1NF 的定义为:符合1NF的关系中的每个属性都不可再分

    1
    理解:一范式就是属性不可分割
  • 2NF 在 1NF的基础之上,消除了非主属性对于码的部分函数依赖

    • 函数依赖: 若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X

      • 完全依赖
      • 部分依赖
        • 传递依赖
    • 码(键)设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K,那么我们称 K 为候选码,简称为码

    • 非主属性

    • 部分函数依赖

1
理解:二范式就是要有主键,要求其他字段都依赖于主键
  • 第三范式(3NF)3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖
    1
    三范式就是要消除传递依赖,方便理解,可以看做是“消除冗余”

数据库的设计的改进

数据冗余过大,插入异常,修改异常,删除异常