(1) 求等价极小函数依赖集F ’
步骤:
① 用分解的法则,使F中的任何一个函数依赖的右部仅含有一个属性;
② 去掉多余的函数依赖:从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包X+,看X+是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。直到找不到冗余的函数依赖;
③去掉各依赖左部多余的属性。一个一个地检查函数依赖左部非单个属性的依赖。例如XY→A,若要判Y为多余的,则以X→A代替XY→A是否等价?若A属于(X)+,则Y是多余属性,可以去掉。
解:
(1)判断右边是否最简,得F={B->D,DG->C,BD->E,AG->B,ADG->B,ADG->C}
(2)
①假设B->D冗余,则去掉B->D,得:G={DG->C,BD->E,AG->B,ADG->B,ADG->C}
B+ =B 不包含D,所以不冗余,不能去掉。
②假设DG->C冗余,则去掉DG->C,得:G={B->D,BD->E,AG->B,ADG->B,ADG->C}
(DG)+ =DG不包含C,所以不冗余,不能去掉。
③假设BD->E冗余,则去掉BD->E,得:G={B->D,DG->C,AG->B,ADG->B,ADG->C}
(BD)+