Re: By The Dawn's Normal Light

From: erk <eric.kaun_at_pnc.com>
Date: 27 Oct 2004 09:55:21 -0700
Message-ID: <1098896121.252179.8360_at_f14g2000cwb.googlegroups.com>


> > 1NF is superfluous, a relation is always in 1NF
> Do Date&Darwen agree with this?

Date does, as he explains in paper #1 on dbdebunk.com site. You have to pay for the paper, but I think it's a good one. His essential conclusion (I don't have it here) is that the word "atomic" is meaningless, and therefore "compound" is as well; or at least they're subsumed in the word "value", but there's no such thing as a "compound value."

Relational means 1NF. A relational engine cannot "see" anything but a single value in a single attribute of a single tuple - but you can certainly apply operators to that value, and get another value (of the same or some other type). It's just that that is indistinguishable from any other operator (e.g. how would you structurally distinguish between the "getMonth" and "getNextMonth" operators over a Date type? Their postconditions are different, but not the types of the operators).

Date does continue to draw the useful distinction between values and variables/references.

Since types are orthogonal to relations, new types and new operators over them can be added to the relational engine at any time. But it won't "understand" those types as being compound or not. Hope this helps more than it hurts...

  • erk
Received on Wed Oct 27 2004 - 18:55:21 CEST

Original text of this message