from
The Free On-line Dictionary of Computing (8 July 2008)
primary key
<database> A unique {identifier}, often an {integer}, that
labels a certain row in a table of a {relational database}.
When this value occurs in other tables as a reference to a
particular row in the first table it is called a "foreign
key".
Some {RDBMS}es can generate a new unique identifier each time
a new row is inserted, others merely allow a column to be
constrained to contain unique values.
A table may have multiple {candidate keys}, from which the
primary key is chosen. The primary key should be an arbitrary
value, such as an {autoincrementing} integer. This avoids
dependence on uniqueness, permanence and format of existing
columns with real-world meaning (e.g. a person's name) or
other external identifier (e.g. social security number).
There should be enough possible primary key values to cater
for the current and expected number of rows, bearing in mind
that a wider column will generally be slower to process.
(2006-05-29)