Re: Data Display & Modeling

From: Laconic2 <laconic2_at_comcast.net>
Date: Sat, 8 May 2004 10:12:19 -0400
Message-ID: <g7Odnb6T7r0ZdwHd4p2dnA_at_comcast.com>


> > b-1. no internal structure in attributes
> Complete disagreement on this. The purpose of this, as best I can tell,
is
> to keep the model as simple as possible (but no simpler). But
> mathematically simple and conceptually simple are not the same thing. So,
> even if you have to map the more mathematically complex, but conceptually
> easier, approach of permitting types with internal structure in your model
> to the relational model for some reason, it is worth it. A significant
> number of relational theorists seem to now permit attributes with internal
> structures, at least relation-valued attributes now.
>

I'd like to suggest that Codd had a reason for this requirement that is neither mathematical nor conceptual simplicity.

If you read Codd carefully, I believe you'll find that he acknowledges that there's no rule in relational math to prevent a relation from having an attribute that has a domain that is, itself, a relation. He surely doesn't impose this rule for mathematical simplicity. I'm less sure about conceptual simplicity, but I speculate that Codd did not have much divergence, in his own head, between conceptual simplicity and mathematical elegance.

I'd suggest that the reason for the simple attributes rule is, perhaps, "implementation simplicity". Essentially, telling whether two relations are or are not equal involves comparing the elements, and that involves sorting them. Putting the necessity for sorting things implicitly into the RDM, while at the same time explicitly stating that order has no meaning in a relation, was just goin to confuse the engineers who built the first RDBMS systems. That's what I think Codd was thinking. So the simple attributes rule was, in my view, a stopgap, rather than a fundamental foundation. Received on Sat May 08 2004 - 16:12:19 CEST

Original text of this message