Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]
Date: Thu, 16 Jun 2005 13:24:18 +0200
Jan Hidders schrieb:
> Alexandr Savinov wrote:
>> >> The first point is that once a column is defined for some table in the >> schema then it *formally* can be considered a completely legal column >> for all other tables.
> Are you sure you are not talking about the (rather old) idea that is
> commonly known as "the universal relation assumption" or "the
> universal-relation data model"? For a few references see:
Thanks for the references.
I find the problems raised in UR model very similar to those motivating COM. However, the provided solution is hardly acceptable (it is typcially relational). In COM we have advantages of UR model but the solution is based on other principles.
In particular, the query
where Managers.name = 'sally'
is one of the things we want to automate in COM and this query has a a natural solution in COM. This query imposes constraints on realtion Managers and then retreives a set of offices. That is all. All the necessary information about the relationships is stored in the database and the database needs to know how to use it for constraint propagation and inference (and here we need some theory).
The universal relation in UR model is what in COM is the bottom concept (as far as I understand). The bottom concept (as well as the top concept and all other normal user-defined concepts) is the legal and necessary part of the model. This means that the database manages the whole data semantics rather than a collection of tables and this is why it is able to answer such queries as "retrieve(EMP) where MGR='Jones'". It is the task of the database to use the concept graph for constraint propagation and inference.
Here are some differences between these two approaches:
- COM is based haavily on dimension/subdimension duality for data access
- COM uses concept graph with top and bottom concepts for representing
syntax and semantics of data
- COM defines its own basic interpretation of data: an item is group/category for its subitems; an item is a dimension value for its subitems; an item is a relation instance for its superitems (and some other basic interpetations). This changes the modelling approach itself. - COM defines its own general principles like what data is, how data is interpeted and so on, which are important not only for data modeling (and probably not so for data modeling) but are used for the next generation concept-oriented programming paradigm.
> Today the general opinion seems to be that it's an interesting idea for
> a user-interface and has it's merits, for example for data-integration
> and OLAP, but it makes certain easy queries easier and certain hard
> queries much harder, and it can make data-modeling simpeler in some
> cases but also a lot more complicated in others, esp. if your schema
> tends to be cyclic (see the articles for what that means). So it has its
> uses, but is certainly no replacement for the relational model.
I saw some obvious problems of the UR model but I will read more papers. Thanks again for the references. So now I see two related approaches:
- UR model as a supplement to the RM,
- MS WinFS as an adaptation of ORM.
There is also OLAP but it is more engineering.
-- alex http://conceptoriented.comReceived on Thu Jun 16 2005 - 13:24:18 CEST