Re: Can we solve this -- NFNF and non-1NF at Loggerheads

From: Alan <alan_at_erols.com>
Date: Mon, 7 Feb 2005 12:41:48 -0500
Message-ID: <36pnitF4v4623U1_at_individual.net>


"Paul" <paul_at_test.com> wrote in message news:42079da8$0$34063$ed2e19e4_at_ptn-nntp-reader04.plus.net...
> Alan wrote:
> >> Roy Hann wrote:
> >>
> >>> 1NF does not "mean values are simple or indivisible". It just
> >>> says that for the purpose of the relational theory, the
> >>> divisibility (or internal structure) of values of a given type is
> >>> of no interest or use within the theory. The theory does not
> >>> make use nor reference to the internal structure of a value of
> >>> any type. The theory therefore does not need to define what
> >>> atomic means. The term "atomic" is a just a narrative short-hand
> >>> that Codd used to say, "That's stuff I don't care about, so
> >>> forget about it from now on as you read this paper." I can't
> >>> think of any other theory where a precise definition is demanded
> >>> for things that are *intended* not to be discussed. Plane
> >>> geometry isn't required to define colour for the purpose of
> >>> excluding it from discussion.
> >>>
> >>> There is nothing in RT that *prevents* values from being
> >>> divisible, there never was, and it would plainly be stupid to
> >>> want it that way.
> >>
> >> This sounds to me like an excellent summary of what "1NF" and
> >> "atomic" means. I can't believe we go round in circles discussing
> >> this point when it really is this simple!
> >
> > Okay, I will cite a well respected source supporting my position, then
you
> > do the same. From "Fundamentals of Database Systems, Third Edition",
> > Elmasri/Navathe, pages 485-487 Addison-Wesley, 2000:

>

> I don't see a conflict between the extract below and what Roy said
> above. Just that the text below is a bit on the verbose and practical
> side, and the above is a more abstract, concise and clear version.

Then you better re-read the "more abstract, concise, and clear" inaccuracy that Paul wrote. Here, I'll make it easy:

Paul:
"There is nothing in RT that *prevents* values from being divisible, there never was, and it would plainly be stupid to
 want it that way."

Alan, via Elmasri/Navathe:
"...it was defined to disallow multivalued attributes, composite attributes, and their combinations. It states that the domain of an attribute must include only atomic (simple, indivisible) values..."

There is no way to interpret other than how it was written.

What Paul and everyone else is talking about, but can't articulate, is that there is another theory/model, with the (in?)formal name of "Nested Relational Model", or NFNF (Non First Normal Form). This is the model/theory where the restriction of 1NF is _removed_, not redefined (Elmasri, page 459).

>

> I don't think most of the people here actually disagree with the basics,
> just that there is a problem with expressing the ideas in written
> language such that they aren't misinterpreted.

Nonsense. Of course they disagree, that's what we've been arguing about. I've cited well-respected, published proof of my argument, and until someone can present well-respected published proof (and not just on the internet where one could find "proof" of little green men from Mars) of their argument, they should keep quiet. Or apologize.

>

> Paul.
>

> > "First normal form (1NF) is now considered to be part of the formal
> > definition of a relation in the basic (flat) relational model (Footnote
11:
> > This condition is removed in the nested relational model and in
> > object-relational systems (ORDBMSs), both of which allow unnormalized
> > relations.); historically, it was defined to disallow multivalued
> > attributes, composite attributes, and their combinations. It states that
the
> > domain of an attribute must include only atomic (simple, indivisible)
values
> > and that the value of any attribute in a tuple must be a single value
from
> > the domain of that attribute. Hence, 1NF disallows having a set of
values, a
> > tuple of values, or a combination of both as an attribute value for a
single
> > tuple. In other words, 1NF disallows "relations within relations" or
> > "relations as attributes of tuples." The only attribute values permitted
by
> > 1NF are single atomic (or indivisible) values. ...
> > The first normal form also disallows multivalued attributes that are
> > themselves composite. These are called nested relations because each
tuple
> > can have a relation within it..."
> >
> > Your _opinion_ is not solicited. Cite some facts from a published
source.
> >
> >
Received on Mon Feb 07 2005 - 18:41:48 CET

Original text of this message