[AccessD] OT: The Great Primary Debate

Jim Dettman jimdettman at earthlink.net
Tue Jun 15 07:26:36 CDT 2004


Francis,

  Yes, you have a handle on it.  I don't agree 100% that the autonumber
would become a natural key in the sense that you describe (as I mentioned
earlier, there are a lot of gray areas in terms of what "is" is<g>), but for
the sake of argument, let's assume it does.

  Given that, I would doubt you could so casually discard it once again as
information would then exist that uses that number.  So now it is no longer
meaningless and cannot be changed arbitrarily.

  But Autonumbers in the typical sense are not used in that way.  They are
used as tags or pointers, or in other words surrogate keys.  They can be
changed at anytime without affecting anything.  I say "typical" in that we
have no control over them.  I'm not saying that they can't be used the way
you describe, but one would normally want to retain control over an
attribute.  For example, in what you outlined, I certainly would not want
gaps in a sequence, as I would derive information value from the numbers
assigned. So I would still stand by the statement that an autonumber cannot
be a natural key.

<<Fun, but hardly the significant difference you have made it out
to be.>>

  There is a significant difference.  The point is that when discussing keys
one needs to be aware of the different view points that exist between
relational theory and computer systems.  The term "key" means very different
things.


  That will be it for me for a bit.  Work has really heated up the past day
or two.  Have a client in Phoenix that's been giving me fits.  Makes for a
long day with a 3 hour time difference<g>.

Jim
jimdettman at earthlink.net

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Francis Harvey
Sent: Monday, June 14, 2004 6:21 PM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] OT: The Great Primary Debate


Jim,

I would say you have missed the point. Nobody is disputing
that there is a difference between surrogate and natural keys.
The problem is with your characterization of the difference.

By definition, a natural key is going to be in the data being
modeled. A surrogate key won't. Okay.

Now, take your objection to the autonumber as a natural key.
Leave it as an arbitrary number being assigned to houses by the
database as in your example. Now have the realtor tell people
that for faster service when interacting with the database via
phone, they should use the database number she is providing. I
have just moved the autonumber into the data that has to be
modeled and made it an attribute without changing anything else.
It just so happens that this attribute is assigned by a database.
Now I have my autonumber natural key.

Now, imagine they drop automated phone support and tell homeowners
to forget the number. I just moved it out of the data model again.
Now I am back to just having an autonumber surrogate key.

Fun, but hardly the significant difference you have made it out
to be.

Francis R Harvey III
WB 303, (301)294-3952
harveyf1 at westat.com


> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman
> Sent: Monday, June 14, 2004 3:59 PM
> To: Access Developers discussion and problem solving
> Subject: RE: [AccessD] OT: The Great Primary Debate
>
>
> Scott,
>
> <<What exactly is the point?>>
>
>   That there is a difference between a surrogate key
> (something like an
> autonumber) and a natural key.  An autonumber cannot be a
> natural key by
> definition since it is meaningless.  Look back at the
> response I gave to
> Lambert with the house number example.
>
> <<We are getting close to what someone else said(I think
> Gustav). The only
> natural key for an object, is the object.>>
>
>   It was Lambert and it was in regards to talking about the
> attributes of a
> person.
>
> Jim
> (315) 699-3443
> jimdettman at earthlink.net
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Scott Marcus
> Sent: Monday, June 14, 2004 3:37 PM
> To: Access Developers discussion and problem solving
> Subject: RE: [AccessD] OT: The Great Primary Debate
>
>
> << Nope sorry, but your missing the point.
>
> What exactly is the point?
>
> We are getting close to what someone else said(I think
> Gustav). The only
> natural key for an object, is the object.
>
> Scott Marcus
> TSS Technologies, Inc.
> marcus at tsstech.com
> (513) 772-7000
>
>  -----Original Message-----
> From: 	accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com]  On Behalf Of
> Jim Dettman
> Sent:	Monday, June 14, 2004 3:32 PM
> To:	Access Developers discussion and problem solving
> Subject:	RE: [AccessD] OT: The Great Primary Debate
>
> Francis,
>
>  <<Perversely, I would state the situation as the inverse of your
> statement, as long as you don't change the autonumber, you can change
> any attribute without changing the instance.>>
>
>  Nope sorry, but your missing the point.
>
> Jim
> (315) 699-3443
> jimdettman at earthlink.net
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of
> Francis Harvey
> Sent: Monday, June 14, 2004 1:23 PM
> To: 'Access Developers discussion and problem solving'
> Subject: RE: [AccessD] OT: The Great Primary Debate
>
>
> Jim,
>
> Perversely, I would state the situation as the inverse of your
> statement, as long as you don't change the autonumber, you can change
> any attribute without changing the instance. By using this approach,
> you provide a solution to fix mistakes in the attributes that make up
> the so-called "natural" keys due to miskeying, incomplete information,
> or a change in value.
>
> In fact, if you used "natural" keys as your primary key, in order to
> fix such mistakes you would have to allow for the very same thing that
> you are claiming prevents autonumbers from being natural keys,
> changing an attribute without changing the instance.
>
> Francis R Harvey III
> WB 303, (301)294-3952
> harveyf1 at westat.com
>
>
> > -----Original Message-----
> > From: accessd-bounces at databaseadvisors.com
> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
> Jim Dettman
> > Sent: Monday, June 14, 2004 8:33 AM
> > To: Access Developers discussion and problem solving
> > Subject: RE: [AccessD] OT: The Great Primary Debate
> >
> >
> > Scott,
> >
> <snip>
> >
> >   No because the serial number would be associated with the
> > instance, so it
> > becomes an attribute even though it was assigned.  An
> > autonumber is not.  I
> > can change an autonumber at any time with no affect at all.
> > Looking at any
> > given row, if I change the autonumber, nothing happens.  If I
> > changed the
> > serial number, I'd no longer be referring to the same instance.  One
> > meaningless, the other derived from the attributes of what
> > I'm referring to.
> >
> > Jim Dettman
> > (315) 699-3443
> > jimdettman at earthlink.net
> <snip>
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
>
>
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com





More information about the AccessD mailing list