[AccessD] OT: The Great Primary Debate

DWUTKA at marlow.com DWUTKA at marlow.com
Tue Jun 15 15:31:59 CDT 2004


True, but if the system is complex enough, it might just be easier to make
'Arthur' physically taller or shorter, then change his unique identifier.

Let's take a personel system for a large company.  A new employee is hired,
so a record is created in the main offices database for that employee.  A
simple 'header' table, that contains the employee's surrogate key/unique
identifier.  From that point on, various systems query the main offices
employee tables, and pickup the new employee (with his/her unique
identifier).  From that point on, the main db no longer knows what other
systems have picked up that identifier, so if someone goes in and changes
the value, how do you have it cascade out to systems that connect when they
want too?  

Granted, in a self contained system, cascading a unique identifier change
wouldn't be very difficult.  But what would be the purpose of doing that
anyways?  There shouldn't be a reason to change a unique
identifier.....because all that is required of it, is that it remains
unique!

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Charlotte
Foust
Sent: Tuesday, June 15, 2004 11:16 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] OT: The Great Primary Debate


I suspect the point Jim was trying to make is that the autonumber could
be changed (with a cascade of the change through related records)
without affecting the data in the record.  In other words, you still
have the same record in the same relationships but now you're
identifying it as "Joe" rather than "Arthur".  It doesn't change the
rest of the record, just the tag that provides a unique identifier.  On
the other hand, if you change the height property of "Arthur", then
regardless of what you call him,  he isn't the same record that he
was.<g>

Charlotte Foust

-----Original Message-----
From: DWUTKA at marlow.com [mailto:DWUTKA at marlow.com] 
Sent: Tuesday, June 15, 2004 8:08 AM
To: accessd at databaseadvisors.com
Subject: RE: [AccessD] OT: The Great Primary Debate


<snip>
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. <snip>

WHAT?  I've been pretty quiet on this thread. (I know, real shocker!).
Now come on Jim.  They can be 'changed' at anytime without affecting
anything? The complete opposite is true.  AutoNumbers (or surrogate keys
of any type) NEVER have to be changed.  And the reason they work better
in 'reality' vs. 'theory', is that the surrogate key becomes the unique
attribute of 'x'.  So no matter how many tables you refer to 'x' with,
the surrogate key can be placed anywhere.  Any data related to 'x' can
be changed at will, without breaking any relationships.  If 'x' is a
person, they can change their name, hair color, DNA, SSN, anything, and
all of their related data is still linked.  Use a natural key, and you
can easily fall prey to either duplicate values, or the need to change
the value.

In my opinion, this is a lot like arguing physics in a complete vacuum,
versus real world physics.  One is theory, one is reality.  What's the
point.  No one lives in 'theory', and no one develops in theory.  The
real truth is that the 'theory' world drops various aspects for
simplicity, while reality presents all of the possible variations, which
are very difficult to 'compute'.  Using relational 'theory', an
Autonumber IS a natural key.  Why? Simple, because with a computer based
relational system, all of the data is really ones and zeros.
Autonumbers are also ones and zeros, so they are just as natural as any
other point of data.

Drew
-- 
_______________________________________________
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