求最小函数依赖集

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

关系模式R(U,F)中,U=ABCDEG,F={B->D,DG->C,BD->E,AG->B,ADG->BC} 求F的最小函数依赖集

方法如下:

1.根据分解规则,将函数依赖的右端分解成单个属性

该题目的话要将:BC分解成单个属性。

F={ADG->B,ADG->C,······}

2.对于F中的每个函数X->A,设G=F-{X->A},如果A属于X的闭包,则将X->A从中删除,否则保留。

该题目:

1)G=F-{B->D},则B的闭包={B},包不含D,则保留

2)G=F-{DG->C},则DG的闭包={DG},不包含C,则保留

3)G=F-{BD->E},则BD的闭包={BD},不包含E,则保留

4)G=F-{AG->B},则AG的闭包={AG},不包含B,则保留

5)G=F-{ADG->B},则ADG的闭包={ADGBCE},包含B,则删除

6)G=F-{ADG->C},则ADG的闭包={ADGBCE},包含C,则删除

F={B->D,DG->C,BD->E,AG->B}

R(U, F),U=ABCDEF, F={AD→E, AC→E, BC→F, BCD→AF, BD→A, AB→F, A→C}求最小函数依赖集

答案是:

分解右部为属性组的函数依赖,得

F={AD→E,AC→E,BC→F,BCD→A,BCD→F,BD→A,AB→F,A→C}

对于AD→E,∵(AD)的闭包=ADCE, 又∵E不属于ACDE

∴AD→E 冗余

对于AC→E,∵(AC)的闭包=AC,又∵E不属于AC,∴AC→E不冗余

对于BC→F,∵(BC)的闭包=BC,又∵F不属于BC,∴BC→F 不冗余对于BCD→A,∵(BCD)的闭包=ABCDEF,又∵A不属于ABCDEF ∴BCD→A 冗余

对于BCD→F,∵(BCD)的闭包=ABCDEF,又∵F不属于ABCDEF ∴BCD→F 冗余

对于BD→A,∵(BD)的闭包=BD,又∵A不属于BD,∴BD→A 不冗余对于AB→F,∵(AB)的闭包=ABCDEF,又∵F属于ABCDEF ∵AB→F 冗余

对于A→C,∵A的闭包=A,又∵C不属于A,∴A→C 不冗余

∴F的最小函数依赖集为{AC→E,BC→F,BD→A,A→C}

相关文档
最新文档