Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Fri, 17 Jun 2005 15:00:03 +0200
Jon Heggland schrieb:
> In article <42b2ae72$1_at_news.fhg.de>, firstname.lastname@example.org 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
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