Re: dumb terminology question: candidate key

From: dawn <dawnwolthuis_at_gmail.com>
Date: 16 Jul 2005 08:00:53 -0700
Message-ID: <1121526053.160590.73220_at_g14g2000cwa.googlegroups.com>


Marshall Spight wrote:
> Jonathan Leffler wrote:
> > Marshall Spight wrote:
> > > Does anyone have any insight or information on the origin
> > > of the term "candidate key"?
> >
> > In the bad old days - say 1990 - the perceived rules of the RM were that
> > every relation had one primary key. Unfortunately, some relations had a
> > number of unique keys - think of a table of chemical elements, where
> > atomic number, symbol and name are each possible keys (that is,
> > candidate keys) - so if you selected one key as the primary key (which
> > one), the others were alternative (or was it alternate) keys. There was
> > also the entity integrity rule that said that primary keys could not
> > allow nulls - but alternative keys could (but an alternative key that
> > allowed nulls was no longer a candidate key and hence not really an
> > alternative key after all; what a tangled web nulls weave!) The
> > collection of unique keys were all candidate keys - one was selected as
> > the primary, and the rest became alternatives.
> > I see. So the thing it's a candidate for is being the primary key.
>
> Wow.
>
>
> > Then the primacy of primary keys was called into question; normalization
> > theory didn't deal with primary keys, only with candidate keys. So
> > primary keys lost some of their significance, and the term that was left
> > was candidate keys.
>
> Now that we know better, I propose that we drop the term "candidate"
> from "candidate key" and leave just "key." I say this with all the
> naive optimism of youth. (A good trick at my age.)

Works for me, youngster. When we ditch the candidate key term, can we add "primary key" back in? I'd like to keep the notion of a primary key that does not map to the mathematical model, but to people. It could also help in tools since there is often a key that could be deemed the one most likely to be used as a foreign key to this relation (could be the default unless someone chooses another). I suspect there are quite a few dbms implementations that still have this concept by whatever name (identity, id, pk etc). So, let's ditch the candidate key term and refrain from booing when we hear about primary and alternate keys. OK?

Cheers! --dawn

>
> Marshall
Received on Sat Jul 16 2005 - 17:00:53 CEST

Original text of this message