Re: What to call this operator?
Date: 3 Jul 2005 11:05:38 -0700
Message-ID: <1120413938.601008.269190_at_z14g2000cwz.googlegroups.com>
Marshall Spight wrote:
> Jon Heggland wrote:
> > In article <1120069466.357430.273600_at_o13g2000cwo.googlegroups.com>,
> > marshall.spight_at_gmail.com says...
> > > With join, all keys are preserved.
> >
> > Umm... they are? What do you mean by "preserved"? Perhaps I
> > misunderstand you, but a key of one of the operands is not necessarily a
> > key of the result.
>
> Okay. What rule would you propose?
>
> In fact, since I proposed that rule in the above-referenced message,
> I did think of a counterexample which would make some relations
> unjoinable, which isn't good.)
I have trouble understanding Marshall's idea, but the functional dependency formula for
R(x,y,z), x->y
in lattice terms is
R <= X,
R <= Y,
R (y=z) \/ xz R (y!=z) = xyz
with the following conventions
* predicate names are single letters, * predicates with small letters are empty relations, * predicates with capital letters X,Y,Z are full domain relations, * the '=' and '!=' with no spaces around it means binary equality andnonequality relation, correspondingly
* \/ is union
* in the absence of the other infix between the two relation it is assumed to be a join
* operations associate to the left Received on Sun Jul 03 2005 - 20:05:38 CEST