Re: Little question for RDM theoristes

From: U-gene <grigoriev-e_at_yandex.ru>
Date: 16 Jun 2006 02:06:21 -0700
Message-ID: <1150448781.639057.68880_at_g10g2000cwb.googlegroups.com>


Erwin wrote:
> U-gene wrote:
> > Two relations (relvalues) exists. These relations have different
> > headers (schemas). Are these relvalues the values of different types?
>
> Yes.
>
> > IMHO all relvalues have the same type
>
> Yes, too.
>
> > and the headers is just data. May
> > be it is special kind of data which is different from rel.bodies' data.
>
> No. The heading is not data. For if it were, one logical consequence
> would be that you would have to be able to "update" it (the header part
> of the data) in some way. But what does that do to a relation value ?
> What operators would do that sort of thing ? Would such an operator
> have side-effects on the relation body ? etc. etc.
> In their most recent edition of the Manifesto, Date/Darwen have a
> chapter on nonscalar type inheritance. I haven't read it that far yet,
> but I presume that their ideas are that any specific relation type is a
> subtype of some "generic" relation type. Therefore, each relation
> value is of more than one type at the same time : its most specific
> type RELATION{somespecificheading} and its generic type
> RELATION{nospecificheading}.

I just think that relation is value and is whole value. There is no some special operation on header - only relational algeba exist, which manipulates with relations (i.e. both with headers and bodies together). For example when we make carthesion products (or other rel.operation) of two rel.values we get third rel.value, schema of which defined by operand (and by operation). It means that we cannot "change" header because we cannot "change" realtion, becouse relation is value (whole value) and value cannot be changed.

Of course some implementation of RMD can have some operations to work with rel.variables(not values!) - something like ADD ATTRIBUTE (in SQL it looks like ALTER TABEL tablename ADD columnname). But result is other value then the one contained by this relvar before such operation on this relvar was done. I'm not sure, but in term of RMD such operation can mean carthesian product on previous value and empty unary relation

So you argument on "why header is not data" cannot be accepted by me. Received on Fri Jun 16 2006 - 11:06:21 CEST

Original text of this message