A key, by definition, is an attribute or set of attributes which can
uniquely identify an entity in the conceptual model. In the corresponding
logical representation, a column or set of columns which can uniquely
identify a row in a table is termed as a key. In practice, an entity may
have many such candidates for key (hence called candidate key), however for
practical purposes one out of those candidate keys has to be considered
primal (hence called primary key).
One of the desirable characteristic of a primary key is minimality or
irreducibility, which means only the columns that are necessary for
uniqueness should be included as key columns. However in certain scenarios,
one may find a need for non-minimal keys by virtue of its redundancy. Such
keys, which are compound, with more columns than necessary for uniqueness
are generally called superkeys.
--
Anith