| 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 Apr 2, 1:13 pm, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>
>>Marshall wrote: >> >>>My ambitions for the constraint system are extremely >>>high, probably unrealistically so. >> >>If quantification is useful for the constraint system, why don't you >>consider it equally useful for the computation system?
Expressing conditionals, for a start.
>>Have you gotten ahold of Codd's 1972 paper?
>>Will the type system support generic types or what Date et al call "type >>generators" ? Will it have a user-extensible generic type facility?
How do you propose to handle intervals? Or do you?
> User-extensible types, definitely. Relations and scalars.
Intervals? Matrices? Tuples? Sets? Streams?
> I remain open to possreps but have yet to see the
> compelling need.
Physical independence is the compelling need.
>>>>I don't get it. How does multiplying {A, B, C} by {C} get rid of C?
>>
>>>Crap. I meant divisor. It's noon and I haven't had breakfast yet.
>>
>>>Rewritten:
>>
>>>1) Multiply the divisor by the projection of the dividend over
>>>the attribute you want to discard (multiply here is cartesian
>>>product)
>>>2) Multiply the divisor by the domain of the attribute you
>>>want to discard
>>
>>Okay, now it makes sense to me. Sort of. If I multiply the divisor by
>>the entire domain, doesn't the divide then request all of the A's
>>associate with the entire domain of C? ie. "All of the suppliers who
>>supply every imaginable part past, present and future" ?
You might want to think that through a little more before you lock down an operator for it.
>>Now that I understand the first two, I find them kinda yucky too. Would >>you specify 'project' similarly?
I need to understand more about the relational lattice. If project is a special case of inner union, mightn't aggregation relate more to inner union than to divide?
>>It sounds like 'project' might be some special case of 'divide' assuming >>the aggregate divide really does have some connection to the regular >>non-aggregate divide.
![]() |
![]() |