Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. sponsors. rss.
 From: Mike Yearwood
  Where is Mike Yearwood?
 Toronto
 Canada
 Mike Yearwood
 To: Andy Kramek
  Where is Andy Kramek?
 Westminster Circle, Akron
 Ohio - United States
 Andy Kramek
 Tags
Subject: RE: The "Rule" for Primary Key Fields
Thread ID: 115198 Message ID: 119203 # Views: 35 # Ratings: 0
Version: Not Applicable Category: General VFP Topics
Date: Saturday, January 20, 2007 8:05:23 PM         
   


> >> Disk space is so cheap I suggest you consider the GUID. That way if you have to combine branch offices into a single table, there will be no worries about conflicting integer values. :)
>
> Just to add my $0.02 worth here. GUIDs are generally a lousy choice for primary keys for a number of reasons:
>
> [1] The requirement for a primary key is that it be "Unique Within a Table". A GUID is (for the next few billion years at least) unique universally. So a GUID exceeds the requirements for a primary key and is bound by rules that have nothing to do with primary keys
>
> [2] The primary reason for using a surrogate primary key is to simplify Joins and speed up processing. Long character strings are NOT an efficient way of doing either - integers are much better for this purpose (which is why all serious database use them)
>
> [3] If you need to merge data I absolutely agree that GUID is the solution - but NOT as the primary key of either the source, or the merged table for the reasons given at [1] and [2] above. The only function of the GUID in a merged table is to be able to identify the source - and the GUID alone (whether it is the PPK or not) is not sufficient for that - you still need to know which source table to look into!
>
> As I say - just my $0.02 worth but this approach has worked for me in all the databases I have ever used (VFP, SQL Server, Oracle, DB2, Informix, Ingres and even in mass-storage systems like TerraData )
>
> Regards
> Andy Kramek
> Microsoft MVP (Visual FoxPro)
> Tightline Computers Inc, Akron Ohio, USA

Well they say if you ask 10 computer experts a question you'll get 10 different answers. Unfortunate for all of us, IMO.

#1 does not disqualify it.

#2 I agree with except that more and more serious database people are using GUIDs

http://databases.aspfaq.com/database/what-should-i-choose-for-my-primary-key.html
http://www.informit.com/articles/article.asp?p=25862&rl=1

#3 Not for a merging - I'm talking more about a corporate merger. If branch A had a completely different set of customers than branch B, the use of numerics in each branch would absolutely require our intervention. With GUIDs we could just append one set of customers to the other.

Mike Yearwood
www.foxridgesoftware.com
President: Toronto Ontario FoxPro User's Group



COMPLETE THREAD
The "Rule" for Primary Key Fields Posted by Ken Murphy @ 12/6/2006 12:53:31 AM
RE: The "Rule" for Primary Key Fields Posted by Boudewijn Lutgerink @ 12/6/2006 8:32:13 AM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 12/6/2006 2:11:55 PM
RE: The "Rule" for Primary Key Fields Posted by Borislav Borissov @ 12/6/2006 8:40:47 AM
RE: The "Rule" for Primary Key Fields Posted by Eric den Doop @ 12/6/2006 9:21:26 AM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 12/6/2006 2:16:15 PM
RE: The "Rule" for Primary Key Fields Posted by sudhir uppal @ 1/12/2007 5:57:59 AM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/12/2007 6:11:22 PM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/12/2007 11:33:51 PM
RE: The "Rule" for Primary Key Fields Posted by Jamie Osborn @ 1/13/2007 2:05:07 AM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/13/2007 2:20:51 AM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/16/2007 9:49:00 PM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/16/2007 10:25:38 PM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/16/2007 10:25:30 PM
RE: The "Rule" for Primary Key Fields Posted by Terry Thurber @ 1/15/2007 12:41:55 AM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/16/2007 9:50:14 PM
RE: The "Rule" for Primary Key Fields Posted by Terry Thurber @ 1/17/2007 7:17:35 AM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/16/2007 9:58:37 PM
RE: The "Rule" for Primary Key Fields Posted by Terry Thurber @ 1/17/2007 7:44:55 AM
RE: The "Rule" for Primary Key Fields Posted by Eric den Doop @ 1/16/2007 10:56:36 PM
RE: The "Rule" for Primary Key Fields Posted by William Sanders @ 1/16/2007 11:20:56 PM
RE: The "Rule" for Primary Key Fields Posted by Terry Thurber @ 1/15/2007 1:29:36 AM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/15/2007 9:56:37 PM
RE: The "Rule" for Primary Key Fields Posted by Mike Yearwood @ 1/18/2007 12:29:44 PM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/18/2007 1:37:31 PM
RE: The "Rule" for Primary Key Fields Posted by Mike Yearwood @ 1/19/2007 1:58:58 AM
RE: The "Rule" for Primary Key Fields Posted by Ken Murphy @ 1/19/2007 3:41:03 PM
RE: The "Rule" for Primary Key Fields Posted by Andy Kramek @ 1/20/2007 7:12:23 PM
RE: The "Rule" for Primary Key Fields Posted by Mike Yearwood @ 1/20/2007 8:05:23 PM
RE: The "Rule" for Primary Key Fields Posted by Andy Kramek @ 1/20/2007 10:32:40 PM
RE: The "Rule" for Primary Key Fields Posted by Mike Yearwood @ 1/21/2007 4:40:22 PM
RE: The "Rule" for Primary Key Fields Posted by Andy Kramek @ 1/21/2007 7:13:22 PM
RE: The "Rule" for Primary Key Fields Posted by tushar @ 1/22/2007 6:02:17 AM
RE: The "Rule" for Primary Key Fields Posted by Andy Kramek @ 1/22/2007 12:15:08 PM
RE: The "Rule" for Primary Key Fields Posted by tushar @ 1/23/2007 8:26:36 AM