Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]

From: Alexandr Savinov <>
Date: Fri, 17 Jun 2005 15:00:03 +0200
Message-ID: <42b2c955$>

Jon Heggland schrieb:
> In article <42b2ae72$>, says...

>>But reliability and consistency increase because we loose our freedom to 
>>manipulate our data arbitrarily with no control (writing arbitrary SQL 
>>queries with unexpected or wrong result).

> That is what constraints are for. See my other post for a discussion on
> unexpected or wrong results. (SQL can indeed produce logically incorrect
> results, but SQL is not relational.) This really is not a problem of the
> RM.

This is really not a problem only in one case - if you are an expert.

>>All relationships become an 
>>integral part of the model and they are the primary focus of the 
>>database because they explain what our data mean. For example, if you do 
>>not need to write joins then will your queries more reliable (in the 
>>sense that you get that you really wanted)? I think yes.

> If your pre-programmed join represents what I really want, yes. If not,
> no. Anyway, this can be done in the user interface and/or with views,
> without limiting the power of the underlying data model.

Yes, I agree. And this is why it is not an implementation what is proposed but rather an approach to modelling, i.e., how we view our data. The main ides: we view our data hierarchically where tables have supertables and subtables. Joins, constraints, foreign keys and other mechanisms are inherited and used to implelent this model.

>>>>Actually, the same high level goal is formulated for MS WinFS where they 
>>>>want all data items to be related
>>>Why should all data items be related? They are not necessarily related 
>>>in the real world; at least not in the subset of it we would want to 
>>>model using computers.
>>If data items are not related then need to be modeled so.

> I'm not able to interpret this. Do you mean that "unrelatedness" should
> also be modelled explicitly? Why?

Sorry, I missed one word (and not only here). But you managed somehow to understand it correctly. I wrote:

If data items are not related then they need to be modeled so.

In other words, if two concepts are independent then they do not have a common subconcept (this means that it is so in our problem domain). But if they are related then we add one or more common subconcepts. Such a dependence may be more complex because those subconcepts may have their own subconcepts and so on.

> In the RM, relationships/relatedness is indicated by the same value
> appearing more than once---"unrelatedness" is the compliment. How is
> this unsatisfactory?

>>But if they are related then we need to have a model which can express
>>these relationships.

> And the RM can. I still don't see the problem. It seems to me that you
> are discarding many of the nice properties of the RM in order to achieve
> some other admittedly nice properties, that however are really easy to
> achieve in the RM as well, without sacrificing anything.

No, I do not discard the RM properties and functionality. In COM you still can use all relational features. What I claim is that you will need to use them because you can reach your goal in a simpler way. COM is completely compatible with RM - it simply makes some mechansims unnecessary.

Received on Fri Jun 17 2005 - 15:00:03 CEST

Original text of this message