第六章总结

目录

  • 回顾
  • 函数依赖
    • 多值依赖
  • 范式
  • 1NF
  • 2NF
  • 3NF
  • BCNF
  • 4NF
  • 规范化小结
  • 总结

回顾

关系模型(五元组):
R(U,D,DOM,F)
关系名R是符号化的元组定义
U为一组属性
D为属性组U中的属性所来自的域
F为属性组U上的一组数据依赖

函数依赖

函数依赖定义:
设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作 X → Y X \rightarrow Y XY.
下面介绍一些常用的属于和记号:

  • X → Y X \rightarrow Y XY,但是Y⊈X,则称 X → Y X \rightarrow Y XY是非平凡的函数依赖。
  • X → Y X \rightarrow Y XY,但Y⊆X,则称 X → Y X \rightarrow Y XY是平凡的函数依赖。
  • X → Y X \rightarrow Y XY,则X称为这个函数的决定属性组,也称为决定因素
  • X → Y X \rightarrow Y XY Y → X Y \rightarrow X YX,则记作 X ← → Y X \leftarrow\rightarrow Y XY
  • 若Y不函数依赖于X,则记作 X ↛ Y X \not \rightarrow Y XY
    完全函数依赖定义:
    在R(U)中,如果 X → Y X \rightarrow Y XY,并且对于X的任何一个真子集X’,都有 X ‘ ↛ Y X‘ \not\rightarrow Y XY,则称Y对X完全函数依赖,记作: X → F Y X \overset F \rightarrow Y XFY
    X → Y X \rightarrow Y XY,但Y不完全依赖于X,则称Y对X部分函数依赖,记作: X → P Y X \overset P \rightarrow Y XPY

    传递函数依赖定义:
    在R(U)中,如果 X → Y X \rightarrow Y XY(Y⊈X), Y ↛ X Y \not \rightarrow X YX, Y → Z Y \rightarrow Z YZ,Z⊈Y.则称Z对X传递函数依赖,记作: X → 传 递 Y X \overset {传递} \rightarrow Y XY

多值依赖

定义:
设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X → → Y X \rightarrow \rightarrow Y XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,y)值,有一组Y的值,这组值仅仅取决于x值而与z值无关。
X → → Y X \rightarrow \rightarrow Y XY,而Z等于空,则称 X → → Y X \rightarrow \rightarrow Y XY,为平凡的多值依赖。否则称为非平凡的多值依赖。
多值依赖有如下性质:
(1)多值依赖具有对称性。即若 X → → Y X \rightarrow \rightarrow Y XY,,则 X → → Z X \rightarrow \rightarrow Z XZ,Z=U-X-Y。
(2)多值依赖具有传递性。即若 X → → Y X \rightarrow \rightarrow Y XY,, Y → → Z Y \rightarrow \rightarrow Z YZ,则 X → → Z − Y X \rightarrow \rightarrow Z-Y XZY
(3)函数依赖可以看做是多值依赖的特殊情况。即若 X → Y X \rightarrow Y XY。则 X → → Y X \rightarrow \rightarrow Y XY。这是因为当 X → Y X \rightarrow Y XY时,对X的每一个值x,Y都有一个确定的值y与之对应,所以 X → → Y X \rightarrow \rightarrow Y XY
(4)若 X → → Y X \rightarrow \rightarrow Y XY X → → Z X \rightarrow \rightarrow Z XZ,则 X → → Y Z X \rightarrow \rightarrow YZ XYZ
(5)若 X → → Y X \rightarrow \rightarrow Y XY X → → Z X \rightarrow \rightarrow Z XZ,则 X → → Y ∩ Z X \rightarrow \rightarrow Y∩Z XYZ
(6)若 X → → Y X \rightarrow \rightarrow Y XY X → → Z X \rightarrow \rightarrow Z XZ,则 X → → Y − Z X \rightarrow \rightarrow Y-Z XYZ X → → Z − Y X \rightarrow \rightarrow Z-Y XZY

候选码: 设K为R中的属性或属性组合,若 K → F U K \overset F \rightarrow U KFU,则K为R的候选码。U完全依赖于K,非部分依赖于K。
超码: U部分依赖于K,即 K → P U K \overset P\rightarrow U KPU则K为超码。候选码是最小超码。
主码: 候选码多于一个,则其中一个为主码
主属性: 包含候选码中任意一个属性称为主属性
非主属性: 不包含在任何主属性中的属性为非主属性或非码属性
全码: 最简单情况,单个属性是码;极端情况,整个属性组是码,为全码

范式

各个范式之间的的关系:
5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF
即R∈高级NF,则R必∈低级NF

1NF

**定义:**作为一个二维表,关系满足:每一个分量必须是不可分的数据项。则此关系模式属于1NF
存在的问题:
(1)数据冗余
(2)更新异常
(3)插入异常
(4)删除异常

2NF

定义: 若R∈1NF,且每一个非主属性完全依赖于任何一个候选码,则R∈2NF。
此时存在以下几个问题:
(1)插入异常
(2)删除异常
(3)修改异常

3NF

定义: 若R∈3NF,则每一个非主属性既不传递依赖于码,也不部分依赖于码。

BCNF

定义: 若R∈1NF,且每一个决定因素必包含码,一个满足BCNF的关系模式有:

  • 所有非主属性对每一个码都是完全函数依赖
  • 所有主属性对每一个不包含他的码也是完全函数依赖
  • 没有任何属性完全函数依赖于非码属性的任何一组元素

4NF

定义: 关系模式R∈1NF,如果对于R的每个非平凡多值依赖 X → → Y X \rightarrow \rightarrow Y XY(Y ⊈ X),X都含有码,则R∈4NF。
可以使用投影分解的方法消去非平凡且非函数依赖的多值依赖。

规范化小结

第六章总结_第1张图片

总结

注意:并不是规范化程度越高模式就越好,必须结合应用环境和现实世界的具体情况合理的选择数据库模式。
此致 这个窝在宿舍的五一
敬礼

你可能感兴趣的:(数据库)