5第五章第2讲函数依赖公理体系

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)X(0)=X。
(2)从F中找出满足条件VX(i) 的所有函数依赖 V→W,并把所有的V→W中的属性W组成的集合记 为Z;也即从F中找出那些其决定因素是X(i)的子 集的函数依赖,并把由所有这样的依赖的被决 定因素组成的集合记为Z。 (3)若ZX(i),则转(5)。(当X(i)只决定自己时)
对比
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 公理导出的问题
由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
南晓数信学院
21
求解方法(续二)
(3)去掉左端多余的属性
对于F中左端是非单属性的函数依赖 (XYA),假设要判断Y是否是多余的属性
① G = (F-{XYAFra Baidu bibliotek)∪{XA};
② 求X关于F的闭包XF+;
③ 如果A不属于XF+ ,则XA不在F+ 中,说明Y 不是多余的属性,接着判别X是否是多余的属性; 如果A属于XF+,则说明Y是多余的属性,F=G。
X→Y

G+
F+ (G+)+
FG+,
FG+ GF+
定理意义:P107 不计算F+与G+,对于F(或G)中 每个X->Y,只通过求Xg+中是否 包含Y来判断FG+, XF+来判断GF

2013-4-2 南晓数信学院
17
推论 每一个函数依赖集F都被其右端只有一个属 性的函数依赖组成的依赖集G所覆盖。
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
传递律
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
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}
2013-4-2 南晓数信学院 14
三、最小函数依赖集 一个函数依赖集F的闭包F+通常包含很多函 数依赖,有些函数依赖是无意义的,如平凡的 函数依赖,还有一些是可以推导出的,即无关 的函数依赖。如果将每一个函数依赖看作是对 关系的一个约束,要检查F + 中的每一个函数依 赖对应的约束,显然是一件很繁重的任务。如 果能找出一个与F等价的、包含较少数目函数依 赖的函数依赖集G,则可以简化此工作。最小函 数依赖集的概念由此而提出。
南晓数信学院 27
步骤三:去掉左端多余的属性

F21=
2013-4-2
四、候选键的求解方法 1、属性分类 对于给定的关系R(U)和函数依赖集F,可 将其属性分为4类:
① L类:仅出现在F的函数依赖左部的属性;
② R类:仅出现在F的函数依赖右部的属性;
③ N类:在F的FD左右两边均未出现的属性;
④ LR类:在F的FD左右两边均出现的属性。
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 +
南晓数信学院 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
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→ ,
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],
③ 对F中的任何FD:XA和X的任何真子集Z,
(F-{XA})∪{ZA}不等价于F。
每个FD左端无多余的属性
2013-4-2 南晓数信学院 19
求解方法 (1)用分解规则将F中的所有函数依赖分解成右 端为单个属性的函数依赖; Armstrong公理的推论 分解规则:若XY,且ZY,则XZ
能从F导出的所有 X→Y
推导工具? 是一系列推理规则
最早出现在1974年W.W.Armstrong的论文里 他人于1977年提出改进形式
2013-4-2 南晓数信学院 3
1、阿姆斯特朗公理 设 有 关 系 模 式 R(U,F) , U={A1,A2,…,An} 是 R 的属性集,F是R的属性集U上的FD集,X、Y、Z、W 是U的子集。 阿姆斯特朗公理为: A1 自反律:若YX,则XY A2 增广律:若XY,则XZYZ A3 传递律:若XY,YZ,则XZ
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
2013-4-2
南晓数信学院
20
求解方法(续一)
(2)去掉F中冗余的函数依赖
对于F中任一FD:XY
① G = F-{XY};
② 求X关于G的闭包XG+; ③ 看XG+ 是否包含Y。如果XG+ 包含Y,则在G中 逻辑蕴涵XY,说明XY是多余的函数依赖, 所以F=G;如果X+不包含Y,则保留XY。
第2讲 函数依赖的公理体系
授课人: 李朔 Email:chn.nj.ls@gmail.com
2013-4-2 南晓数信学院 1
主要内容
阿姆斯特朗公理及推论
X关于F的闭包及其计算




最小函数依赖集
候选键的求解方法
2013-4-2
南晓数信学院
2
一、阿姆斯特朗公理及推论 问题引入:
F=X→Y F+ 侯选键 X→Y在R 中是否成立
2013-4-2
南晓数信学院
28
四、候选键的求解方法 2、快速求解候选键的一个充分条件
(1)若X是L类属性,则X必为R的某一候选键的成员; (2)若X是L类属性,且X+包含了R的全部属性,则X必 为R的唯一候选键; (3)若X是R类属性,则X不是任一候选键的成员; (4)若X是N类属性,则X必包含在R的某一候选键中;
作用:任一函数依赖集都可转化成由右端只 有单一属性的依赖组成的集合。
该结论是最小函数依赖集的基础。
2013-4-2
南晓数信学院
18
2、最小函数依赖集 满足下列条件的函数依赖集F称为最小函数依 赖集。 F没有多余的FD ① F中每一个FD的右端都是单个属性;
② 对F中任何FD:XA,F-{XA}不等价于F;
南晓数信学院 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
(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的 唯一候选键,转⑧;
求出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+的计算(续)
(4)否则,X(i+1)=X(i)Z,并转(2)。(传递律)
(5)停止计算,输出X(i),即为X+。
2013-4-2 南晓数信学院 13
4、举例
例5.4 已知R(U),U={A,B,C,D,E,G}, R上的FD集
F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,
CG→BD,CE→AG}, X=BD,求X+,BD→A是否成立?
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,
南晓数信学院 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
2013-4-2 南晓数信学院 23
3、举例(续一)
例5.5:求函数依赖集F的最小函数依赖集
(步骤二:去掉F中冗余的函数依赖 ) ABC,CA,BCD,ACDB, ①F1= DE,DG,BEC,CGB , CGD,CEA,CEG ABC,CA,BCD,ACDB, DE , DG , BEC , CGD , CEA,CEG
③ 在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中的属性按⑥的组合依次取完 为止; ⑧ 输出候选键,算法结束。
相关文档
最新文档