Query generator
First Claim
1. A query generator for generating a query for obtaining selected data from a database, the database having a number of detail tables in which data is stored, the query generator comprising a processor which is coupled to the database in use, the processor being adapted to:
- a. receive an input indicating the selected data to be obtained to generate a first query;
b. analyze the input and determine whether the input requires a joining of data in a plurality of different detail tables, and an aggregation step; and
,c. if it is determined the input requires a joining of data in a plurality of different detail tables, causing the processor to modify the content of the first query indicating the selected data to be obtained to generate a second query, the second query being adapted to cause the database to;
i. aggregate the data within each of the plurality of detail tables as required; and
,ii. perform a SQL join operation to join the aggregated data from each of the plurality of detail tables, the joined aggregated data representing the selected data.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a query generator for generating a query for obtaining selected data from a database. The query generator includes a processor which is adapted to receive an input indicating the selected data to be obtained. The processor then analyses the input to determine whether the input requires a joining of data in different tables, and an aggregation step. If so, the processor generates a query which causes the database to aggregate the data within each of the tables as required; and, join the aggregated data, the joined aggregated data representing the selected data.
35 Citations
20 Claims
-
1. A query generator for generating a query for obtaining selected data from a database, the database having a number of detail tables in which data is stored, the query generator comprising a processor which is coupled to the database in use, the processor being adapted to:
-
a. receive an input indicating the selected data to be obtained to generate a first query; b. analyze the input and determine whether the input requires a joining of data in a plurality of different detail tables, and an aggregation step; and
,c. if it is determined the input requires a joining of data in a plurality of different detail tables, causing the processor to modify the content of the first query indicating the selected data to be obtained to generate a second query, the second query being adapted to cause the database to; i. aggregate the data within each of the plurality of detail tables as required; and
,ii. perform a SQL join operation to join the aggregated data from each of the plurality of detail tables, the joined aggregated data representing the selected data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A database system, the database system comprising:
- a. a database, the database comprising;
i. a store for storing data, the store having a number of detail tables; and
,ii. a database processor coupled to the store for obtaining data in accordance with a received query; and
,b. a query generator for generating a structured query for obtaining selected data from the database, the query generator comprising a processor adapted to; i. receive an input representing a first structured query to be generated; ii.analyze the input and determine whether the input requires a joining of data in a plurality of different detail tables, and an aggregation step; and
,iii. if the input requires a joining of data in a plurality of different detail tables, causing the processor to modify the content of the first query indicating the selected data to be obtained to generate a second structured query, wherein the database processor responds to the second structured query to; (1) aggregate the data within each of the plurality of detail tables as required; and
,(2) perform a SQL join operation to join the aggregated data from each of the plurality of detail tables, the joined aggregated data representing the selected data. - View Dependent Claims (10, 11, 12, 13, 14, 15)
- a. a database, the database comprising;
-
16. A query generator for generating a query for obtaining selected data from a database, the database having a number of detail tables in which data is stored, the query generator comprising a processor which is coupled to the database in use, the processor being adapted to:
-
a. receive an input indicating the selected data to be obtained to generate a first query; b. analyze the input and determine whether the input requires a joining of data in a plurality of different detail tables, and an aggregation step; and
,c. if it is determined the input requires a joining of data in a plurality of different detail tables, causing the processor to modify the content of the first query indicating the selected data to be obtained to generate a second query, the second query being adapted to cause the database to; i. aggregate the data within each of the plurality of detail tables as required; and
,ii. perform a SQL join operation to join the aggregated data from each of the plurality of detail tables, the joined aggregated data representing the selected data; wherein the data is selected by implementing complex folders to generate inline views within the database, the inline views being maintained until the aggregation is completed.
-
-
17. A computer program product for generating a query for obtaining selected data from a database, the database having a number of detail tables in which data is stored, comprising:
-
a computer readable medium; computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of; a. receiving an input indicating the selected data to be obtained to generate a first query; b. analyzing the input and determine whether the input requires a joining of data in a plurality of different detail tables, and an aggregation step; and
,c. if it is determined the input requires a joining of data in a plurality of different detail tables, causing the processor to modify the content of the first query indicating the selected data to be obtained to generate a second query, the second query being adapted to cause the database to; i. aggregate the data within each of the plurality of detail tables as required; and
,ii. perform a SQL join operation to join the aggregated data from each of the plurality of detail tables, the joined aggregated data representing the selected data. - View Dependent Claims (18, 19, 20)
-
Specification