Are there any differences among a Surrogate Key, Synthetic Key, and an Artificial Key?
I'm not clear on the exact difference.
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.