Creating a logical table from multiple differently formatted physical tables having different access methods
First Claim
1. A method of creating a data model of logically related data stored in multiple databases comprising:
- providing a database abstraction model that defines a plurality of logical fields, wherein each logical field specifies a name for the logical field and at least one access method that maps the logical field to data in one of the multiple databases, and wherein the database abstraction model further defines a set of relationships between data stored in the multiple databases;
identifying at least one logical field that specifies multiple access methods, wherein each access method maps to data stored in a different one of the multiple databases;
generating a logical table, wherein the logical table includes the data from each of the multiple databases referenced by the multiple access methods of the at least one logical field;
replacing the multiple access methods for the at least one logical field with a single access method that maps the at least one logical field to the logical table; and
updating the set of relationships to reflect relationships between the logical table and other data in the multiple databases.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide methods for constructing a database abstraction model that includes logical fields that map to a logical table. The logical table is constructed using data extracted from multiple, differently formatted physical tables. The logical table allows logically related data stored in multiple databases to appear as data from a single table. Relationships between data stored in multiple, differently formatted databases are maintained and logical fields that include multiple access methods that map to the multiple databases are replaced with a single access method that maps to the logical table. Data relationships that are defined for the database abstraction model are modified to reflect the logical table.
160 Citations
25 Claims
-
1. A method of creating a data model of logically related data stored in multiple databases comprising:
-
providing a database abstraction model that defines a plurality of logical fields, wherein each logical field specifies a name for the logical field and at least one access method that maps the logical field to data in one of the multiple databases, and wherein the database abstraction model further defines a set of relationships between data stored in the multiple databases;
identifying at least one logical field that specifies multiple access methods, wherein each access method maps to data stored in a different one of the multiple databases;
generating a logical table, wherein the logical table includes the data from each of the multiple databases referenced by the multiple access methods of the at least one logical field;
replacing the multiple access methods for the at least one logical field with a single access method that maps the at least one logical field to the logical table; and
updating the set of relationships to reflect relationships between the logical table and other data in the multiple databases. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15)
-
-
12. A method for generating a logical table from multiple databases that store logically related data in differently formatted physical tables, comprising:
-
providing a database abstraction model that defines a plurality of logical fields, wherein each logical field specifies a name for the logical field and at least an access method that maps the logical field to data in one of the physical tables;
identifying logical fields that specify multiple access methods that each map to a column of data stored in one of the multiple databases, and for each such access method;
identifying the differently formatted physical tables referenced by the multiple access methods;
adding, to a column of the logical table, data from columns of the differently formatted physical tables referenced by the multiple access methods; and
determining whether another logical field with multiple access methods references a column of data, from any of the physical tables, not already included in the logical table, and if so, adding that column of data to the logical table; and
updating a database schema to include the logical table, wherein the database schema defines the relationships between data stored in the multiple databases and between the columns included in the logical table.
-
-
13. A computer-readable medium containing a plurality of instructions which, when executed on a computer system is configured to perform operations comprising:
-
providing a database abstraction model that defines a plurality of logical fields, wherein each logical field provides a name for the logical field and at least an access method that maps the logical field to data in one of the multiple databases, and wherein the database abstraction model further defines a set of relationships between data stored in the multiple databases;
identifying at least one logical field that provides multiple access methods, wherein each access method maps to data stored in a different one of the multiple databases;
generating a logical table, wherein the logical table includes the data from each of the multiple databases referenced by the multiple access methods of the at least one logical field;
replacing the multiple access methods for the at least one logical field with a single access method that maps the at least one logical field to the logical table; and
updating the set of relationships to reflect relationships between the logical table and other data in the multiple databases. - View Dependent Claims (14, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable medium containing a plurality of instructions which, when executed on a computer system is configured to perform operations for generating a logical table from multiple databases that store data in differently formatted physical tables, comprising:
-
accessing a database abstraction model that defines a plurality of logical fields, wherein each logical field specifies a name for the logical field and at least one access method that maps the logical field to data in one of the physical tables;
identifying logical fields that specify multiple access methods that map to logically related data stored in the multiple databases, and for each such access method;
identifying the differently formatted physical tables referenced by the multiple access methods;
adding, to the logical table, logically related data from columns of the physical tables referenced by the multiple access methods; and
determining whether any other logical field with multiple access methods references a column of data, from any of the physical tables, not already included in the logical table, and if so, adding that column of data to the logical table; and
updating a database schema to include the logical table, wherein the database schema defines the relationships between data stored in the multiple databases.
-
-
24. A system for processing abstract queries, comprising:
-
a plurality of database systems;
a database abstraction model that defines a plurality of logical fields, wherein each logical field specifies a name for the logical field and at least an access method that maps the logical field to data in one of the databases, and wherein at least one access method provides multiple access methods that each map to logically related data stored in a different one of the multiple databases;
a user interface configured to allow a user to compose an abstract query from the plurality of logical fields; and
a runtime component configured to receive and abstract query, and in response, to generate a resolved query of the plurality of database systems and further configured to (i) generate a logical table, wherein the logical table includes the data from each of the plurality of database systems referenced by the multiple access methods of the at least one logical field;
(ii) replace the multiple access methods for the at least one logical field with a single access method that maps the at least one logical field to the logical table; and
(iii) update a set of relationships defined for the database abstraction model. - View Dependent Claims (25)
-
Specification