Re: The same simple question to relational theorist (with video now).

From: Evgeniy Grigoriev <grigoriev.e_at_gmail.com>
Date: Wed, 10 Apr 2013 11:30:22 -0700 (PDT)
Message-ID: <fbcc584d-73fe-444a-a667-683372d30496_at_googlegroups.com>


четверг, 4 апреля 2013 г., 22:22:04 UTC+4 пользователь Jan Hidders написал:
> On 2013-04-01 16:29:26 +0000, Evgeniy Grigoriev said:
>
>
>
> > Hi everyone.
>
> > Last year I asked a question:
>
> > "…is a way of how I create the normal relations important? Suppose a
>
> > part of system exists which creates the relations according to some
>
> > external non-normar expression descrided some data. This part of system
>
> > translates external expression into commands which create a set of
>
> > normal relations. So user of such system gives to the system some
>
> > non-normal data description expressions but operates with the data
>
> > presented in form of normal virtual relations only. (once again - all
>
> > data are presented for user in form of normal relations). Is such
>
> > system relational?"
>
>
>
> The answer depends a little on how you define "the relational model"
>
> and that is not uncontroversial, but I would say that if the generated
>
> tables satisfy all the required properties of relations and you
>
> manipulate them in the relational way, they are relational.
>
>
>
> > Now I can demonstrate a prototype which implements a very simple idea:
>
> > as soon as data have been described in object-oriented way, they are
>
> > immediately represented in relational way. You can see a video by link
>
> > (720HD is available) ---> http://youtu.be/K9opP7-vh18 .
>
>
>
> So how does your ORM differ from the other ones, like for example Hibernate?
>
>
>
> -- Jan Hidders

Hi Jan. Tahnk you for you reply.

Before I will answer, let me specify what a ORM system is. For me, ORM systems make programmers free from details of a data exchange between OO programs and relational databases. The aim of the ORM systems is to automate developing of concerned data schemes in ОО programs and in RDBMS and to hide an interaction between the program and RDBMS. The main point here is that OO program consists of objects and relational DB consists of tables. So, there are two sets of variables where data exist in different stages. In object variables the data are processed, and in relational variables (tables) the data are stored. ORM systems automate the data exchange which is necessary to store data out of object variables, because the object variables themselves are not persistent.

Am I right?

So, a short answer is "RxO system is not ORM system".

There are no separate object variables in RxO system at all. Data exist nowhere but only in tables. RxO system is a pure DBMS. RxO is just more sophisticated way to manage relational databases than traditional relational DBMS.

A similar attempt was made in ORDBMS but they were fixed on _evident_ tables as a way both to store data and to present the data in relational form. RxO system uses principally different approach on how OO and relational concepts can be united. You can see the approach and the result. But now I would say not about these differences.

Is ORDBMS a DBMS? Yes. It's independent system which just executes some commands.

RxO system in general does the same. I've found a way how more complex command have to be transformed to be executed in traditional RDBMS after the transformation. I've wrote a prototype which performs the command transfomation (a RxO translator). The only reason of why this prototype is separated from DBMS is that it was a simplest way to proof the idea of command translation. But the implemented translation process has a sence only with a RDBMS. It have to be integrated inside the RDBMS. RxO is just a way how independent relational DBMS can execute object-oriented commands. Received on Wed Apr 10 2013 - 20:30:22 CEST

Original text of this message