Canonical Cover
   HOME

TheInfoList



OR:

A canonical cover F_c for F (a set of
functional dependencies In relational database theory, a functional dependency is a constraint between two sets of attributes in a relation from a database. In other words, a functional dependency is a constraint between two attributes in a relation. Given a relation ' ...
on a relation scheme) is a set of dependencies such that F logically implies all dependencies in F_c, and F_c logically implies all dependencies in F. The
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
F_c has two important properties: # No functional dependency in F_c contains an extraneous attribute. # Each left side of a functional dependency in F_c is unique. That is, there are no two dependencies a \to b and c \to d in F_c such that a = c. A canonical cover is not unique for a given set of functional dependencies, therefore one set F can have multiple covers F_c.


Algorithm for computing a canonical cover

# F_c = F # Repeat: ## Use the union rule to replace any dependencies in F_c of the form a \to b and a \to d with a \to bd .. ## Find a functional dependency in F_c with an extraneous attribute and delete it from F_c # ... until F_c does not change


References

{{reflist Database theory Mathematical concepts Database algorithms