Re: choice of character for relational division

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Tue, 03 Apr 2007 12:14:02 GMT
Message-ID: <eyrQh.18821$PV3.194369_at_ursa-nb00s0.nbnet.nb.ca>


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?

>
> Never felt the need. What would I use them for? Where would
> they be more useful than join/union?

Expressing conditionals, for a start.

>>Have you gotten ahold of Codd's 1972 paper?

>
> Never have been able to. Pointers appreciated.
>
>
>>Will the type system support generic types or what Date et al call "type
>>generators" ? Will it have a user-extensible generic type facility?

>
> Honestly, I've never really gotten to where I understood what
> Date means by (scalar) type generators. Seems like parameterized
> types? I hope to be able to avoid any complicated type
> parameterization mechanism, yet still allow generic programming.
> Even Java's generics are too complicated IMHO, and they
> aren't that complicated as far as generics go.

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" ?

>
> Uh, yeah. Maybe I got that wrong.

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 like the Relational Lattice's inner union operator, a special case
> of which is project, in a manner dual to which a cartesian product
> is a special case of join.

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.

>
> Marshall
Received on Tue Apr 03 2007 - 14:14:02 CEST

Original text of this message