Re: Codd provided appropriate mathematics ... (was Re: Relational and MV (response to "foundations of relational theory"))

From: Eric Kaun <ekaun_at_yahoo.com>
Date: Wed, 03 Mar 2004 13:41:28 GMT
Message-ID: <cgl1c.55383$3T6.34195_at_newssvr33.news.prodigy.com>


"Bob Badour" <bbadour_at_golden.net> wrote in message news:84KdnZeYCbXcKKLdRVn-uw_at_golden.net...
> It is perfectly valid to have domains with one or more possible

> representations involving list types. As long as the dbms treats the value
> as a single value with respect to the relational operations, we are still
> dealing with the relational model.

Yes, that accords with my understanding.

> A logical data model involves structure. In the relational model, the only
> structure is the relation. If the logical data model involves additional
> structures, the logical data model is no longer relational. A relation
> represents sets of attribute values. As long as the logical data model
> treats them as single values, it does not matter whether the operations on
> the values are list operations etc.

Also sensible, and also where MV veers off (the nested structure is built into the data model, giving 2 ways to model the same thing, one of which is enticing but limiting, and which also mangles closure and other good properties of a model).

> The question becomes: What are the operations on list values? If you think
> about the question for a while, you might find the answer unexpected.

In Java I tend to use iterators, so I deal more with a "sequence" type than a list per se. The usual defining characteristics of a list are ordering and, in most cases, random indexed access to elements.

> What you propose is perfectly valid in the relational model. Thus, for
> instance, a possible representation of a movie type might include an
ordered
> list of video frames or an array of video frames or a stream of video
frames
> etc. The question is: Why would anyone want any of the above when one can
> have a relation with a video frame attribute?

Agreed - the only reason might be, for example, a COMPRESS operation which takes a FRAME_LIST and returns a FRAME_LIST which takes less space when serialized (lossy compression). That seems more like an operation over a domain than something you'd want to do with a relation... but I could be wrong about that. Received on Wed Mar 03 2004 - 14:41:28 CET

Original text of this message