In the relational model of databases, a candidate key of a relation is a minimal superkey for that relation; that is, a set of attributes such that
- the relation does not have two distinct tuples (i.e. rows or records in common database language) with the same values for these attributes (which means that the set of attributes is a superkey)
- there is no proper subset of these attributes for which (1) holds (which means that the set is minimal).
The constituent attributes are called prime attributes. Conversely, an attribute that does not occur in ANY candidate key is called a non-prime attribute.
Since a relation contains no duplicate tuples, the set of all its attributes is a superkey if NULL values are not used. It follows that every relation will have at least one candidate key.
The candidate keys of a relation tell us all the possible ways we can identify its tuples. As such they are an important concept for the design of database schema.
Read more about Candidate Key: Example, Determining Candidate Keys
Famous quotes containing the words candidate and/or key:
“We have fought too much rhetoric and red tape to be lulled and comforted by a paid political advertisement showing a candidate tossing his grandchild in the air while a disembodied voice espouses family values in the background.”
—Bernice Weissbourd (20th century)
“There are two kinds of timiditytimidity of mind, and timidity of the nerves; physical timidity, and moral timidity. Each is independent of the other. The body may be frightened and quake while the mind remains calm and bold, and vice versë. This is the key to many eccentricities of conduct. When both kinds meet in the same man he will be good for nothing all his life.”
—Honoré De Balzac (17991850)