| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Distributivity in Tropashko's Lattice Algebra
Marshall Spight wrote:
> Mikito Harakiri wrote:
> > Marshall Spight wrote:
> > > Marshall Spight wrote:
> > > >
> > > > In other words,
> > > >
> > > > A join (B union C) == (A join B) union (A join C)
> > > > and
> > > > A union (B join C) == (A union B) join (A union C)
> > > > if and only if A and B have no attributes in common, and
> > > > A and C have no attributes in common.
> > >
> > > Ugh, I said that wrong. It should be
> > >
> > > if and only if A and B have no attributes in common that
> > > are not also in C, and
> > > A and C have no attributes in common that are not also in B.
> >
> > OK, let a, b and c be empty relations with the same headers.
My sloppy language apparently caused your misunderstanding. The same headers as A, B and C, *correspondingly* but not necessarily the same among each other.
> > (Formally,
> > we have to equip Relational Lattice with morphism that maps each
> > relation into the empty relation with the same header).
>
Formally, we have lattice homomorphism of Relational Lattice into Distributive Lattice of empty relations. Header of the relation is homomorhism invariant. You are absolutely right that this homomorhism is algebraically join multiplication by the TABLE_DUM. Note however, that in the article there is a certain controversy about TABLE_DUM and TABLE_DEE. Apparently, in the attempt to make them symmetrical
TABLE_DUM is defined with arity = 0, cardinality = *1*, and TABLE_DEE is defined with arity = 1, cardinality = 0
> > Then, your
> > criteria is
> >
> > a union b < c
> > a union c < b
> >
> > (What a terminology mess: a [lattice] union of empty relations is a
> > [set] intersection [that is join] of the relation headers)
>
I agree. I simply wrote your criteria with the set operations, and discovered that in order to make it persentable in Relational Lattice terminology I have to switch intersection to (inner) union, and union to join. This is what caused my expression.
> > Replacing < with = we have:
> >
> > (a union b) join c = c
> > (a union c) join b = b
> >
> > Empty relations are distributive (or in normal language relation
> > headers are elements of boolean set algebra).
>
It is critical to resolve this misunderstanding, otherwise what I wrote later can't make any sence. Some earlier thread introdiced the small latter notation. Given any relation "A" the small letter counterpart "a" is an empty relation with the same header. Empty relation set is
The whole purpse of introducing the (relationa) algebra of empty relations (aka relation headers) was to express your condition in the lattice terms. Received on Tue Aug 16 2005 - 11:28:45 CDT
![]() |
![]() |