Re: Lucid statement of the MV vs RM position?
Date: Mon, 08 May 2006 08:14:27 +0200
Message-ID: <e3mnk1$s6u$1_at_orkan.itea.ntnu.no>
Marshall Spight wrote:
> Jon Heggland wrote:
>> Perhaps I still was unclear; let me try again. Obviously you can >> postulate an aggregate operator that defined as iterated union, like SUM >> is iterated addition. Tutorial D does just that, and calls it (perhaps >> confusingly) UNION. You could call it GROUP instead, but Tutorial D does >> not. It uses the name GROUP for a unary relation operator that is >> shorthand for a particular extension/projection; alternatively a >> summarisation using that iterated union aggregate operator. I honestly >> don't see why this is so difficult to grasp.
>
> You describe two things. You say they are different, but I don't
> see any differences.
Then I don't know how to convince you. Shall I show you the grammar? http://web.onetel.com/~hughdarwen/TheThirdManifesto/APPXI.pdf
> One the one hand, we have "iterated union." On the other hand,
> we have "shorthand for a particular extension/projection", which
> is not very specific, but *could* be a description of what we have
> in the first case.
Can you perform a union between two relations by first extending and then projecting one relation?
> Can you be more specific about the differences between the
> two?
I don't know how I can be more specific than I already have been. If you accept that GROUP is equivalent to a SUMMARIZE using the iterated union aggregate operator (do you?), it seems obvious to me that it cannot simultaneously be *the same as* that iterated union aggregate operator.
But I'll try another tack. There is an operator (invocation) that when applied to relation (1):
C | I
==+==
A | 1 B | 2 A | 3
produces relation (2):
C | AGG_I
==+------
A | 4
B | 2
Likewise, there is an operator that from (1) produces (3):
C | AGG_I*
==+---------
A | { 1, 3 }
B | { 2 }
Likewise, that is also not an aggregate operator. Aggregate operators have identity. That means they are dyadic. The two operators above are monadic; they take one relation in, and produces another. It doesn't make sense to talk about identity with respect to them.
-- Jon * In Tutorial D, AGG_I would be of type RELATION { I TypeOfI }, so the value { 1, 3 } should rather be RELATION { TUPLE { I 3 }, TUPLE { I 1 } }.Received on Mon May 08 2006 - 08:14:27 CEST