Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
First Claim
1. A method of accessing at least one data source, the method comprising the steps of:
- intercepting a command to a relational database management system;
determining if the intercepted command accesses the data source utilizing a logical table name;
translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the step of determining, the step of translating and the step of providing comprise the respective steps of;
determining if the intercepted command accesses the data source utilizing a logical table name and a logical column name;
translating the logical table name to the physical table name if the intercepted command accesses the data source utilizing the logical table name;
translating the logical column name to a physical table name if the intercepted command accesses the data source utilizing the logical column name; and
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name and the physical column name translated from the logical column name if the intercepted command accesses the data source utilizing the logical table name and the logical column name so as to provide access to the data source utilizing the logical table name and the logical column name.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products are provided which allow for accessing at least one data source by intercepting a command to a standard relational database management system and determining if the intercepted command accesses the data source utilizing a logical table name. If the intercepted command accesses the data source utilizing the logical table name, then the logical table name is translated to a physical table name. The intercepted command is the provided to the relational database management system utilizing the physical table name translated from the logical table name so as to provide access the data source utilizing the logical table name. Furthermore, if the intercepted command accesses the data source utilizing a logical table name and a logical column name, then the logical table name is translated to the physical table name and the logical column name translated to a physical column name.
96 Citations
39 Claims
-
1. A method of accessing at least one data source, the method comprising the steps of:
-
intercepting a command to a relational database management system;
determining if the intercepted command accesses the data source utilizing a logical table name;
translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the step of determining, the step of translating and the step of providing comprise the respective steps of;
determining if the intercepted command accesses the data source utilizing a logical table name and a logical column name;
translating the logical table name to the physical table name if the intercepted command accesses the data source utilizing the logical table name;
translating the logical column name to a physical table name if the intercepted command accesses the data source utilizing the logical column name; and
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name and the physical column name translated from the logical column name if the intercepted command accesses the data source utilizing the logical table name and the logical column name so as to provide access to the data source utilizing the logical table name and the logical column name. - View Dependent Claims (2, 7, 8)
determining if additional relational database management system commands are required to provide the function of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
generating additional database management system commands utilizing physical table names and physical column names if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
wherein the step of providing comprises the step of providing the generated commands to the relational database management system utilizing the physical table name and the physical column name if the intercepted command accesses the database utilizing the logical table name and the logical column name and if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command so as to provide access to the data source utilizing the logical table name and the logical column name.
-
-
7. A method according to claim 1, wherein the data source comprises a plurality of data sources and wherein a plurality of logical column names are associated with the intercepted command, the method further comprising:
-
translating a first of the plurality of logical column names to a first physical column name associated with a first of the plurality of data sources; and
translating a second of the plurality of logical column names to a second physical column name associated with a second of the plurality of data sources; and
wherein said providing step comprises the step of providing the intercepted command to the relational database management system utilizing the first physical column name associated with the first of the plurality of data sources and utilizing the second physical column name associated with the second of the plurality of data sources.
-
-
8. A method according to claim 7, wherein at least one of the first and the second of the plurality of data sources comprises a relational database and at least one of the first and the second of the plurality of data sources comprises a non-relational data source.
-
3. A method of accessing at least one data source, the method comprising the steps of:
-
intercepting a command to a relational database management system;
determining if the intercepted command accesses the data source utilizing a logical table name;
translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
providing the intercepted command to the relational database management system if the intercepted command does not contain a logical table name.
-
-
4. A method of accessing at least one data source, the method comprising the steps of:
-
intercepting a command to a relational database management system;
determining if the intercepted command accesses the data source utilizing a logical table name;
translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
wherein the relational database management system comprises an Open Database Connectivity (ODBC) system. - View Dependent Claims (5, 6)
-
-
9. A method of accessing at least one data source, the method comprising the steps of:
-
intercepting a command to a relational database management system;
determining if the intercepted command accesses the data source utilizing a logical table name;
translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the step of translating comprises the steps of;
accessing a table of metadata wherein the metadata defines a relationship between the logical table name and the physical table name; and
mapping the logical table name to the physical table name utilizing the metadata. - View Dependent Claims (10, 11, 12, 13)
defining a logical model for accessing data from the plurality of data sources;
generating metadata which describes a relationship between the logical model and data stored in a plurality of data sources; and
storing the metadata as the table of metadata.
-
-
12. A method according to claim 11, further comprising the steps of:
-
revising the relationship between the logical model and the data stored in the plurality of data sources by revising the metadata; and
updating the table of metadata to reflect the revised metadata.
-
-
13. A method according to claim 11, wherein at least one of the plurality of data sources is a non-relational data source and at least one of the plurality of data sources is a relational database.
-
14. A system for accessing at least one data source, comprising:
-
means for intercepting a command to a relational database management system;
means for determining if the intercepted command accesses the data source utilizing a logical table name;
means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name; and
means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the means for determining, the means for translating and the means for providing comprise;
means for determining if the intercepted command accesses the data source utilizing a logical table name and a logical column name;
means for translating the logical table name to the physical table name if the intercepted command accesses the data source utilizing the logical table name;
means for translating the logical column name to a physical table name if the intercepted command accesses the data source utilizing the logical column name; and
means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name and the physical column name translated from the logical column name if the intercepted command accesses the data source utilizing the logical table name and the logical column name so as to provide access to the data source utilizing the logical table name and the logical column name. - View Dependent Claims (15, 20, 21)
means for determining if additional relational database management system commands are required to provide the function of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
means for generating additional database management system commands utilizing physical table names and physical column names if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
wherein the means for providing comprises means for providing the generated commands to the relational database management system utilizing the physical table name and the physical column name if the intercepted command accesses the database utilizing the logical table name and the logical column name and if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command so as to provide access to the data source utilizing the logical table name and the logical column name.
-
-
20. A system according to claim 14, wherein the data source comprises a plurality of data sources and wherein a plurality of logical column names are associated with the intercepted command, further comprising:
-
means for translating a first of the plurality of logical column names to a first physical column name associated with a first of the plurality of data sources; and
means for translating a second of the plurality of logical column names to a second physical column name associated with a second of the plurality of data sources; and
wherein said means for providing comprises means for providing the intercepted command to the relational database management system utilizing the first physical column name associated with the first of the plurality of data sources and utilizing the second physical column name associated with the second of the plurality of data sources.
-
-
21. A system according to claim 20, wherein at least one of the first and the second of the plurality of data sources comprises a relational database and at least one of the first and the second of the plurality of data sources comprises a non-relational data source.
-
16. A system for accessing at least one data source, comprising:
-
means for intercepting a command to a relational database management system;
means for determining if the intercepted command accesses the data source utilizing a logical table name;
means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
means for providing the intercepted command to the relational database management system if the intercepted command does not contain a logical table name.
-
-
17. A system for accessing at least one data source, comprising:
-
means for intercepting a command to a relational database management system;
means for determining if the intercepted command accesses the data source utilizing a logical table name;
means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
wherein the relational database management system comprises an Open Database Connectivity (ODBC) system. - View Dependent Claims (18, 19)
-
-
22. A system for accessing at least one data source, comprising:
-
means for intercepting a command to a relational database management system;
means for determining if the intercepted command accesses the data source utilizing a logical table name;
means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name; and
means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the means for translating comprises;
means for accessing a table of metadata wherein the metadata defines a relationship between the logical table name and the physical table name; and
means for mapping the logical table name to the physical table name utilizing the metadata. - View Dependent Claims (23, 24, 25, 26)
means for defining a logical model for accessing data from the plurality of data sources;
means for generating metadata which describes a relationship between the logical model and data stored in a plurality of data sources; and
means for storing the metadata as the table of metadata.
-
-
25. A system according to claim 24, further comprising:
-
means for revising the relationship between the logical model and the data stored in the plurality of data sources by revising the metadata; and
means for updating the table of metadata to reflect the revised metadata.
-
-
26. A system according to claim 24, wherein at least one of the plurality of data sources is a non-relational data source and at least one of the plurality of data sources is a relational database.
-
27. A computer program product for accessing at least one data source, comprising:
-
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising;
computer readable program code means for intercepting a command to a relational database management system;
computer readable program code means for determining if the intercepted command accesses the data source utilizing a logical table name;
computer readable program code means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
computer readable program code means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the computer readable program code means for determining, the computer readable program code means for translating and the computer readable program code means for providing comprise;
computer readable program code means for determining if the intercepted command accesses the data source utilizing a logical table name and a logical column name;
computer readable program code means for translating the logical table name to the physical table name if the intercepted command accesses the data source utilizing the logical table name;
computer readable program code means for translating the logical column name to a physical table name if the intercepted command accesses the data source utilizing the logical column name; and
computer readable program code means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name and the physical column name translated from the logical column name if the intercepted command accesses the data source utilizing the logical table name and the logical column name so as to provide access to the data source utilizing the logical table name and the logical column name. - View Dependent Claims (28, 33, 34)
computer readable program code means for determining if additional relational database management system commands are required to provide the function of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
computer readable program code means for generating additional database management system commands utilizing physical table names and physical column names if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command utilizing the physical table name and the physical column name; and
wherein the computer readable program code means for providing comprises computer readable program code means for providing the generated commands to the relational database management system utilizing the physical table name and the physical column name if the intercepted command accesses the database utilizing the logical table name and the logical column name and if additional relational database management system commands are required to carry out the operation of the intercepted relational database management system command so as to provide access to the data source utilizing the logical table name and the logical column name.
-
-
33. A computer program product according to claim 27, wherein the data source comprises a plurality of data sources and wherein a plurality of logical column names are associated with the intercepted command, further comprising:
-
computer readable program code means for translating a first of the plurality of logical column names to a first physical column name associated with a first of the plurality of data sources; and
computer readable program code means for translating a second of the plurality of logical column names to a second physical column name associated with a second of the plurality of data sources; and
wherein said computer readable program code means for providing comprises computer readable program code means for providing the intercepted command to the relational database management system utilizing the first physical column name associated with the first of the plurality of data sources and utilizing the second physical column name associated with the second of the plurality of data sources.
-
-
34. A computer program product according to claim 33, wherein at least one of the first and the second of the plurality of data sources comprises a relational database and at least one of the first and the second of the plurality of data sources comprises a non-relational data source.
-
29. A computer program product for accessing at least one data source, comprising:
-
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising;
computer readable program code means for intercepting a command to a relational database management system;
computer readable program code means for determining if the intercepted command accesses the data source utilizing a logical table name;
computer readable program code means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
computer readable program code means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command-accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
computer readable program code means for providing the intercepted command to the relational database management system if the intercepted command does not contain a logical table name.
-
-
30. A computer program product for accessing at least one data source, comprising:
-
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising;
computer readable program code means for intercepting a command to a relational database management system;
computer readable program code means for determining if the intercepted command accesses the data source utilizing a logical table name;
computer readable program code means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
computer readable program code means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name; and
wherein the relational database management system comprises an Open Database Connectivity (ODBC) system. - View Dependent Claims (31, 32)
-
-
35. A computer program product for accessing at least one data source, comprising:
-
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising;
computer readable program code means for intercepting a command to a relational database management system;
computer readable program code means for determining if the intercepted command accesses the data source utilizing a logical table name;
computer readable program code means for translating the logical table name to a physical table name if the intercepted command accesses the data source utilizing the logical table name;
computer readable program code means for providing the intercepted command to the relational database management system utilizing the physical table name translated from the logical table name if the intercepted command accesses the data source utilizing the logical table name so as to provide access to the data source utilizing the logical table name;
wherein the computer readable program code means for translating comprises;
computer readable program code means for accessing a table of metadata wherein the metadata defines a relationship between the logical table name and the physical table name; and
computer readable program code means for mapping the logical table name to the physical table name utilizing the metadata. - View Dependent Claims (36, 37, 38, 39)
computer readable program code means for defining a logical model for accessing data from the plurality of data sources;
computer readable program code means for generating metadata which describes a relationship between the logical model and data stored in a plurality of data sources; and
computer readable program code means for storing the metadata as the table of metadata.
-
-
38. A computer program product according to claim 37, further comprising:
-
computer readable program code means for revising the relationship between the logical model and the data stored in the plurality of data sources by revising the metadata; and
computer readable program code means for updating the table of metadata to reflect the revised metadata.
-
-
39. A computer program product according to claim 37, wherein at least one of the plurality of data sources is a non-relational data source and at least one of the plurality of data sources is a relational database.
Specification