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

From: Dawn M. Wolthuis <dwolt_at_tincat-group.comREMOVE>
Date: Mon, 7 Feb 2005 11:40:12 -0600
Message-ID: <cu8967$iqj$1_at_news.netins.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.
>
> 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.

I think it would be great to have 1NF in our currently-not-being-addressed glossary of terms (mAsterdam - any chance you could send the current version?) so that we can point to that for any future discussions. Given that XML does not require 1NF (by most definitions), this topic is not going away any time soon and starting such discussions by first getting everyone on the same page with a definition just holds up progress.

Can we find a definition that is clear; preferably concise; is not about history (i.e. is a good definition for today); and does not require any redefinition of mathematical terms for which there is considerable agreement (such as relation)? I suspect that whatever we come up with would contradict Date & Darwin, so if we could additionally ensure that the definition is mainstream and what the industry accepts as 1NF, then perhaps we need a new name for the new definitions put forth by them? Just a thought. --dawn

> 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:40:12 CET

Original text of this message