• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

数据库第六章总结

互联网 diligentman 1周前 (05-04) 10次浏览

关系模式

一个关系模式应当是一个五元组
R(U,D,DOM,F)
这里:
·关系名R是符号化的元组语义
·U为一组属性
·D为属性组U种的属性所来自的域
·DOM为属性到域的映射
·F为属性组U上的数据依赖

规范化

先讨论一个关系属性间不同的依赖情况

1、函数依赖

定义:设R(U)是属性集U上的关系模式,X,Y是U子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定YY函数依赖于X,记作X→Y

函数依赖和别的数据依赖一样是语义范畴的概念,只能根据语义来确定一个函数依赖

注意:函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件

下面介绍一些术语和记号:
·X→Y,但Y⊈X,则称X→Y是非平凡的函数依赖
·X→Y,但Y⊆X,则称X→Y是平凡的函数依赖,对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语句。若不特别声明,总是讨论非平凡的函数依赖
·若X→Y,则称这个函数依赖的决定属性组,也称为决定因素
·若X→Y,Y→X,则记住X←→Y
·若Y不函数依赖于X,则记作

X

↚

Y

X notleftarrow Y

XY

X

↛

Y

X notrightarrow Y

XY

2、码

定义:设K为R<U,F>中的属性或属性组合,若

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称为超码。候选码是最小的超码,即K的任意一个真子集都不是候选码

若候选码多于一个,则选定其中的属性称为主属性;不包含在任何候选码中的属性称为非主属性非码属性。最简单的情况:单个属性是码;最极端的情况:整个属性组是码,称为全码

3、范式

各范式之间的关系有:

5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化

①第一范式

关系模式思一张二维表,就属于第一范式

②第二范式

定义:若R∊1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∊2NF

一个关系模式R不属于2NF,就会产生以下几个问题:
·插入异常
·删除异常
·修改复杂

③第三范式

定义:设关系模式R<U,F>∊1NF,若R中不存在这样的码X,属性组Y及非主属性Z(

Z

Y

Z nsupseteq Y

ZY)使得X→Y,Y→Z成立,

Y

↛

X

Y notrightarrow X

YX,则称R<U,F>∊3NF

如果R属于3NF,则必有R属于2NF

一个关系模式若不属于3NF就会产生与2NF类似的问题

④BCNF

定义:关系模式R<U,F>∊1NF,若X→Y且

Y

X

Y nsubseteq X

YX时X比含有码,则R<U,F>∊BCNF

一个满足BCNF的关系模式有:
·所有非主属性对每一个码都是完全函数依赖
·所有主属性对于每一个不包含它的码也是完全函数依赖
·没有任何属性完全函数依赖于非码的任何一组属性

由于R∊BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∊3NF,但若是R∊3NF,R未必属于BCNF

⑤第四范式

定义:关系模式R<U,F>∊1NF,如果对于R的每个非平凡多值依赖X→→Y(Y⊈X)
,X都含有码,则称R<U,F>∊4NF

4、多值依赖

定义:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系R,给定的一对(X,Z)值,有一组Y的值,这组值仅仅决定于X值而与Z值无关

多值依赖有以下性质:
·多值依赖具有对称性。即X→→Y,则X→→Z,其中Z=U-X-Y
·多值依赖具有传递性。即X→→Y,Y→→Z,则X→→Z-Y
·函数依赖可以看作是多值依赖的特殊情况,即X→Y,则X→→Y
·若X→→Y,X→→Z,则X→→YZ
·若X→→Y,X→→Z,则X→→Y∩Z
·若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y


程序员灯塔
转载请注明原文链接:数据库第六章总结
喜欢 (0)