Re: Trying to define Surrogates
Date: 17 Aug 2006 08:36:58 -0700
Message-ID: <1155829018.817708.300210_at_p79g2000cwp.googlegroups.com>
JOG wrote:
> My name is an identifier for me.
> My fingerprint is an identifier for me.
>
> Say we don't have the ability to digitise the photos we have of
> fingerprints. Then we produce:
>
> 532673294 is a identifier for my fingerprint, which is a identifier for
> me.
>
> The 2nd level of indirection in the last line indicates use of a
> representative for an attribute that existed naturally before the
> design of the database. It is not that it is just wasn't 'familiar', it
> didn't exist at all - we have made the domain up specifically to
> facilitate the information modelling process. We have not just modelled
> the propositions we have added to them.
>
> That for me is the distinction made when I see the word surrogate in
> context of databases.
I think this is a fairly specific case where the natural key isn't easily manipulated, but it's a bit of a hack, and a fairly specific case. I think the more common use of a surrogate key is where no natural key exists - to separate cans of Campbell's chicken noodle soup, you need to give them an artificial label. This label sometimes makes it into the real world as well.
- erk