Re: dbdebunk 'Quote of Week' comment
Date: Fri, 26 Aug 2005 21:43:24 GMT
Message-ID: <02MPe.2727$FW1.744_at_newsread3.news.atl.earthlink.net>
"Marshall Spight" <marshall.spight_at_gmail.com> wrote in message
news:1125074070.799079.80320_at_z14g2000cwz.googlegroups.com...
> x wrote:
> >
> > 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.
>
> I'm not sure I share this point of view. I propose that
> every pointer is meaningless; every key is meaningful,
> whether system generated or not. The meaning is exactly
> that it is the identity of the row. A randomly-generated
> customer id still means something.
>
I'm not sure I share YOUR point of view, either. I would suggest that the
key is not the identity of the row, but the identity
of the entity described in the row. If we were to delete the row, and then
insert another row with a different key, who is to say that the system
didn't reuse the unused row?
> Another difference between keys and pointers is that
> keys are content-addressible, while pointers are
> location-addressible.
And the important thing, as far as I'm concerned, is that rows are
"unpinned" in the RM.
In practice, this is only partly true. If the DBMS alters either the
content or the location of a row, it may have to do some index maintenance
to reflect that change. But at least a row is unpinned except for the pins
in the index.
Received on Fri Aug 26 2005 - 23:43:24 CEST