Re: dbdebunk 'Quote of Week' comment

From: x <x_at_not-exists.org>
Date: Mon, 22 Aug 2005 10:14:24 +0300
Message-ID: <debu0j$rj8$1_at_domitilla.aioe.org>


The quote does not mention if the key is generated by the DBMS or by the application.
It only say that it has no meaning for the end user.

This means that there must be a one to one mapping between the generated key and some key with a meaning for the end user. Therefore that meaningless primary key is a pointer. But one of the goals of the relational model is to eliminate pointers from the data model.

Other goal is to give the end user direct access to data.

"Mike Meng" <meng.yan_at_gmail.com> wrote in message news:1124349957.125386.120320_at_g49g2000cwa.googlegroups.com...
> Hi all,
> I'm enjoying reading C. J. Date's new book "Database in Depth", in
> which I know the www.dbdebunk.com website. I visited the site just now,
> and find the following statement in its "QUOTE OF THE WEEK" section:
>
> ** QUOTE **
> Don't use primary keys that have meaning for the end user, such as
> invoice number or the ISBN value.
>
> --Giuseppe DiMauro & Francesco Balena, PRACTICAL GUIDELINES AND BEST
> PRACTICES FOR MICROSOFT VISUAL BASIC AND VISUAL C# DEVELOPERS
> ** QUOTE **
>
> It seems that they quote this idea to point out how wrong it is. But
> I myself always regard this idea as a good practice in database design!
> Am I right? If not, what's wrong with it? Please comment.
>
Received on Mon Aug 22 2005 - 09:14:24 CEST

Original text of this message