数据系统工程师—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/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇