surrogate key definition database
A unique primary key
generated by the RDBMS
that is not derived from any data in the database and whose only significance is to act as the primary key.
A surrogate key is frequently a sequential number (e.g. a Sybase "identity column") but doesn't have to be. Having the key independent of all other columns insulates the database relationships from changes in data values or database design and guarantees uniqueness.
Some database designers use surrogate keys religiously regardless of the suitability of other candidate keys. However, if a good key already exists, the addition of a surrogate key will merely slow down access, particularly if it is indexed.
Compare: intelligent key