Trying to define Surrogates
Date: 17 Aug 2006 05:07:34 -0700
Message-ID: <1155816454.530202.22600_at_p79g2000cwp.googlegroups.com>
[apologies for the cross posting].
Bob Badour wrote:
Ok, I've had time to digest this now, and I have to say that I /do/
believe the distinction can be important, and I think your
interpretation is slightly awry. Let me explain:
Bob Badour wrote:
> 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.
> My SSN is not me. It is an arbitrary identifier chosen by the IRS to
> identify tax filings related to my income. It is familiar because I was
> given a little blue card with it inscribed, and I was instructed to
> transcribe it to a variety of documents.
Again an SSN is a label applied to you just in a different context, and
not a substitute for you. Same for the other examples supplied.
> I am not suitably represented for machine processing.
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.
Hence we 'subsitute' that key with a different artificial key we have generated, to act as its representative. That is what surrogacy is.
The blur comes in that this is only really useful at design time, because as soon as the attribute is used externally, it becomes a new natural key. Hence I agree that after the fact the distinction is not useful, but a priori it is important to /understand/ exactly what's going on as it eliminates any foolhardy temptation to try and hide such attributes and violate the information principle. Received on Thu Aug 17 2006 - 14:07:34 CEST