Is there a difference between Surrogate key, Synthetic Key, and Artificial Key? Is there a difference between Surrogate key, Synthetic Key, and Artificial Key? oracle oracle

Is there a difference between Surrogate key, Synthetic Key, and Artificial Key?


Surrogate key, synthetic key and artificial key are synonyms. Technical key is another one. They all mean "primary key which doesn't have a business meaning". They are distinct from natural or business keys which have a meaning beyond the system at hand.

For instance, consider the SO user account. We are identified by two keys. The natural key is the identifier we use to login in to this site, such as our OpenID name. But because these things are long unwieldy strings (and because SO allows us a choice of different login options) the database identifies us by a User ID which is a generated number. That UserID is a synthetic/surrogate/artifical key.