Michael Welsh
mike at welshfam.org
Wed Jun 9 15:15:51 CDT 2004
Jim, <<<< Actually, I brought this up last time around. Sure a DNA sequence would be the best natural key for identifying a person. Just because we don't have the computer systems to handle it doesn't make it wrong. It's a difference between theory and the real world.>> Even DNA does not guarantee uniqueness for a person. Identical twins have the same DNA. Currently there is a rape case involving identical twins where the DNA evidence cannot identify the twin. Mike -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, June 09, 2004 3:59 PM To: Access Developers discussion and problem solving Subject: RE: [AccessD] OT: The Great Primary Debate Lambert, <<As for AutoNumbers not being an attribute of the data. Of course they are. By adding an AutoNumber to a table you are defining a new attribute for the data. That's the purpose. The attribute is the record's uniqueness.>> Absolutely not. An autonumber is not an attribute of anything. It's a meaningless key. If I go into a table and change the autonumber value for any given row, do I now reference a new object? No. The number has no relation to the instance of the entity that's described by the row of the table. If some arbitrary value gets assigned to an instance of some entity, like a fixed assets number, house number, or a UPC code, then it becomes an attribute. I understand what he was trying to say, but I don't think it was said well. Jim Dettman (315) 699-3443 jimdettman at earthlink.net -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Heenan, Lambert Sent: Wednesday, June 09, 2004 1:29 PM To: 'Access Developers discussion and problem solving' Subject: RE: [AccessD] OT: The Great Primary Debate Totally agree Scott. This quoted article is a load of bunk IMHO. For example: "A relational key is a subset of attributes that identify a row in a table. Thus, an autonumbering scheme can never be a key by definition: It's not an attribute of anything except the machinery's internal state. " - thorough bunk - What this is saying is that "a relational key has to be a natural key because I've defined a relational key as a natural key. " It's not an argument for natural keys it's a proclamation of natural keys being the "right way" to go. As for AutoNumbers not being an attribute of the data. Of course they are. By adding an AutoNumber to a table you are defining a new attribute for the data. That's the purpose. The attribute is the record's uniqueness. A house number is not part of a house, but is sure as hell is used to identify the house. As you point out, Scott, a UPC is just a number - it has nothing to do with the object that's tied to it other than the agreed convention that everything you might want to sell will have a unique number. "A natural key is a subset of attributes that occur in a table and act as a unique identifier - the classic relational key. Keys are visible, and you can verify them in the external reality. Examples include UPC codes, geographical coordinates, and DNA." Such keys will act as a unique identifier IF the elements of the key have been carefully chosen, but there are lots of ways to make a bad choice, like using the name of an object as part of the key. Us humans seem to delight in changing the names of things. And what's that comment about DNA doing in there? Does anyone seriously consider using a several billion bit element as a key???? This has been yet another chapter in the book of keys, a semi-religious discourse that occupies idle minds endlessly. :-)