Re: By The Dawn's Normal Light

From: Laconic2 <laconic2_at_comcast.net>
Date: Sat, 23 Oct 2004 11:25:57 -0400
Message-ID: <_M-dnVCpa_yP5efcRVn-jA_at_comcast.com>


"Marshall Spight" <mspight_at_dnai.com> wrote in message news:awued.305997$3l3.153187_at_attbi_s03...
> "Laconic2" <laconic2_at_comcast.net> wrote in message
news:A-KdnT9Y15YireTcRVn-uw_at_comcast.com...
> >
> > Here's a definition of 1NF pulled from the web:
> >
> > Formal Definition:
> > A relation is in first normal form (1NF) if and only if all underlying
> > simple domains contain atomic values only.
> >
> > Is this definition of 1NF correct or incorrect?
>
> Definitions do not have a correctness attribute; they are like
> axioms that way. A definition may be popular or unpopular,
> but it will never be correct or incorrect. (Or perhaps we
> could say that the correct definition was the popular one.)
>
> The right way to think about this debate is: which definitions
> are useful?

Fair enough.

I claim that it's not useful to have one definition for "relation" for mathematics and an incompatible one for IT. On this point I agree with Dawn. And it's clear to me that the mathematical definition of "relation" does not force the values in the tuples to be atomic. And it's clear to me that the definition I always learned for 1NF does force the values in the tuples to be atomic.

So, if someone wants to adjust the definition of 1NF so that it no longer requires atomic values, I would prefer that they invent a new term, like "Date-Darwen Normal form". There is precedent for this. "Boyce-Codd Normal Form" was sandwiched between 3NF and 4NF, rather than renumbering the normal forms.

If someone wants to change the definition of "Relation", I would prefer that they invent a new term, like "normal relation". Then they can say that a "normal relation is in 1NF (and may also be in other normal forms)".

If we did this, we could talk about "relations" as such, and talk about "normal relations" when we need to. Received on Sat Oct 23 2004 - 17:25:57 CEST

Original text of this message