Re: Trying to define Surrogates

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 17 Aug 2006 17:41:21 GMT
Message-ID: <5T1Fg.50742$pu3.588779_at_ursa-nb00s0.nbnet.nb.ca>


JOG wrote:

> Bob Badour wrote:
>

>>JOG wrote:
>>
>>>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.
>>
>>We do that every time we create a candidate key. It isn't familiar until
>>it is used, and then it is.

>
> Ok, if you are using the term 'familiar' to correspond to 'did not
> previously exist prior to the data modelling process' then we agree.
> Nonetheless I find that use of the term 'familiar' extremely woolly,
> and think it is likely to cause confusion.

It is woolly, which is why I think the concept of a natural key is not altogether useful. The objections to natural keys relate to control. If you create and control the key, it doesn't matter to you how familiar the key is to others.

> I also still contend that the need to create such a surrogate only
> occurs if we can't encode a natural attribute directly, or if the
> distinguishing attribute is an extremely unstable one, such as
> location. Anything else appears sloppiness on the designers part to me.

A surrogate for location is not really all that useful unless one takes the additional step of making location unimportant. In other words, if the only distinguishing feature is location, assigning an arbitrary number won't change that fact unless one also records the number on the physical item. Received on Thu Aug 17 2006 - 19:41:21 CEST

Original text of this message