Personally I use an individual primary key myself. In the past I have seen
oracle databases with two fields as the primary key, but never a whole
record. The only justification I can see for having the whole record as the
primary key is to save space. Adding an extra column to store a primary key
requires the space to store it and the storage for the sequence. On modern
servers storage is not usually a problem, particularly with such a small
field. On older mainframes, it was.

One major justification for a single primary key is replication. If you have
multiple fields as a primary key, on a replicated system, there is a higher
chance that the same values will appear. It will at least cause more
headaches and more setting up initially. 

Gavin

-----Original Message-----
From: Dawson, Michael [mailto:[EMAIL PROTECTED] 
Sent: 09 November 2004 14:01
To: CF-Talk
Subject: Primary Key Justification


I'm well aware of the need for a primary key, in addition to a sound table
design, however, I'd like someone else to "word" a response for me.

A co-worker built a data file (a data table on an AS400) with six fields.
The only unique "key" of the record is the entire record, itself.  The
combination of all six fields must be used to identify the exact record.

"This is how it's done," is the reply I get.  (I've been building web-based
apps using relational DBs for 8 years.  I have never used an entire record
as the primary key.)

I'm not passing an entire record through a URL or in hidden form fields.
Imagine the nightmare of maintaining this application...

A discussion of the existence of Oracle's sequences and SQL's identity
fields did little to sway this person's opinion.  This person's entire
development background is AS400 with a history of bad database design.

Now, I'm creating the table myself to do it right.  ;-)

Any thoughts?

Thanks
M!ke



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net
http://www.cfhosting.net

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:183712
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to