您好,欢迎访问三七文档
关系模式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}
本文标题:求最小函数依赖集
链接地址:https://www.777doc.com/doc-2279340 .html