ABSTRACT QUERY PLAN
First Claim
1. A method of providing an abstraction of a relational database, comprising:
- defining a data abstraction model, wherein the data abstraction model comprises;
(i) a plurality of logical fields, wherein each logical field identifies a name for the logical field and an access method that maps the logical field to a column of a table in the relational database, (ii) an indication of the relationships between logical fields, and a (iii) a representation of the relational database that identifies the relationships between data sources in the relational database;
providing a query building interface configured to allow a user to compose an abstract query from the plurality of logical fields; and
providing a runtime component configured to process an abstract query to generate an intermediate representation of the abstract query.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus, and article of manufacture are provided to process an abstract query of a database abstraction constructed over an underlying physical data storage mechanism. The database may comprise a single data source, or a federated source spanning multiple systems. Embodiments of the invention process an abstract query by generating an intermediate representation of the abstract query. In one embodiment, the intermediate representation comprises an abstract query plan. An abstract query plan includes a combination of elements from the data abstraction model and elements relating to the underlying physical data storage mechanism. Once generated, a back-end component may easily traverse the abstract query plan to generate an SQL statement (or other resolved query) corresponding to the abstract query. Further, once constructed, the abstract query plan provides a platform for many different optimizations that may be selected by a user or by the runtime component inspecting the abstract query plan prior to creating the resolved query.
-
Citations
18 Claims
-
1. A method of providing an abstraction of a relational database, comprising:
-
defining a data abstraction model, wherein the data abstraction model comprises;
(i) a plurality of logical fields, wherein each logical field identifies a name for the logical field and an access method that maps the logical field to a column of a table in the relational database, (ii) an indication of the relationships between logical fields, and a (iii) a representation of the relational database that identifies the relationships between data sources in the relational database;
providing a query building interface configured to allow a user to compose an abstract query from the plurality of logical fields; and
providing a runtime component configured to process an abstract query to generate an intermediate representation of the abstract query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium containing a plurality of instructions which, when executed on a computer system is configured to perform operations comprising:
-
defining a data abstraction model, wherein the data abstraction model comprises;
a plurality of logical fields, wherein each logical field identifies a name for the logical field and an access method that maps the logical field to a data source in a relational database, an indication of the relationships between logical fields, and a graph representation of the relational database that identifies the relationships between data sources in the relational database; and
providing a query building interface configured to allow the composition of an abstract query from the plurality of logical fields;
providing a runtime component configured to process an abstract query to generate an intermediate representation of the abstract query. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification