Re: Lucid statement of the MV vs RM position?

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 06 May 2006 12:51:26 GMT
Message-ID: <iZ07g.3928$A26.103833_at_ursa-nb00s0.nbnet.nb.ca>


Jon Heggland wrote:

> Marshall Spight wrote:
>

>>Jon Heggland wrote:
>>
>>>No, I think that's right. In the resulting relation, the set of
>>>attributes that were not grouped, functionally determines the RVA. That
>>>follows from the definition of GROUP.
>>
>>Isn't GROUP an aggregate operator? 

>
> I think not; not the TTM GROUP that I'm discussing, at least. It's a
> relational operator: relation in, relation out. It is equivalent to /
> shorthand for a projection and an extension, I think.
>
> That said, I guess GROUP could also be defined as a SUMMARIZE with an
> aggregate operator (or "summary"; TTM distinguishes between them) that
> computes the RVA value based on a set of attributes. That aggop/summary
> would be a bit non-standard, though, since it would need take a variable
> number of arguments, not just one. That still wouldn't make GROUP an
> aggregate operator, though.

What would make it an aggregate? It has an identity element and one can define it as a repeated union operation. Of course, one must first perform a type conversion to change each tuple to a relation with cardinality 1 before one can perform the union operation.

I don't see this as any different than performing a type conversion before performing the addition for SUM.

>>And wouldn't the above be true
>>for any aggregate operator? Replace GROUP with SUM, for example.

>
> Summaries are functionally dependent on the attributes they are grouped
> by, yes. I do see the similarity you point out.
>
>
>>(I don't know if D&D consider GROUP an aggregate or not, but
>>it certainly meets the definition AFAICT.)

>
> What definition is that? That's perhaps the most important point. :)

Aggregate operations are defined using an identity element and a repeated operation or as an expression on other aggregate operations.

For SUM, the identity element is 0 and the operation is addition. For 
PRODUCT, the identity element is 1 and the operation is multiplication. 
For MIN, the identity element is the maximum representable value for the 
domain and the operation is a comparison to choose the lesser.

AVG is defined as an expression on SUM and COUNT: SUM(x)/COUNT() Received on Sat May 06 2006 - 14:51:26 CEST

Original text of this message