Re: Surrogate Key
From: Anith Sen (anith_at_bizdatasolutions.com)
Date: 01/06/05
- Next message: Bob Barrows [MVP]: "Re: Latest Record (again)"
- Previous message: paulhk88: "Crosstab query"
- In reply to: Amish Manubhai Shah: "Surrogate Key"
- Next in thread: Tony Rogerson: "Re: Surrogate Key"
- Reply: Tony Rogerson: "Re: Surrogate Key"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 6 Jan 2005 09:32:34 -0600
Surrogate key is an unfamiliar attribute, assigned to an entity for the sole
purpose of identification. The assignment can be done either by the user or
by the system. The primary benefits of a surrogate key are simplicity and
stability. Being applicable at the logical level, surrogate keys have
nothing by themselves associated with performance, contrary to popular
perception.
The concept of surrogates is first introduced in 74 by Hall & Owlett, later
incorporated to relational model as a "semantic" extension by Codd. However,
later studies on the subject have suggested that there is nothing special to
surrogates other than being an stable and simple, though generally
unfamiliar. In that sense, one might consider a natural key as nothing but a
familiar surrogate.
Many database products offer key generation facilities, some conforming to
relational requirements and some not. Either way, once generated and
assigned as an entity identifier in a row, its logical behavior is no
different from any other identifiers. For this reason, not much importance
has been given to notion of surrogates in formal database studies. Also,
standard bodies like ISO, have never deemed surrogates to be worthy of a
formal definition, due to its negligible distinction from other identifiers.
Some articles & discussions on this topic, esp. on product specific forums
generally emphasize on the benefits or drawbacks of using a surrogate key.
It is often done with a skewed example or two that suit the author's whims
where he/she may guide the reader into believing somehow surrogates are
"good" or "bad". In many cases the author might miss or deliberately ignore
certain basic concepts to put forth his/her point of view.
A good way of weeding out the chaff from good stuff is to learn the
foundations behind a key and identify the characteristics of a good key.
Thus you can decide on your own whether using an additional identifier is
worthy an effort in your specific design scenario or not.
-- Anith
- Next message: Bob Barrows [MVP]: "Re: Latest Record (again)"
- Previous message: paulhk88: "Crosstab query"
- In reply to: Amish Manubhai Shah: "Surrogate Key"
- Next in thread: Tony Rogerson: "Re: Surrogate Key"
- Reply: Tony Rogerson: "Re: Surrogate Key"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|