# completeness of the relational lattice

From: Jan Hidders <hidders_at_gmail.com>

Date: Fri, 22 Jun 2007 09:06:28 -0000

Message-ID: <1182503188.704386.314750_at_n60g2000hse.googlegroups.com>

Hello Vadim, Marshall and others,

Date: Fri, 22 Jun 2007 09:06:28 -0000

Message-ID: <1182503188.704386.314750_at_n60g2000hse.googlegroups.com>

Hello Vadim, Marshall and others,

The discussion seems to warrant it's own thread, so here goes.

So the syntax of the algebra is as follows: (E is the non-terminal for
algebra expressions)

*- R : a relation name
*

- E /\ E : the natural join
- E \/ E : the inner union
- 00 : the empty relation with empty header
- 01 : the relation with the empty tuple and empty header
- 10 : the empty relation with the set of all attributes as header
- 11 : the relation with all tuples over all attributes
- [x] : the empty relation over header {x} with x a single attribute
- 'x=y' : the binary equality relation with header {x,y} and the restriction that x<>y

I don't like having 10 and 11 because it clearly steps outside the relational model and first order logic, but I see no direct reasons to remove them. There was some doubt on the presence of [x] but I don't see how we can otherwise define projection. Also I don't see how we can avoid mentioning attributes since we already have 'x=y' where the are already mentioned.

So can we agree on this algebra and notation?

- Jan Hidders