33

Are there any differences among a Surrogate Key, Synthetic Key, and an Artificial Key?

I'm not clear on the exact difference.

Robert Columbia
  • 6,313
  • 15
  • 32
  • 40
Harshad
  • 713
  • 1
  • 7
  • 8

1 Answers1

46

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.

APC
  • 144,005
  • 19
  • 170
  • 281
  • Can we say identity is a surrogate key also ? because its not related to bussnisse – Moudiz Nov 08 '18 at 07:52
  • 2
    @Moudiz - IDENTITY (introduced to Oracle in 12c) is a mechanism for generating surrogate keys. GUID is an other. Sequences are a third. – APC Nov 08 '18 at 07:55