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

From: Alexandr Savinov <savinov_at_host.com>
Date: Fri, 17 Jun 2005 13:05:20 +0200
Message-ID: <42b2ae72$1_at_news.fhg.de>


Jon Heggland schrieb:
> In article <42b29762$1_at_news.fhg.de>, savinov@host.com says...
>

>>Technically the problem is that some joins are moved from queries to the 
>>database engine. Instead of transient joins with the scope of one query 
>>we make them persistent with the scope of the whole database. The 
>>queries are simpler and the joins can be executed more efficiently.

>
>
> This is called views or virtual relvars in the RM. But what makes the
> joins more efficient? The equivalent of snapshots ("material views")?

Efficiency is not a major issue. I just wanted to say that executing joins specified in queries can be less efficient than executing joins that are stored persistently in the database. But actually I do not know and I do not care. (Performance is another issue.)

>>However, the main advantage is that our database now knows more about 
>>data and its relationships so now it manages these relationships (joins) 
>>rather that rows in tables.
>>
>>When we follow this way we obviously loose some freedom of manipulating 
>>data but the potential advantage is that data management is more 
>>reliable, more consistent and more efficient.

>
>
> Ok, so it has some disadvantages. But how is it more reliable,
> consistent and efficient? Previously, you have mostly talked about how
> your model enables any query, no matter how vague or strange-looking, to
> be answered.

Ok, performance normally suffers as the level of organisation grows so I think simple databases will always be more efficient.

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). 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.

>>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. But if they are related then we need to have a model which can express these relationships.

The question why data items should be related? I do not know. I formulated this alternative in some previous posts as two points of view.

-- 
http://conceptoriented.com
Received on Fri Jun 17 2005 - 13:05:20 CEST

Original text of this message