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

From: Paul <paul_at_test.com>
Date: Mon, 07 Feb 2005 16:56:07 +0000
Message-ID: <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.

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 - 17:56:07 CET

Original text of this message