Re: Surrogate Keys: an Implementation Issue

From: Dan <guntermann_at_verizon.net>
Date: 7 Aug 2006 09:21:08 -0700
Message-ID: <1154967668.434769.23310_at_p79g2000cwp.googlegroups.com>


JOG wrote:
> Dan wrote:
> > <snip>

<snip>
> > > > It is a valid point.
> > >
> > > Only if you make the fundamental mistake of pretending a non-key is a key.
> >
> > No. There is a fundamental difference between a unique proposition
> > (tuple) as taken simply from the mathematical definition of a relation
> > as a minimum criterion for identity of a proposition, and the
> > definition of a functional dependency that determines a primary key or
> > candidate key. While most make the assumption that the two types of
> > identity are equivalent, the assumption is fundamentally flawed, IMO.
> > Often it might be the case that they are indented to be the same, but
> > it is not guaranteed to be universally so.

>

> I'm confused by this Dan. Ignoring the fact that a mathematical tuple
> is subtly different to an RM tuple, you are correct in saying a
> proposition's identity is determined by every single one of its
> attributes.

Yes.

However, a key is defined as an attribute that, once
> specified, will determine all of the other attributes in the
> proposition, and hence is a wholly sufficient identifier by itself.

Generally speaking, yes, that is the intent of declaring a key. I'd change "attribute" to a "set of attributes". And I'd also add "at a single moment in time".

Are
> you distinguishing between the identity of a proposition as a whole and
> a satisfactory alias for that whole identity? If so, I think that's a
> fruitless distinction and cannot currently see a situation where it
> would be of any use.

In my experience, it has come into use a great deal when trying to reconcile different data representations of the same thing from different sources and organizational perspectives, and even more so over time.

<snip>

Regards,

Dan Received on Mon Aug 07 2006 - 18:21:08 CEST

Original text of this message