Re: choice of character for relational division

From: Marshall <marshall.spight_at_gmail.com>
Date: 2 Apr 2007 14:25:13 -0700
Message-ID: <1175549113.493085.127100_at_p15g2000hsd.googlegroups.com>


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?

> 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.

User-extensible types, definitely. Relations and scalars. I remain open to possreps but have yet to see 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.

> 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.

> 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 Mon Apr 02 2007 - 23:25:13 CEST

Original text of this message