> >
> > A PK must uniquely identify the row. Nowhere is it written what the nature of the PK must be.
>
> I absolutely agree!- the only 'rule' is that is unique within the table - and while I would normally use a surrogate integer as a primary key that is by no means a requirement and is, again, just my preference based on 20+ years database experience including virtually all mainframe, mid-range and PC databases.
We agree on something! :)
Yet, why do people insist on saying how long they've been in the industry? Does a person that smoked for 20 years mean they're doing the right thing? Not in the least. I've met people with 15, and 20 years of experience that are doing really bad things. I have almost 30 years of experience on all of these things too. Besides that, I'm only 42. I've spent much of my career adapting to changing trends. Yes, I got started at 11 (almost 12) and had my first real IT job at 13.
> > Those that wrote the docs seem to feel it's a true GUID.
>
> Yeah I am sure they do. Microsoft is notorious for re-defining accepted terms to mean whatever they want it to be - shades of Humpty-Dumpty in "Alice in Wonderland" who says "A word means just what I choose it to mean, neither more nor less"
Things evolve or they stagnate. The attempt to add a sequential component to the guid is evolution.
> Index-sequentiality is not any part of the definition of a GUID by any accepted term - in fact the essence of a GUID is its randomness - which simply cannot be true if they are sequential!
>
> I am sure you will agree that by enforcing sequentiality you remove the degree of freedom guaranteed by the randomness which is integral to the definition of a UUID, and hence a GUID.
> The risk is that by generating sequential 'GUIDs' you may either inadvertently arrive at a value that arises randomly from some other source combination, or simply exhaust your supply of possible values long before 3400 AD :)
Removing the network specific information from a UUID reduces its randomness so that we are warned that two computers can generate the same UUID. Nothing is perfect and things have to be adjusted to better suit the times.
Please see the docs on UuidCreateSequential
http://msdn2.microsoft.com/en-us/library/aa379322.aspxspecifically the line
"Computers with ethernet/token ring addresses generate UUIDs that are guaranteed to be globally unique."
Mike Yearwood
www.foxridgesoftware.comPresident: Toronto Ontario FoxPro User's Group