Method and system for providing aggregate data access
First Claim
1. A method for providing access to aggregate data values, comprising:
- providing an abstract data layer comprising a set of logical fields for composing an abstract query, wherein each logical field provides an access method that specifies at least a method for accessing data corresponding to the logical field, and wherein the method for accessing data specified by at least one logical field comprises an aggregate access method that specifies a set of input data and an expression for determining an aggregate data value from the set of input data;
receiving, from a requesting entity, an abstract query composed from the set of logical fields that includes the at least one logical field specifying an aggregate access method;
retrieving the set of input data specified by the aggregate access method;
calculating at least one aggregate data value from the set of input data according to the expression specified by the aggregate access method.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for defining and processing aggregate data is disclosed. Using database abstraction techniques, a set of logical fields may be used to compose queries of a set of underlying physical data sources. In one embodiment, a logical field may represent an aggregate data value calculated from the elements appearing in a column of a relational table in an underlying physical data source. The elements may be divided into to subsets to calculate multiple aggregate values. An abstract derived entity is a data object present in a database abstraction model that may be accessed as though it were a relational table contained in an underlying physical data source. In one embodiment, columns of the table defined by the abstract derived entity may be populated with aggregate data values joined to other data as specified by a composition rule included in the definition of the abstract derived entity.
-
Citations
20 Claims
-
1. A method for providing access to aggregate data values, comprising:
-
providing an abstract data layer comprising a set of logical fields for composing an abstract query, wherein each logical field provides an access method that specifies at least a method for accessing data corresponding to the logical field, and wherein the method for accessing data specified by at least one logical field comprises an aggregate access method that specifies a set of input data and an expression for determining an aggregate data value from the set of input data;
receiving, from a requesting entity, an abstract query composed from the set of logical fields that includes the at least one logical field specifying an aggregate access method;
retrieving the set of input data specified by the aggregate access method;
calculating at least one aggregate data value from the set of input data according to the expression specified by the aggregate access method. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for generating aggregate data values from data stored in a data source, comprising:
-
a database service available in a network environment, the database service comprising (a) a data source, (b) an abstract data layer, wherein the abstract data layer comprises a plurality of logical fields used to compose an abstract query to query the data source, and for each logical field, providing an access method specifying at least a method for accessing the data, wherein at least one logical field specifies an aggregate access method; and
(c) a runtime component configured to process an abstract query that includes the at least one logical field by (i) retrieving a definition for the aggregate access method, (ii) determining aggregate data values according to the definition, (iii) merging the aggregate data values with query results obtained for other logical fields included in the abstract query, and (iv) returning the results to the requesting entity. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer-readable medium, that when executed by a processor performs operations comprising:
-
providing, for a requesting entity, an abstract data layer comprising a plurality of logical fields for composing an abstract query, and for each logical field;
defining an access method that specifies at least a method for accessing the data corresponding to the logical field, wherein at least one logical field specifies an aggregate access method for accessing the data corresponding to the at least one logical field;
receiving, from the requesting entity, an abstract query that includes the at least one logical field specifying an aggregate access method;
retrieving a set of input data defined by the aggregate access method;
determining at least an aggregate data value from the set of input data;
transforming each other logical field included in the abstract query into a query contribution that is consistent with the data source specified by the access method for each logical field;
accessing the data source corresponding to each of the other logical fields using the query contribution and retrieving a set of query results data; and
returning, to the requesting entity, the at least one aggregate data value and the set of query results data.
-
Specification