Re: MV Keys (was: Key attributes with list values)

From: David Cressey <dcressey_at_verizon.net>
Date: Mon, 27 Feb 2006 12:20:56 GMT
Message-ID: <I8CMf.386$dj2.156_at_trndny04>


"Marshall Spight" <marshall.spight_at_gmail.com> wrote in

> Lists are just fantastically easy to implement and fantastically
> easy to use, and so they get used for things whether it makes
> sense or not. And when I point this out to most people,
> they ask "where's the harm?"
>
> The harm is the same as always comes from overspecifying.
> The system can only work with what it knows, and if you
> told it a collection was a list, it's going to studiously keep
> the elements in order, even though it doesn't need to.
> Opportunities for optimization are lost. Further, it can
> leak into the semantic level. Is this equation correct?
> [a, b] != [b, a]. If you are using an ordered collection
> to represent unordered data, you'll get the wrong answer.

I want to call attention to the point made above. It's an enormously important point. Even though it's been discussed in detail before in this n.g., it deserves repetition.

The possible confusion over [a,b] != [b,a] has to be understood in detail, at the implementation level, in order to understant a certain part of Codd's original 1970 paper, IMO. It's the part about ruling out tuples that have one or more domains that are sets. (I apologize if I've paraphrased Codd incorrectly. The exact wording is important. I'll try to dig it up for a later message if necessary).

Essentially, if you might be confused about equality, then you might be confused about whether or not the inclusion of a given tuple into an existing relation will or will not result in the conversion of your set into a bag. This confusion was unacceptable to Codd in the original definition of the RDM. Or so it seems to me.

Codd's solution was to suggest that the RDM not provide support for set domains. And he demonstrated that for every collection of relations, there exists an equivalent collection that has only simple domains. Hence the birth of "normalization" or 1NF as it ecame known. Hence the schism between the followers of Codd and the followers of Date. And, BTW, "the dawn's early light".

In some sense this is all a tempest in a teapot.

If, however, you are implementing a new system, it is not. And, if I read you right, Marshall, that's exactly what you are doing. Received on Mon Feb 27 2006 - 13:20:56 CET

Original text of this message