Re: The OverRelational Manifesto. VOCIFEROUS IGNORANCE vs. NUMB DOGMA.(the sequel)

From: Alexandr Savinov <spam_at_conceptoriented.com>
Date: Fri, 26 May 2006 15:22:49 +0200
Message-ID: <4477012b$1_at_news.fhg.de>


U-gene schrieb:
> First you cannot use simple...
>
> SHIPMENT {
> ...
> Items SET OF MyType;
> ...
> }
>
> ...becauce, once again.
>
> The only existing type requirement is "each object's component has type
> that allows relational assignment ", becouse it gets easy possibility
> to meet main requirement of "The OverRelational Manifesto".

Do you mean by "object's component" a field?

What do you mean when say that a component

> So when we speak about SETs we speak about relations. It means we have
> to define keys somewhere inside "Items SET OF MyType".

The key is defined within MyType relation, for example:

MyType {

   INT myIdentifer;
   DOUBLE balance;
} CONSTARIN myIdentifer Key

and then we write

SHIPMENT {
    ...
    Items SET OF MyType;
    ...
}

So the field Items will take sets of values from relation MyType.

What is wrong here from the point of view of ORM?

And how does it differs from the following:

SHIPMENT {
    ...
    Items SET OF {

       INT myIdentifer;
       DOUBLE balance;
       } CONSTARIN myIdentifer Key

    ...
}

For me it is one and the same except that in the latter case we used anonymous declaration.

> Second I'm not sure if we can use word "type" when we speak about
> MyType. I prefer to call it as predefined schema of tuple copmponent
> and relation component (or tuple type and relation type global
> variables which are possible in RxO system too). And from my point of
> view therŅƒ is no difference if we define relation type component using
> predefined schema or when we define schema directly in this component
> definition.

So as far as I understand you assume that there exist two elements of the model:

  • tuple type component, and
  • relation type component

Then there are two options for defining these elements: - predefined schema, and
- global variables

If so then nothing prevents me from having an explicit declaration of all relations and then using set-valued attributes via "SET OF" keyword, for example:

MyType {

   myIdentifer INT;
   balance DOUBLE;
} CONSTARIN myIdentifer Key

Type2 {

   ...
   SetValuedField SET OF MyType;
   ...
}

Type3 {

   ...
   SetValuedField SET OF Type2;
   OneValuedField MyType;
   ...
}

And so on. In other words, I can define fields of new relations either as single-valued or multiple-valued using already existing relations. Do I understand it correctly? (I am not searching for errors or inconsistencies - I just want to understand it.)

-- 
http://conceptoriented.com
Received on Fri May 26 2006 - 15:22:49 CEST

Original text of this message