Canonical cover

for F (a set of functional dependencies on a relation scheme) is a set of dependencies such that F logically implies all dependencies in

logically implies all dependencies in F. The set

has two important properties: A canonical cover is not unique for a given set of functional dependencies, therefore one set F can have multiple covers

In the following example, Fc is the canonical cover of F. Given the following, we can find the canonical cover: R = (A, B, C, G, H, I), F = {A→BC, B→C, A→B, AB→C} Fc =  {A → B, B →C} An attribute is extraneous in a functional dependency if its removal from that functional dependency does not alter the closure of any attributes.

[2] Given a set of functional dependencies

and a functional dependency

and any of the functional dependencies in

{\displaystyle (F-(A\rightarrow B)\cup {(A-a)\rightarrow B})}

using Armstrong's Axioms.

[2] Using an alternate method, given the set of functional dependencies

, and a functional dependency X → A in

, attribute Y is extraneous in X if

[3] For example: Given a set of functional dependencies

and a functional dependency

{\displaystyle (F-(A\rightarrow B)\cup \{A\rightarrow (B-a)\})}

using Armstrong's axioms.

[3] A dependent attribute of a functional dependency is extraneous if we can remove it without changing the closure of the set of determinant attributes in that functional dependency.