Skip to content

6、范式(1NF、2NF、3NF、BCNF、4NF、5NF)

与候选码和主码有关

判断范式的第一步就是求出候选码,然后区分出主属性和非主属性

第一范式(软考中基本都符合)

  • 满足最低要求的称为第一范式
  • 关系 R 中的每个属性 A 的值只包含原子项目(即不可分割的数据项)
  • 不能排除数据冗余和更新异常,因为可能可能存在对候选码的部分函数依赖

数据冗余和更新异常

  • 重复出现的不必要的数据就是数据冗余
  • 修改异常:问题基于数据冗余
  • 插入异常:本来可以插入的数据,现在插入不了

第二范式

  • 满足第一范式后,每个非主属性都完全函数依赖于候选码
  • 第二范式也可能存在数据冗余和更新异常,因为其中可能存在对候选码的传递依赖

分解第一范式的问题

  • 将原来存储在一个二维表中的数据分散到多个二维表中(一张表拆成多张表)
  • 最低要求是不能丢失前者的信息

第三范式

  • 满足第二范式后,每个非主属性都非传递依赖于候选码
  • 可能存在主属性对码的部分依赖和传递依赖

分解第二范式的问题

  • 继续拆表
  • 可以删除掉部分的函数依赖

BC 范式

  • 所有非主属性对每一个码都是完全函数依赖
  • 所有的主属性对每一个不包含他的码,也是完全函数依赖
  • 没有任何属性完全依赖于非码的任何一组属性
  • 完全消除插入、删除异常

消除第三范式中的问题

无损连接

  • 自然连接后和原来一致

KESHAOYE-知识星球 V20251030171600