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:
“The true rule, in determining to embrace, or reject any thing, is not whether it have any evil in it; but whether it have more of evil, than of good. There are few things wholly evil, or wholly good.”
—Abraham Lincoln (18091865)
“If we should swap a good library for a second-rate stump speech and not ask for boot, it would be thoroughly in tune with our hearts. For deep within each of us lies politics. It is our football, baseball, and tennis rolled into one. We enjoy it; we will hitch up and drive for miles in order to hear and applaud the vitriolic phrases of a candidate we have already reckoned well vote against.”
—Federal Writers Project Of The Wor, U.S. public relief program (1935-1943)
“Bless all useful objects,
the spoons made of bone,
the mattress I cook my dreams upon,
the typewriter that is my church
with an altar of keys always waiting.”
—Anne Sexton (19281974)