资源描述:
《求最小函数依赖集.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系模式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
2、,则保留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,
3、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,∴B
4、D→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}