Re: Trying to define Surrogates

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 17 Aug 2006 23:23:18 GMT
Message-ID: <GT6Fg.50869$pu3.592745_at_ursa-nb00s0.nbnet.nb.ca>


J M Davitt wrote:

> Bob Badour wrote:
>

>> erk wrote:
>>
>>> JOG wrote:
>>>

>
> [snip]
>
>>> Either way, the key would be not an identifier for the print, but
>>> derived directly from the print domain. That's different than a
>>> surrogate key as normally defined.
>>
>>
>>
>> It would, in fact, qualify as an 'intelligent key' with all the term 
>> implies.

>
>
> I saw the term /intelligent key/ used earlier in this
> thread and I want to make sure I understand what's meant.
>
> As I've heard the term used, /intelligent keys/ are built
> up from values that have some sort of recognizable meaning -
> like a sequence of invoice numbers that start with a year.
> They're called intelligent because some sort of information
> is coded into the value.
>
> Is that what you mean?

Yes. Often the value depends on other values in the tuple. For instance, one can derive the surname, sex and birthdate of an Ontario drivers license holder from the drivers license number. This has obvious benefits to police officers who might be presented with an altered or stolen drivers license.

'Intelligent keys' tend to be familiar but not particularly simple or stable. The arguments against 'intelligent keys' have more merit as they tend to start with all of the problems associated with compound keys and unstable keys.

However, I note that the province of Ontario seems to think the benefits of familiarity outweigh any of the drawbacks. Of course, internally, the province must use some other identifier for locating driving transcripts. Otherwise, the common practice of assuming one's spouse's surname would allow newlyweds to escape their past driving records. Received on Fri Aug 18 2006 - 01:23:18 CEST

Original text of this message