1. A computer implemented method for performing a database query involving aggregation, given an initial set of predicates which includes one or more aggregation predicates, said method comprising the steps of: translating at least one of said aggregation predicates into a representative form which is a functional term symbolized by f.sub.{R,X,A,Y}, wherein R is a relation having one or more attributes, Xrepresents said attributes of R which are grouped and A is an aggregation function applied on attribute Y of R, said representative form suitable for illustrating a relationship involving said aggregation predicates; inferring one or more new predicates, using said representative form from said initial set of predicates; and solving said database query using said new predicates.