Determining Candidate Keys
The previous example only illustrates the definition of a candidate key and not how these are determined in practice. It is important to determine all superkeys, which is especially difficult if the relation represents a set of relationships rather than a set of entities. Therefore it is often useful to attempt to find any "forgotten" superkeys by also determining the functional dependencies. We can derive more superkeys by applying the following rule:
- if S is a superkey and X→Y a functional dependency
- then (S ∖ {Y}) ∪ {X} is also a superkey, where '\' is the set difference.
Consider for example the relation
- Marriage (Husband, Wife, Date)
for which it will trivially hold that
- {Husband, Wife, Date}
is a superkey. If we assume that a certain person can marry at most once on a given date then this implies the functional dependencies:
- {Husband, Date} → Wife
- {Wife, Date} → Husband
In this case, applying the above rule leads to the derivation of the superkeys {Husband, Date} and {Wife, Date} respectively.
Read more about this topic: Candidate Key
Famous quotes containing the words determining, candidate and/or keys:
“A quality is something capable of being completely embodied. A law never can be embodied in its character as a law except by determining a habit. A quality is how something may or might have been. A law is how an endless future must continue to be.”
—Charles Sanders Peirce (18391914)
“The Republicans have a me too candidate running on a yes but platform, advised by a has been staff.”
—Adlai Stevenson (19001965)
“McCoy: That sharks been following us ever since the surgeon died, waiting for the burial. Couldnt I have a musket to shoot it, sir?
Fletcher Christian: Take the deck, McCoy. Ill get the keys to the arms chest.
McCoy: Get two muskets, sir. Id like to shoot that shark on board.”
—Talbot Jennings (18961985)