Ken Ismert
KIsmert at TexasSystems.com
Fri Jun 4 15:46:38 CDT 2004
For practical reasons, I prefer Robert Stewart's Surrogate/Business key approach. Regarding Celko's emphasis on natural keys, I would suggest the counter-example of catalogs, where many disparate items, each with their own, non-overlapping attributes, are given unique codes. Putting an ID on a blob of data is a common real-world thing to do. If that ID is random, or is a counter, you are very close to the Autonumber concept. On the other hand, the Autonumber is supposed to be a 'meaningless' unique ID. But, consider an auto-generated date dimension table, with consecutive date records. Think an Autonumber key is meaningless in this situation? Think again - it really represents the number of days since Day Zero (the earliest date record in your table). Sometimes, the Autonumber IS a natural key! -Ken