数据库---第六章--关系数据理论

一.数据依赖
1.数据依赖的类型
函数依赖(Functional Dependency,简记为FD)
多值依赖(Multivalued Dependency,简记为MVD)
其他:数据依赖对关系模式的影响
2."好"的模式:
不会发生插入异常、删除异常、更新异常,
数据冗余应尽可能少
原因:由存在于模式中的某些数据依赖引起的
解决方法:通过分解关系模式来消除其中不合适的数据依赖
二.函数依赖
1.定义:
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 "X函数确定Y" 或 "Y函数依赖于X",记作X→Y。
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y í X,则称X→Y是非平凡的函数依赖
若X→Y,但Y í X, 则称X→Y是平凡的函数依赖
若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。
若X→Y,Y→X,则记作X←→Y。
若Y不函数依赖于X,则记作X→Y。
2.完全函数依赖与部分函数依赖
在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X' Y, 则称Y对X完全函数依赖,记作X→F Y 。 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X→P Y。
3.传递函数依赖
 在R(U)中,如果X→Y,(Y íX) ,Y→X Y→Z, 则称Z对X传递函数依赖。记为:X →传递 Z
注: 如果Y→X, 即X←→Y,则Z直接依赖于X。

4.设K为R中的属性或属性组合。若K U, 则K称为R的侯选码(Candidate Key)。若候选码多于一个,则选定其中的一个做为主码(Primary Key)。
5.主属性与非主属性
包含在任何一个候选码中的属性 ,称为主属性(Prime attribute)
不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute)
6.全码
整个属性组是码,称为全码(All-key)
7.外部码
关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码
8.范式
范式是符合某一种级别的关系模式的集合
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式
范式的种类:    
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
9.各种范式之间存在联系:
某一关系模式R为第n范式,可简记为R∈nNF。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化
a.1NF
1NF的定义
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF
第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库
但是满足第一范式的关系模式并不一定是一个好的关系模式
b.2NF
2NF的定义
若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。
c.3NF
3NF的定义
d.关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z í Y), 使得X→Y,Y→Z成立, Y → X,则称R ∈ 3NF。
若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。
BC范式(BCNF)
关系模式R∈1NF,若X→Y且Y í X时,X必含有码,则R ∈BCNF。
等价于:每一个决定属性因素都包含码
若R∈BCNF
所有非主属性对每一个码都是完全函数依赖
所有的主属性对每一个不包含它的码,也是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性
R ∈BCNF  R ∈3NF
三。多值依赖
1.定义:
设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关
多值依赖的另一个等价的形式化的定义:
在R(U)的任一关系r中,如果存在元组t,s 使得t[X]=s[X],那么就必然存在元组 w,v属于r,(w,v可以与s,t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为X→→Y。 这里,X,Y是U的子集,Z=U-X-Y。
平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=φ,则称X→→Y为平凡的多值依赖
否则称X→→Y为非平凡的多值依赖
多值依赖的性质
(1)多值依赖具有对称性。若X→→Y,则X→→Z,其中Z=U-X-Y
(2)多值依赖具有传递性。若X→→Y,Y→→Z, 则X→→Z –Y
(3)函数依赖是多值依赖的特殊情况。若X→Y,则X→→Y。
(4)若X→→Y,X→→Z,则X→→Yè Z。
(5)若X→→Y,X→→Z,则X→→Y∩Z。
(6)若X→→Y,X→→Z,则X→→Y-Z,X→→Z -Y。
多值依赖与函数依赖的区别
(1) 多值依赖的有效性与属性集的范围有关
(2)若函数依赖X→Y在R(U)上成立,则对于任何Y' ì Y均有X→Y' 成立
多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y' ì Y有X→→Y' 成立
4NF
定义6.10 关系模式R∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y í X),X都含有码,则R∈4NF。
如果R ∈ 4NF, 则R ∈ BCNF
不允许有非平凡且非函数依赖的多值依赖
允许的非平凡多值依赖是函数依赖
数据依赖的公理系统
逻辑蕴含
定义6.11 对于满足一组函数依赖 F 的关系模式R ,其任何一个关系r,若函数依赖X→Y都成立, (即r中任意两元组t,s,若tX]=sX],则tY]=sY]),则称F逻辑蕴含X →Y
关系模式R 来说有以下的推理规则:
A1.自反律(Reflexivity):若Y í X í U,则X →Y为F所蕴含。
A2.增广律(Augmentation):若X→Y为F所蕴含,且Z í U,则XZ→YZ为F所蕴含。
A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。
自反律: 若Y í X í U,则X →Y为F所蕴含
增广律: 若X→Y为F所蕴含,且Z í U,则XZ→YZ 为F所蕴含。
传递律:若X→Y及Y→Z为F所蕴含,则X→Z为 F所蕴含。

导出规则
1.根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
合并规则:由X→Y,X→Z,有X→YZ。
(A2, A3)
伪传递规则:由X→Y,WY→Z,有XW→Z。
(A2, A3)
分解规则:由X→Y及 ZíY,有X→Z。
(A1, A3)
2.根据合并规则和分解规则,可得引理6.1
引理6.l X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)
函数依赖闭包
定义6.l2 在关系模式R中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F+。
定义6.13 设F为属性集U上的一组函数依赖,X íU, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包
函数依赖集等价
定义6.14 如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。
引理6.3 F+ = G+ 的充分必要条件是F í G+ ,和G í F+
证: 必要性显然,只证充分性。

(1)若FíG+ ,则XF+ í XG++ 。
(2)任取X→Y?F+ 则有 Y í XF+ í XG++ 。
所以X→Y ? (G+)+= G+。即F+ í G+。
(3)同理可证G+ í F+ ,所以F+ = G+。

最小依赖集
定义6.15 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。
(1) F中任一函数依赖的右部仅含有一个属性。
(2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
(3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
极小化过程
定理6.3 每一个函数依赖集F均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集。

模式的分解
三种模式分解等价的定义:
⒈ 分解具有无损连接性
⒉ 分解要保持函数依赖
⒊ 分解既要保持函数依赖,又要具有无损连接性
定义6.16 关系模式R的一个分解:ρ={ R1,R2,…,Rn},U= ∪Ui,且不存在 Ui í Uj,Fi 为 F在 Ui 上的投影
定义6.17 函数依赖集合{X→Y | X→Y ? F+∧XY íUi} 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影
具有无损连接性的模式分解
关系模式R的一个分解 ρ={ R1,R2, …,Rn},若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Lossless join)
具有无损连接性的分解保证不丢失信息
无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题
保持函数依赖的模式分解
设关系模式R被分解为若干个关系模式,R1,R2,…,Rn ,(其中U=U1∪U2∪…∪Un,且不存在Ui í Uj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preserve dependency)
 

你可能感兴趣的:(数据库---第六章--关系数据理论)