Re: Trying to define Surrogates
Date: 17 Aug 2006 07:11:52 -0700
Message-ID: <1155823912.750471.140200_at_m73g2000cwd.googlegroups.com>
JOG wrote:
> Bob Badour wrote:
> > It is a surrogate for whatever a surrogate key is for. Think of any
> > natural key. How is it not a surrogate?
>
> o.k., a surrogate is a subsitute for something. That's agreed.
>
> > My name is not me. It is an arbitrary identifier chosen by my parents.
> > It is familiar because I was conditioned from an early age to respond to it.
>
> I /strongly/ contest that your name is a surrogate. Your name is a
> 'label' applied to you, it is not a 'substitute' for you.
That's true of any key at all - none of them are surrogates for the proposition. As keys, they're labels or references. A surrogate key may be a surrogate for another key, although I have some problems with that (I'll articulate them later).
> I know it is
> a subtle distinction but it is important. (n.b. these are not really my
> deductions but a regurgitation of the writings of William Kent, highly
> rated by perople such as Date.)
I'm in the process of reading a paper by Kent, and am looking forward to his book (Data and Reality). I've heard great things about it and him.
> However, there are some identifiers that we do not have suitably
> formatted labels for. Attributes that are currently not easy to enter
> into a proposition. Fingerprints for example. Some attributes might not
> be easily recordable even though we know they exist. These are
> attributes not suitable for machine processing.
Maybe. But the existence of such a natural key isn't the only reason for creating a surrogate key.
> Hence we 'subsitute' that key with a different artificial key we have
> generated, to act as its representative. That is what surrogacy is.
Surrogate keys aren't solely for the purpose of replacing another key; in that sense, the word "surrogate" was badly chosen (or has been badly generalized).
- erk