| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: choice of character for relational division
Marshall wrote:
> On Mar 31, 2:47 pm, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>
>>One needs to have set equality and set containment operators. If one has >>those, the query seems simple. What does a special operator for it buy one?
But we do ask whether one set is equal to another set. Are you constructing a calculus or an algebra?
> If we have equality (=) and join (&), we don't need containment:
>
> A & B = A <=> A ⊆ B.
Are you constructing an internal language or an external language. I agree it is unecessary internally, but I know from past experience that users are drawn to use containment when it is available to them. (At least, english speaking users are.)
ie. SQL users internalize the IN keyword long before they comprehend the EXISTS, ANY and ALL keywords.
Then again, perhaps it is better from a pedagogic standpoint to remove that crutch.
>>>>If "product" has a completely >>>>different name "join", why should a "divide" use the same name? >> >>>A fair question. The inverse of union is called "set subtraction" >>>rather than just "subtraction." Maybe call it "inverse join?" >>>"Unjoin?" "Relational division?" >> >>Can you describe the full operation? Maybe show an inverse for a join >>that is not a cartesian product?
If we define
SDP = Supplies $ Parts
then Supplies = SDP X Parts
granted the X is also join because SDP and Parts have no common attributes.
Hmmmm....
> Also:
>
> ItsLateAndICantThinkOfAnExample
> A B
> 1 1
> 1 2
> 1 3
> 2 11
>
>
> ItsLateAndICantThinkOfAnExample $ (Total = sum(B)) =
> {(A=1, Total=6), (A=2, Total=11)}
Consider:
ItsEarlyAndICan
A B C
1 1 b
1 2 a
1 3 c
2 11 d
What does "ItsEarlyAndICan $ (Total = sum(B))" evaluate to? Received on Sun Apr 01 2007 - 09:28:35 CDT
![]() |
![]() |