Re: dumb terminology question: candidate key

From: David Cressey <david.cressey_at_earthlink.net>
Date: Sat, 16 Jul 2005 11:32:11 GMT
Message-ID: <%e6Ce.23937$eM6.14149_at_newsread3.news.atl.earthlink.net>


"Marshall Spight" <marshall.spight_at_gmail.com> wrote in message news:1121414231.913481.171990_at_g49g2000cwa.googlegroups.com...
> 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.)
>
>
> Marshall
>

The earlier replies cover the answer to your question.

As to whether the word "key" can be used without a qualifier, note that there are other terms, such as:

foreign key
natural key
surrogate key
index key

So dropping the word "candidate" might create more problems than it solves.

As far as "dumb terminology" goes, consider the phrase "flashlight battery". In Britain, what we Americans call a "flashlight" is called an "electric torch". A more functional description, really. How often do you use a flashlight to flash?

And the word "battery" properly refers not to an individual cell, but to a group of cells operating as a team, like a battery of cannon.

There are historical reasons for this, which I'll omit.

If we start down the trail of repairing all the dumb terminology we've inherited, there will be no end of it. Received on Sat Jul 16 2005 - 13:32:11 CEST

Original text of this message