Re: Little question for RDM theoristes

From: Erwin <>
Date: 16 Jun 2006 05:14:21 -0700
Message-ID: <>

> Look on this two cases
> 1)After adding new _tuple(s)_ into variables we get new value which is
> result of UNION of two relvalues (first one is previous value,second
> one is set of added tuples).
> 2)After addind new _attribute_ into variables we get new value too
> which is result of carthesian product of two relvalues (first one is
> previous value,second one is unary relation).
> There is no difference. In both cases we get new values using peration
> of relational algebra and in both cases these values is ones of the
> same and only type.

I'm afraid I can't explain it any better than I already have.

What you describe as "adding an attribute to a relvar" (and specifically : doing so in the very 'direct' sense that you imply) is *impossible* in the Date/Darwen RMD. It would involve an assignment of the form :

R := R EXTEND someexpression AS someattributename.

This assignment cannot be compiled/executed on grounds of type incompatibility between the left- and righthand parts of the assignment.

Adding an attribute to a relation variable implies changing the type of that relation variable. The fact of adding the attribute, by and in itself, does not involve the invocation of any relational operator. The fact of computing a new current value for this relvar, such that the value complies with the new definition of the relvar, might.

Compare it with changing the type of a program variable from "int" to "longint" : what arithmetic operator is invoked in doing so ? Received on Fri Jun 16 2006 - 14:14:21 CEST

Original text of this message