考虑集合F是一组函数依赖,并且关系中有函数依赖α -> β。
检验无关属性: A. 检验左端属性A∈α是否是无关的 1. 用函数依赖集F计算 ( a − A ) + ({a} - A)^+ (a−A)+ 2.检验 ( a − A ) + ({a} - A)^+ (a−A)+是否包含β,如果包含则A是α的无关属性
B.检验右端属性B∈β是否是无关的 1.用F’ = (F - {α -> β}) ∪ {α -> (β - B)}计算 α + α^+ α+ 2.检验 α + α^+ α+是否包含B,如果包含则B是β的无关属性
依次检验,直到函数依赖左右端都不含有无关属性
最小覆盖算法: repeat: 1.在F中将函数左端相同的进行合并 eg.α -> a, α -> b合并为α->ab 2.检查任一一个函数依赖x->y左端和右端是否存在有无关属性 3.如果有则将无关属性删除 until: F不再发生变化