当前位置:
文档之家› 5第五章第2讲函数依赖公理体系
5第五章第2讲函数依赖公理体系
③ 在Y中取一属性A,并求(XA)F+ :若(XA)F+包 含了R的全部属性,则XA为的一个候选键; ④ 重复③,直到Y中的属性依次取完为止; ⑤ 从Y中除去所有已成为主属性的属性A;
2013-4-2 南晓数信学院 30
四、候选键的求解方法 3、候选键的一般求解法 ⑥ 在剩余的属性中依次取两个属性、三个属 性,…,将其记为集合B,并求(XB)F+ :若 (XB)F+包含了R的全部属性,且自身不包含已 求出的候选键,则XB为R的一个候选键; ⑦ 重复⑥,直到Y中的属性按⑥的组合依次取完 为止; ⑧ 输出候选键,算法结束。
B→C},求函数依赖集F的闭包F+。(P103)
A→ , AB→ , AC→ , ABC→ , B→ , C→
A→ A, AB→ A, AC→ A, ABC→ A, B→ B, C→ C A→ B, AB→ B, AC→ B, ABC→ B, B→ C,
+= A→ C, AB→ C, AC→ C, ABC→ C, B→ BC, F A→ AB, AB→ AB, AC→ AB, ABC→ AB, BC→ ,
南晓数信学院 26
③
F 3=
2013-4-2
3、举例(续四)
例5.5:求函数依赖集F的最小函数依赖集
法2:(步骤一:分解规则 )步骤二:去掉F中冗余的函数依赖 ① F 1=
ABC,CA,BCD,ACDB, DE,DG,BEC,CGB CGD,CEA,CEG
ABC,CA,BCD, DE,DG,BEC, CGB,CEG
2013-4-2
南晓数信学院
7
4、定理5.2 如果Ai(i=1,…,n)是关系模式R的属性,则 XA1A2…An成立的充分必要条件是XAi(i= 1,…,n)均成立。
作用:将一个FD分解成若干个右边是单属性 的FD。用于确定关系的主键。
2013-4-2
南晓数信学院
8
二、X关于F的闭包及其计算 例:已知关系模式R(A,B,C),其函数依赖集为F={A→B,
A→ AC, AB→ AC, AC→ AC, ABC→ AC, BC→ B, A→ BC, AB→ BC, AC→ BC, ABC→ BC, BC→ C, A→ ABC,AB→ ABC,AC→ ABC,ABC→ ABC,BC→ BC,
2013-4-2 南晓数信学院 9
1、X关于F的闭包 设 有 关 系 模 式 R(U,F) 和 属 性 集 U={A1,A2,…,An}的子集X。则称所有用阿姆斯特 朗公理从F推导出的函数依赖X→Ai的属性Ai组成 的集合称为X关于F的闭包,记为XF+ ,通常简记 为X+。即 XF+={Ai|用公理从F推出的X→Ai}
南晓数信学院 25
②
F22=
2013-4-2
3、举例(续三)
例5.5:求函数依赖集F的最小函数依赖集
步骤三:去掉左端多余的属性
②
F22=
ABC,CA,BCD, ACDB,DE,DG, BEC,CGD,CEG ABC,CA,BCD, CDB,DE,DG, BEC,CGD,CEG
(1)X(0)=X。
(2)从F中找出满足条件VX(i) 的所有函数依赖 V→W,并把所有的V→W中的属性W组成的集合记 为Z;也即从F中找出那些其决定因素是X(i)的子 集的函数依赖,并把由所有这样的依赖的被决 定因素组成的集合记为Z。 (3)若ZX(i),则转(5)。(当X(i)只决定自己时)
由u、v的任意性,并根据函数依赖的定义, 可得 XY。
2013-4-2 南晓数信学院 5
3、 阿姆斯特朗公理的推论
合并规则:若XY且XZ,则XYZ (增广律)
分解规则:若XY,且ZY,则XZ (自反律)
伪传递规则:若XY且WYZ,则WXZ
证: XY 增广律 WX→WY WY→Z
2013-4-2
南晓数信学院
4
2、定理5.1
Armstrong公理是正确的。
方法:从函数依赖的定义出发
A1 自反律:若YX,则XY (增广律,传递律证明类 似,P104)
证:设u、v为r的任意两个元组。
若u[X]=v[X],则u和v在X的任何子集上必然 相等。
由条件YX ,所以有:u[Y]=v[Y],
南晓数信学院 24
②
F21=
2013-4-2
3、举例(续二)
例5.5:求函数依赖集F的最小函数依赖集
(步骤二:去掉F中冗余的函数依赖 )
② F21=
ABC,CA,BCD,ACDB, DE,DG , BEC , CGD , CEA,CEG ABC,CA,BCD, ACDB,DE,DG, BEC,CGD,CEG
对比
2013-4-2
F+和X+
集合元素
南晓数信学院 10
2、定理5.3
设有关系模式R(U,F),U={A1,A2,…,An}是R 的属性集,F是R的属性集U上的函数依赖集,X、 Y是U的子集,则
XY能用Armstrong公理从F导出YX+。 该定理把判定XY是否能由F根据Armstrong 公理导出的问题
Z=EG
BD=X(0)
(1)X(0)=BD。({B}、{D}、{B,D}) X+ 、 {D} 、 ( 1 ) =BDEG ( {B} =ABCDEG {E} 、 {G} 、 {B 、 (2)X D}…2n-1个子集) +,故BD→A成立 A∈BD (3)X(2)=BCDEG
(4)X(3)=ABCDEG
南晓数信学院 27
步骤三:去掉左端多余的属性
②
F21=
2013-4-2
四、候选键的求解方法 1、属性分类 对于给定的关系R(U)和函数依赖集F,可 将其属性分为4类:
① L类:仅出现在F的函数依赖左部的属性;
② R类:仅出现在F的函数依赖右部的属性;
③ N类:在F的FD左右两边均未出现的属性;
④ LR类:在F的FD左右两边均出现的属性。
(5)若X是R的N类属性和L类属性组成的属性集,且X+ 包含了R的全部属性,则X是R的唯一候选键。
2013-4-2
南晓数信学院
29
四、候选键的求解方法 3、候选键的一般求解方法 ① 将所有属性分为L、R、N和LR四类,并令X代 表L和N类,Y代表LR类;
② 求XF+:若XF+包含了R的全部属性,则X是R的 唯一候选键,转⑧;
2013-4-2 南晓数信学院 22
3、举例
例5.5:求函数依赖集F的最小函数依赖集
ABC,CA,BCD, F= ACDB,DEG,BEC, CGBD,CEAG 法1:(步骤一:分解规则 ) ① F1=
ABC,CA,BCD,ACDB, DE,DG,BEC,CGB , CGD,CEA,CEG
第2讲 函数依赖的公理体系
授课人: 李朔 Email:chn.nj.ls@
2013-4-2 南晓数信学院 1
主要内容
阿姆斯特朗公理及推论
X关于F的闭包及其计算
最小函数依赖集
候选键的求解方法
2013-4-2
南晓数信学院
2
一、阿姆斯特朗公理及推论 问题引入:
F=X→Y F+ 侯选键 X→Y在R 中是否成立
2013-4-2
南晓数信学院
21
求解方法(续二)
(3)去掉左端多余的属性
对于F中左端是非单属性的函数依赖 (XYA),假设要判断Y是否是多余的属性
① G = (F-{XYA})∪{XA};
② 求X关于F的闭包XF+;
③ 如果A不属于XF+ ,则XA不在F+ 中,说明Y 不是多余的属性,接着判别X是否是多余的属性; 如果A属于XF+,则说明Y是多余的属性,F=G。
2013-4-2 南晓数信学院 15
1、函数依赖集的等价与覆盖 定义5.5 设F和G是两个函数依赖集,如果F+=G+,则 称F和G等价。如果F和G等价,则称F覆盖G,同 时也称G覆盖F。
2013-4-2
南晓数信学院
16
定理
定理5.4 F+=G+的充要条件是FG+和GF+。
所 有
F
F += G +
求出X+,判定Y是否为X+的子集的问题。
2013-4-2 南晓数信学院 11
3、X关于F的闭包X+的计算 算法5.1 求属性集X关于函数依赖集F的闭包X+ 输入: 关系模式R的全部属性集U,U上的函数依赖集 F,U的子集X。 输出:
X关于F的闭包X+。
计算方法:
2013-4-2
南晓数信学院
12
3、X关于F的闭包X+的计算(续)
③ 对F中的任何FD:XA和X的任何真子集Z,
(F-{XA})∪{ZA}不等价于F。
每个FD左端无多余的属性
2013-4-2 南晓数信学院 19
求解方法 (1)用分解规则将F中的所有函数依赖分解成右 端为单个属性的函数依赖; Armstrong公理的推论 分解规则:若XY,且ZY,则XZ
传递律
WX→Z
2013-4-2
南晓数信学院
6
例5.2简化版 P105 对关系模式R(A,B,C),依赖集F={C->A,AB->C}, 候选键为AB和CB,证明BC->ABC.
证明:已知有C->A,由增广律可得BC->AB,
又已知AB->C,由增广律可得AB->ABC
综上由传递律可得 BC->ABC
X→Y
G+
F+ (G+)+
FG+,
FG+ GF+
定理意义:P107 不计算F+与G+,对于F(或G)中 每个X->Y,只通过求Xg+中是否 包含Y来判断FG+, XF+来判断GF