Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> comp.databases.theory -> Re: completeness of the relational lattice
On 27 jun, 00:17, Vadim Tropashko <vadimtro_inva..._at_yahoo.com> wrote:
>
>
>
> 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.