Re: About grammar and syntax on a possible relational language



On Mar 12, 2:33 pm, Cimode <cim...@xxxxxxxxxxx> wrote:
On Mar 11, 5:38 pm, Cimode <cim...@xxxxxxxxxxx> wrote:

Why not:
[MAKE RICH_EMPLOYEE = {EMPLOYEE WITH SALARY > 100000}]
(with curly braces around the derivation expression)? It seems a
little "off" to use them only sometimes.

Because I reserved '[]' to relation operation and '{}' to relation
definition. I will keep the remark in mind though

To be more explicit {} is attribute level manipulation and [] is
relation level manipulation to keep the language as versatile as
possible. For example

[MAKE R0 = {ATTRIBUTE0_1, ATTRIBUTE0_2}]
[MAKE R1 = {ATTRIBUTE1_1, ATTRIBUTE1_2}]
[MAKE R2 = R0 UNION R1]
PRESENT2D [R2]

Few comments for you. Looks sound enough, but do you even need the
word "MAKE" (and why the capitals?). I also fear that the square
brackets around statements will make code look more confusing than
need be - are they really necessary (I understand they inidicate a
"relation expression").

You also mentioned that for constraints you use |constraint| - I'd
personally avoid that, given the use of the bar symbol in logical
disjunction. Whats wrong with good old parentheses used when
necessary?


does the same thing as

PRESENT2D [{ATTRIBUTE0_1, ATTRIBUTE0_2} UNION {ATTRIBUTE1_1,
ATTRIBUTE1_2}]

As with TroyK, I found "present2d" to be a bit offputting. In your
initial examples I'd recommend just calling it "present"? Capitals
also give me flashbacks of Cobol PIC's, so I'd personally go lowercase
too ;)

Just my 2p worth.


It is also about the coherence of the computing model behind. The
input of the media layer is necessarily a relation. The input of the
logical layer may either be a relation or an attribute set.

.