初学者笔记,有错误请指出!
求最小函数依赖/最小覆盖Fm的方法之一:
1、把右部分化为单属性
2、去掉左部分的冗余属性
例如XY→A,假设Y是多余的,看A是否属于(X)+,若是,则Y是多余属性,可以去掉。
3、去掉冗余的函数依赖
从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包,看(X)+是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。
最小覆盖不唯一,求解步骤顺序不同,得出的结果也许会不同。
求正则覆盖Fc的方法:
求解出F的最小函数依赖后,只要加上一步:合并函数依赖,即可。
例如假设得到的最小函数依赖中有A→B,A→C,将其合并为A→BC。
由此可知,最小覆盖中函数依赖的右端必然只有一个属性,但是正则覆盖则未必,这是它们的区别。
同样的,正则覆盖不唯一。