The Free On-line Dictionary of Computing (30 December 2018):
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
Some RDBMSes 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.