Re: a union is always a join!

From: Brian Selzer <brian_at_selzer-software.com>
Date: Tue, 6 Jan 2009 00:14:17 -0500
Message-ID: <KMB8l.13434$c45.10526_at_nlpi065.nbdc.sbc.com>


"paul c" <toledobythesea_at_oohay.ac> wrote in message news:Pkv8l.42236$em5.22922_at_newsfe22.iad...
> Criticisms, please (preferably ones based on some formal logic or other).
>

I think your reasoning is circular: A relation is a join because it can be joined to a projection of itself over a subset of its own heading?

>
> It is inescapable that every relation is a join (eg., Heath's theorem).
> So every relvar points to a join. If we can't 'delete' through a join, we
> can't delete from any relvar (my father, who thought a disk buffer was a
> polishing material could have concluded this - also, I surmise, we can't
> logically express some number of otherwise possible relations when we
> have some purpose besides defining a 'view').
>
>
> The reason for every relation being a join has nothing to do with the
> expression that forms a join 'view'. I think it's a consequence of
> Codd's algebra that every relation that has more than one subset of
> attributes is a join of two or more relations. By Heath, there will
> always be two heading subsets (at least one of them having the same
> heading as the relation) that will determine the other possible pairs of
> heading subsets in a join. Because the join on all of a relation's
> attributes with any subset of them is algebraically equal to the relation,
> it looks to me that the number of possible and irreducible join
> expressions is at least equal to the number of subsets of attributes in a
> relation heading. (This is implicit. Explicit constraints may have a
> number of expressions that are fewer and still sufficient to express all
> the possible expressions.)
>
>
> For the same reason, every 'insert' is through a join, even if the
> 'insert' is also to a 'view' formed by union. One can equally say that
> some relations involve union, but this doesn't change the fact that they
> are also joins, in other words, not all joins are algebraically equal to
> some union or other, ie., if a relation is formed by join, it is not
> always also a union.
>
> If so, it should be far more productive to design a language based on
> axioms that are universal, the theorems that are always true, rather than
> on statements that are true only sometimes.
>
>
Received on Tue Jan 06 2009 - 06:14:17 CET

Original text of this message