On 05/03/2011 03:08 PM, Jeff Davis wrote:
On Tue, 2011-05-03 at 13:35 -0600, Rob Sargent wrote:
Sorry, but I'm confused, but that's common.  Isn't a "natural key" to be
compose solely from the attributes of the entity?  As in a subset of the
columns of the table in a third-normalish world. Isn't tacking on
another column with a concocted id joining the "pervassiveness"?

Not in my opinion. Before cars existed, there was no driver's license
number. The DMV (as it's called in California, anyway) created it, and
it's now a key that they can trust to be unique. It's also an attribute
of the entity now, because it's printed on the cards you hand to people.

The thing that I think is a mistake is to use generated IDs like an
internal implementation detail (i.e. hide them like pointers); then at
the same time mix them into the data model.

Regards,
        Jeff Davis



Well yes it does all depend on how you model things after all. I think a drivers license is and attribute of driver not person. So before cars, one still had a hard time coming up with a natural key on person. Of course California's DMV only cares about Californian licenced drivers, so they get to generate and assign license number as an arbitary key for drivers 'cause under that we're back to person.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to