chp6_函数依赖的闭包举例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数依赖的闭包

定义:若F为关系模式R(U)的函数依赖集,

我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+。即:

F+={X→Y|X→Y∈F∨“应用Armstong公理从F中导出的任何

X→Y”}

△ F包含于F+,如果F=F+,则F为函数依赖的一个完备集。

△规定:若X为U的子集,X→Φ属于F+。

计算X+ 算法:

a.初始化,令X+ = X;

b.在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+,则令 X+= X+∪“右边属性集”, 并为访问过的函数依赖设置标记。

c.反复执行b直到X+不改变为止。

例4.3.3:已知关系模式R中

U={A,B,C,D, E, G},

F={AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG},

判断BD→AC是否属于F+

解:由D→EG知D→E,BD→BE… ①

又知BE→C,C→A 所以BE→A, BE→AC … ②

由①、②知,BD→AC,所以BD→AC被F所蕴涵,即BD→AC属于F+

例4.3.4:已知关系模式R中

U={A,B,C,E,H,P,G},

F={AC→PE, PG→A, B→CE, A→P, GA→B, GC→A, PAB→G, AE→GB, ABCP→H},

证明BG→HE属于F+

证:由B→CE知B→C,B→E, BG→GC… ①

又知GC→A,A→P 所以BG→A, BG→ABCP … ②

又ABCP→H,由①、②知BG→HE,所以BG→HE被F所蕴涵,

即BG→HE属于F+

属性集闭包

例4.3.5:设R=ABC, F={A→B, B→C},分别求A,B,C的闭包。

解:A+=ABC

B+=BC

C+=C

例4.3.6:已知关系模式R中

U={A,B,C,D, E, G},

F={AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG},

求(BD)+,判断BD→AC是否属于F+

解:(BD)+=BDEGCA

结论:(BD)+=ABCDEG,BD→AC可由F导出,即BD→AC属于F+

(推导:由于D→EG,则B D→BEG, 分解得B D→BE,又因为BE→C,则 BD→C,又因C→A,则BD→A,故BD→A C)

例4.3.7:已知关系模式R中

U={A,B,C,E, H, P, G},

F={AC→PE, PG→A, B→CE, A→P, GA→B,

GC→A, PAB→G, AE→GB, ABCP→H},

证明BG→HE属于F+

证:因为,(BG)+ =BGCEAPH,

所以BG→HE可由F导出,即BG→HE属于F+

(推导:由于B→CE,则分解得B→C, 增广得B G→GC,又因为GC→A,则 BG→A,又因A→P,则BG→P,故BG→ABCP→H… ①,

由于已知B→CE分解得B→E,故BG→E … ②,

由①②得BG→HE)

4、结论

判定函数依赖X→Y是否能由F导出的问题,

可转化为求X+并判定Y是否是X+子集的问题。

即求F闭包的问题可转化为求属性集闭包的问题。

相关文档
最新文档