Re: Surrogate Keys: an Implementation Issue

From: JOG <jog_at_cs.nott.ac.uk>
Date: 1 Aug 2006 14:46:22 -0700
Message-ID: <1154468782.194660.305140_at_75g2000cwc.googlegroups.com>


Brian Selzer wrote:
[snip for brevity]
> Not exactly. Any candidate key value is sufficient to identify a
> proposition within a single database state, but that doesn't mean that it is
> sufficient across multiple successive states. While it's true that if two
> things are indistinguishible, they are the same thing, the reverse is not
> necessarily true: it's not a caterpillar that emerges from a chrysalis, it's
> a butterfly.

An interesting point - but what makes the caterpillar and the butterfly the same thing? How do you know its the same creature at all? Well, of course, the two states of the creature have the same DNA. That's the primary key in this case - and thats the whole point. Its a bit of a daft example, but again this is still in line with standard RT - there is _nothing_ outside of the attributes. One may not be able to record that DNA, and use a surrogate to represent it (hence the term surrogacy). But whatever field represents that distinguishablity, it is still denoting an explicit attribute (or set thereof), and given that is part of the logical model, must not be hidden. If there were no common key, according to logic the two 'states' are wholly different things. Received on Tue Aug 01 2006 - 23:46:22 CEST

Original text of this message