Re: What is Aggregation? Re: grouping in tuple relational calculus
From: Paul <paul_at_test.com>
Date: Sat, 19 Feb 2005 12:02:49 +0000
Message-ID: <42172aea$0$53482$ed2619ec_at_ptn-nntp-reader03.plus.net>
>>All it means is that your aggregate operator needs
>>to have three parameters: (1) the column to aggregate, (2) an ordering
>>to apply to the relation for the non-commutativity, and (3) an ordering
>>to apply to the relation for the non-associativity. I think 2 & 3 would
>>be independent of each other?
Date: Sat, 19 Feb 2005 12:02:49 +0000
Message-ID: <42172aea$0$53482$ed2619ec_at_ptn-nntp-reader03.plus.net>
Mikito Harakiri wrote:
>>Surely the associativity of a domain operator is orthogonal to the
>>relation structure?
> > I disagree. Aggregate operator properties corelate with the relation > agregation semantics. >
>>All it means is that your aggregate operator needs
>>to have three parameters: (1) the column to aggregate, (2) an ordering
>>to apply to the relation for the non-commutativity, and (3) an ordering
>>to apply to the relation for the non-associativity. I think 2 & 3 would
>>be independent of each other?
> > In case 3 it's no longer ordering. Without associativity you have to use > brackets. Brackets naturally give rise to binary trees.
Are you sure that two separate orderings wouldn't suffice?
If you think about how you would do an aggregate of a substraction
operator for example. You would first write them all down in order so
you get a-b and not b-a. Then you would pick an order to do the brackets
(actually only a partial order is required I think) so you get for
example (a-b)-(c-d) and not a-(b-(c-d)). In the first case it doesn't
matter if you do (a-b) or (c-d) first so that's why you don't need a
full ordering. I suppose a partial ordering amounts to the same thing as
a binary tree though?
Paul. Received on Sat Feb 19 2005 - 13:02:49 CET