Re: A question for Mr. Celko

From: Marshall Spight <mspight_at_dnai.com>
Date: Sun, 18 Jul 2004 00:12:27 GMT
Message-ID: <LfjKc.117051$XM6.6977_at_attbi_s53>


"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message news:pan.2004.07.17.23.23.54.257337_at_REMOVETHIS.pandora.be...
> On Sat, 17 Jul 2004 15:37:00 +0000, Marshall Spight wrote:
> > "Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
> > news:pan.2004.07.17.10.58.17.83649_at_REMOVETHIS.pandora.be...
> >>
> >> One criticism I heard is that to simulate the PACK and UNPACK operators
> >> you have to use operators that violate 1NF as it is usually understood.
> >> But note that the exact definition of 1NF is not as well-understood as
> >> one might suppose. Chris Date, for example, apparently has decided to
> >> trivialize the notion.
> >
> > Is there any reason it shouldn't be trivialized? 1NF doesn't seem to do
> > anything but get in the way of things like relation-valued or
> > list-valued attributes.
>
> Good question. I would argue that it keeps things simple. I don't see a
> problem with that at the *user* level but at the *logical* level you want
> to make things as simple as possible for the query optimizer. Much that
> same as the usual arguments for not having bags and null values. And, of
> course, you also might want to have a representation that is not biased
> towards one of the views at the user level. So it is not so evident to me
> that what is ideal at the user level is also ideal at the logical level.

I hypothesize that you can have list-valued-attributes inline (as is already often the case with strings) and relation-valued attributes implemented as separate relations, and still keep things quite simple. I'm still investigating this, though.

Marshall Received on Sun Jul 18 2004 - 02:12:27 CEST

Original text of this message