Oracle FAQ Your Portal to the Oracle Knowledge Grid
 HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US

Home -> Community -> Usenet -> comp.databases.theory -> Re: completeness of the relational lattice

# Re: completeness of the relational lattice

From: Jan Hidders <hidders_at_gmail.com>
Date: Wed, 27 Jun 2007 02:03:54 -0000

>
>
>
> Speaking of axom #9, I only now nocied that you applied earlier when
> proving the equality property:
>
> = ((R(x,y) * <yz>) + [xy] (12)
> = (R(x,y) + [xy]) * (<yz> + [xy]) (9)
>
> In general
>
> ((R(x,y) * Q(y,z)) + S(x,y) != (R(x,y) + S(x,y)) * (Q(y,z) + S(x,y))

Goodness, yes, you are right of course. I suspect that the condition for r + (s * t) = (r + s) * (r + t)
should be A(r) * A(s) = A(r) * A(t) = A(s) * A(t). So if two have an attribute, the third must also have it.

That this is sufficient is not hard to see. It follows that this set H = A(r) * A(s) = .. is the header of the final result.

>From left to right:

(a) Assume a tuple x in r + [H]. Then this tuple is in r + s and also in r + t and therefore in (r + s) * (r + t) (b) Assume a tupel x in (s * t) + [H]. Then exist x1 in s and x2 in t such that x = x1[H] = x2[H]. Then x1[H] = x in (r + s) and x2[H] = x in (r + t), and so x in (r + s)*(r + t)
>From right to left:

Assume a tuple x in (r + s) * (r + t). Then x in r + s and in r + t. So x in r[H] or (in s[H] and in t[H]). In both cases it is in r + (s * t).
QED No idea if it is actually necessary, but I need some sleep now.

• Jan Hidders
Received on Tue Jun 26 2007 - 21:03:54 CDT

Original text of this message

 HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US