Re: Smart Database Tricks

From: David Cressey <>
Date: Fri, 22 Jun 2007 10:44:36 GMT
Message-ID: <oKNei.12603$M%4.2586_at_trndny08>

"Jan Hidders" <> wrote in message

> You misunderstand. There is nothing wrong with VIN if it is a natural
> concept that was already present in your Universe of Discourse. What I
> object to is the artificial addition of such concepts if they are not
> already present. The problem with your definitions is that they are
> not precise enough to say whether they are or not.

The problem here is with the word "natural". The VIN is artificial in the sense that it is man made. It's connection to the vehicle it identifies is a matter of convention rather than observation. To be sure, little tags showing the VIN are attached to the vehicle, but this is mere labelling, I think you'll agree.

Nevertheless, I have to agree that it is present in our Universe of Discourse, and that functionally, it identifies a vehicle. So we can treat it as if it were "natural" with no consequence.

The problem arises when the Universe of Discourse contains an entity whose identity is marked by an informal mechanism that is subject to error. For example, if we had a small college where students are identified by first name and last name, "because numbers are too impersonal", we would still be faced with identifying students in the database. The humans who are responsible for the Universe of Discourse as presented to us adopt workarounds for the defects in their identification scheme. They summarize these workarounds as "applying human intelligence". This does not lend itself to sane database design.

So, sometimes, we are forced to extend the U of D so as to formalize it, prior to mapping the U of D onto database design. Whether we call these extensions to the U of D "surrogate keys" or not is moot. Received on Fri Jun 22 2007 - 12:44:36 CEST

Original text of this message