数据系统工程师—7.4~7.5关系数据库设计基础知识、规范化

关系数据库设计基础知识

函数依赖

函数依赖

对于属性集X的每一个确定的值,都有属性Y的一个唯一确定的值与之对应

记Y函数依赖X,X→Y

  • 非平凡函数依赖:X→Y,Y∉X
  • 平凡函数依赖:X→Y,Y⊆X

完全函数依赖与部分函数依赖

  • 完全函数依赖:必须用码的全部属性才能确定另一个属性
  • 部分函数依赖:仅需码的部分属性就能确定另一个属性

传递函数依赖

在R(U,F)中 X→Y,Y→Z,Y∉X,Y⇸X,则称Z对X传递依赖

多值依赖

一个属性决定了另一组属性的多个可能组合,且这些组合独立于其他属性存在

  • 平凡多值依赖:z = Ø
  • 非平凡多值依赖:z ≠ Ø
  • 多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。
  • 多值依赖的传递性。即若X→→Y,Y→→Z,则X→→Z-Y。
  • 函数依赖可以看成是多值依赖的特殊情况。
  • 若X→→Y,X→→Z,则X→→YZ。
  • 若X→→Y,X→→Z,则X→→Y ⋂ Z
  • 若X→→Y,X→→Z,则X→→Z-Y

规范化

1NF

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。记为R∈1NF。

存在的问题:

  • 数据冗余
  • 更新异常(修改操作后数据不一致)
  • 插入异常
  • 删除异常

2NF

若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。

2NF消除了非主属性对码的部分函数依赖

存在的问题:

  • 数据冗余
  • 更新异常(修改操作后数据不一致)
  • 插入异常
  • 删除异常

3NF

若关系模式R(U,F)中不存在这样的码X,属性组Y及非主属性Z(Z⊈Y)使得X→Y,(Y⇸X)Y→Z成立,则关系模式R∈3NF。

消除了非主属性对码的函数传递依赖

存在的问题:

  • 数据冗余
  • 更新异常(修改操作后数据不一致)
  • 插入异常
  • 删除异常

BCNF巴克斯范式

关系模式R∈1NF,若X→Y且Y⊈X时,X必含有码,则关系模式R∈BCNF

  • 当3NF消除了主属性对码的部分函数依赖和传递函数依赖,则称为BCNF。
  • 即,只有候选码才能决定其他属性

4NF

关系模式R∈1NF,若对于R的每个非平凡多值依赖X→→Y且Y⊈X时,X必含有码,则关系模式R(U,F)∈4NF。

没有非平凡的非函数依赖的多值依赖

页面链接:https://www.datazzh.top/archives/2076/2025/04/15/

评论

  1. Sara3787
    Windows Chrome
    2 周前
    2025-4-23 23:17:25

    Awesome

本文评论已关闭
上一篇
下一篇