System and method for generating an optimized set of relational queries for fetching data from a relational database management system in response to object queries received from an object oriented environment
First Claim
1. A method of processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising the steps of:
- (1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed;
(2) translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query;
(3) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and
(4) causing said RDBMS to process said set of relational queries.
0 Assignments
0 Petitions
Accused Products
Abstract
The processing of object-oriented queries so as to retrieve data from a relational database management system (RDBMS) is described. An object-oriented query and at least one prefetch path are received from an object-oriented source (such as an application or user) . The prefetch path identifies one or more objects which are desired to be constructed. The object-oriented query is translated to a translated object query, where the translated object query is a relational database query capable of retrieving from the RDBMS data to initialize base attributes of top-level objects identified by the object-oriented query. A set of relational queries is generated from the translated object query and the prefetch path. These relational queries, which are capable of retrieving from the RDBMS data needed to construct the objects identified by the prefetch path, are processed by the RDBMS.
-
Citations
28 Claims
-
1. A method of processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising the steps of:
-
(1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; (2) translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (3) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and (4) causing said RDBMS to process said set of relational queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of processing object-oriented queries so as to retrieve data from a non-object oriented database management system (DBMS), comprising the steps of:
-
(1) receiving a translated object query generated from an object-oriented query having at least one prefetch path, said at least one prefetch path identifying one or more objects which are desired to be constructed, said translated object query being a relational database query capable of retrieving from said DBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (2) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said DBMS data to construct said objects identified by said at least one prefetch path; and (3) causing said DBMS to process said set of relational queries.
-
-
13. A database system, comprising:
-
a relational database management system (RDBMS); an object-relational database gateway for receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; said gateway comprising; a first query generator for translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; a second query generator for generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and means for causing said RDBMS to process said set of relational queries. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer system, comprising:
-
a processor; a relational database management system (RDBMS); a controller for enabling said processor to process object-oriented queries so as to retrieve data from said RDBMS, comprising; means for enabling said processor to receive an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; a first query generator for enabling said processor to translate said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; a second query generator for enabling said processor to generate from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and means for enabling said processor to cause said RDBMS to process said set of relational queries. - View Dependent Claims (24)
-
-
25. A controller, for use in a computer system comprising a processor and a relational database management system (RDBMS), for enabling the processor to process object-oriented queries so as to retrieve data from said RDBMS, comprising:
-
means for enabling the processor to receive an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; a first query generator for enabling the processor to translate said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; a second query generator for enabling the processor to generate from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and means for enabling the processor to cause said RDBMS to process said set of relational queries.
-
-
26. A method of processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising the steps of:
-
(1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; (2) translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving data from said RDBMS; and (3) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path. - View Dependent Claims (27, 28)
-
Specification