Re: Surrogate Keys: an Implementation Issue

From: Brian Selzer <>
Date: Sat, 29 Jul 2006 07:19:50 GMT
Message-ID: <q_Dyg.137539$>

"Marshall" <> wrote in message
> Brian Selzer wrote:
>> I used this example to make a valid point. I could have written a
>> 20-page
>> long dissertation describing one of the many instances where I've
>> encountered these problems in practice, but I assumed that using a simple
>> example would illustrate them more effectively.
> Based on the response, it appears you assumed incorrectly.
> I also note the existence of previous times when you've attempted
> to illustrate points with excessively simplistic examples, and it
> not working then either. In fact if I recall correctly it was the
> same point with the same examples.
> In the real world, of course, using firstname, lastname as a key
> is a really bad choice.

Of course it is. But that's irrelevant. The point is that a key value that identifies an entity representation in one database state does not necessarily identitfy the representation of the same entity in a subsequent state. It's been my experience that if a key can change, it will. For example, if the Democrats have their way, then those millions of illegals will suddenly get valid social security numbers. This means that their natural key will change, and the systems that assume that they won't will fail. In addition, the systems that assume that the problems I've described won't occur will also fail due to the high volume of natural key changes. So, if you work in an IT department or in an accounting or payroll software company, then you definitely don't want any amnesty; if you're a consultant, well, cha-ching!

> ... I would expect that if you have a valid
> point to make, it ought to be possible to make it with examples
> that do not involve what would be really bad choices in everyday
> practice. It also ought to be possible to do so in less than
> 20 pages. Note that I did not say "easy."

I thought that my illustrations of the problems were pretty clear. I would think that an intelligent person could hold their nose and examine the problems objectively, rather than gag on the poor key choice. I did point out that I contrived the examples for brevity.

I don't have time this weekend to put together something that doesn't use firstname, lastname. I have to work, but maybe I'll get to it next week.

> Marshall
Received on Sat Jul 29 2006 - 09:19:50 CEST

Original text of this message