Re: By The Dawn's Normal Light
Date: 1 Nov 2004 12:51:05 -0800
Message-ID: <1099342265.915878.79930_at_z14g2000cwz.googlegroups.com>
> It is most certainly NOT the case that all relations were in what Ted
Codd
> called "normal form" in the 1970 paper.
> It is most certainly NOT the case that the definition of "normal
form" in
> the 1970 paper was "meaningless".
> One may argue, as some in this forum do, that it was not useful.
But to
> say that it was meaningless is to misrepresent history.
I don't agree. The "original definition" depended on the definition of the term "atomic", didn't it? I'd say it was internally inconsistent; though I don't have the papers here, if I recall Codd mentioned user-defined types, and their being black boxes (not his term) to the DBMS. That rules out the DBMS caring whether it's a list or not; all that matters is that the DBMS not have inherent knowledge of a "container" other than the relation (actually relvar).
> And, regardless of whether Date's redefinition of either "relation"
or 1NF
> (I'm not sure which it is, from the discussion in here), was a step
> forward or not, we need to remember what the 1970 paper did for IT.
I am
> certain that C.J. Date would agree.
Agreed. All Date did was follow these ideas to their logical
conclusions:
1) That users should be able to define their own types and operators,
and plug them in, and the RDBMS can use them without "inherently"
understanding them.
2) That there's no absolute definition of atomicity
3) That even a relative definition of atomicity is tricky
Codd, in my opinion, was arguing that the RDBMS would perceive only a single value in a single attribute in a single tuple. A list accessor method (e.g. list.get(0) ) is a tranfsormation from a single value to another single value. Multivalued DBMSs, on the other hand, require that the List (worse yet, the nested list) be a primitive (to the DBMS) just like the file.
- erk