Canonical cover

A 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 , and logically implies all dependencies in F.

The set has two important properties:

  1. No functional dependency in contains an extraneous attribute.
  2. Each left side of a functional dependency in is unique. That is, there are no two dependencies and in such that .

A canonical cover is not unique for a given set of functional dependencies, therefore one set F can have multiple covers .

Algorithm for computing a canonical cover [1]

  1. Repeat:
    1. Use the union rule to replace any dependencies in of the form and with ..
    2. Find a functional dependency in with an extraneous attribute and delete it from
  2. ... until does not change
gollark: 1. buy ESP322. load HTTP server code onto it3. configure WiFi4. you are done
gollark: Of course.
gollark: They generally run at about 10% utilization at most doing things like overly extensive self-monitoring, whatever Gitea does, and encoding outbound OIR™ audio streams.
gollark: As such, you can reduce your costs by using the osmarks.net servers, which can idle constantly while serving multiple websites at once.
gollark: Anyway, for, let us be honestly honest, something which is probably not a high-traffic website, you don't need a full server which will just idle constantly.

References

  1. Database system concepts by Abraham Silberschatz et al
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.