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

From: Alan <not.me_at_rcn.com>
Date: Mon, 7 Feb 2005 19:45:17 -0500
Message-ID: <36qgdfF55p592U1_at_individual.net>


"Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message news:cu8dbm$ks5$1_at_news.netins.net...
> "Alan" <alan_at_erols.com> wrote in message
> news:36pqeaF5445hpU1_at_individual.net...
> >
> > "Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message
> > news:cu8bh5$kjv$1_at_news.netins.net...
> >> "Alan" <alan_at_erols.com> wrote in message
> >> news: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).
> >>
> >> Yes, that is correct -- the NF2 folks do not redefine 1NF, but claim it
> >> to
> >> be unnecessary. So, until recently, both "strict relational theorists"
> > and
> >> those employing an NF2 model were in agreement on the terms, while
> >> disagreeing on the preferred model. When one group claims 1NF is
> >> required
> >> and another claims NF2 is preferred, then redefining 1NF so that NF2
fits
> >> into it is obviously going to cause confusion with 1NF = First Normal
> >> Form
> >> and NF2 = Non-First Normal Form.
> >>
> >> What Date & Darwin are doing is *almost* like saying that the NF2 folks
> > are
> >> right, so we will redefine 1NF to include their approach to modeling.
It
> > is
> >> great for them to admit to such an error, but changing the meaning of
> > terms
> >> so that the words in relational theory are still correct to them, but
> >> mean
> >> something different than they used to and different from what the
agreed
> >> upon meaning has been is really doing a disservice to the industry.
> >>
> >> >>
> >> >> 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.
> >>
> >> From "An Introduction to Database Systems" 8th edition, C.J. Date,
> >> Addison
> >> Wesley, 2004
> >>
> >> p. 149
> >> "...every tuple contains exactly one value for each of its attributes;
> > thus,
> >> it certainly follows that every tuple in every relation contains
exactly
> > one
> >> value for each of its attributes; thus it certainly follows that every
> > tuple
> >> in every relation contains exactly one value for each of its
attributes.
> > A
> >> relation that satisfies this property is said to be normalized, or
> >> equivalently to be in first normal form, 1NF"
> >>
> >> [Note, he has already defined "relation" so that there is no chance of
a
> >> non-1NF relation, however, the mathematical definition that Codd
started
> >> with does not define it that way, which is why it would make sense to
> >> take
> > a
> >> relation and put it in 1NF, if you thought that important for the model
]
> >>
> >> p. 152
> >> "...any type whatsoever can be used as the basis for defining
relational
> >> attributes, in general. It follows that relation types in particular,
> > since
> >> they are certainly types, can be used as the basis for defining
> >> attributes
> >> of relations; in other words, attributes can be relation-valued,
meaning
> > we
> >> can have relations with attributes whose values are relations in turn.
> >> In
> >> other words, we can have relations that have other relations nested
> >> inside
> >> themselves."
> >>
> >> The formal definition he gives of 1NF on p.358
> >>
> >> "First normal form: A relvar is in 1NF if and only if, in every legal
> > value
> >> of that relvar, every tuple contains exactly one value for each
> > attribute."
> >>
> >> I recognize that this requires the def of "relvar" and "legal value"
and
> >> perhaps even "tuple" since he embellishes the mathematical definitions
of
> >> both tuple and relation, but in any case, this definition permits any
> >> type
> >> of collection to be the domain of an attribute. For example, if the
> > domain
> >> of an attribute is the set "Lists of Valid E-mail Addresses" then if
> >> there
> >> is a list of valid e-mail addresses as the value of that attribute in a
> >> particular tuple, it can be a valid tuple in that relation and, by his
> >> definition, that relation would still be in first normal form.
> >>
> >> Did that help? --dawn
> >
> > Only to confuse things :) In light of the recent discussions, I think
> > it's
> > fair to go with the explantion that there is 1NF in the Relational
Model,
> > and there is NFNF in the Nested Relational Model (which is different
than
> > the plain Relational Model). That seems to sum it up and end the
> > confusion,
> > at least to me. 1NF <> NFNF to put it really briefly (and obviously,
> > which
> > makes we wonder why this discussion even started).
>
> BECAUSE of Date & Darwin's (relatively) new definition of 1NF. Can you
not
> see from Date's new definitions that now a relation can be in 1NF even if
> there is a list, queue, stack, set, relation, linked list, hash table, or
> ... as the value of an attribute in that relation?

No. As shown elsewhere, what you are talking about is not the Relational Model- it is the NFNF model. It is NOT the same model.

 Date adds somewhere
> (maybe that is in the "legal value" def?) that the only such data
structures
> he would accept would be relations, but even if his definition of 1NF only
> permits that construct, it changes the meaning of 1NF significantly,
right?

No. As shown elsewhere, what you are talking about is not the Relational Model- it is the NFNF model. It is NOT the same model.

> How many practitioners today would say that they are putting a relation in
> 1NF and then proceed to leave nested relations in the model?

Three. Dawn, Roy, and Alfredo

 That muddies
> the water a lot from my perspective, with the work I am doing. Make
> sense?

Not in the least, but I am not surprised. Received on Tue Feb 08 2005 - 01:45:17 CET

Original text of this message