A program storage device, readable by a computer having a processor, the computer coupled to a data storage device, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of providing access to object data stored in an object server in response to a database query, the method comprising the steps of:
- receiving the database query comprising a relational operation from a client, said relational operation comprising at least one object surrogate identifying object data stored in an object server;
- transforming the database query into relational database commands;
- transmitting the relational database commands to a relational database management system;
- receiving a response table from the relational database management system;
- compiling an answer set from the response table, the answer set comprising an object locator identifying the object data stored in the object server and responsive to the database query;
- transmitting the answer set to the client;
- wherein the transforming step comprises the method steps of
- parsing the database command into a parse tree of object structures comprising relational database commands and object server commands, said parse tree comprising parse tree nodes;
- obtaining cost parameters for the parse object structures from a global data dictionary;
- binding the cost parameters to the parse tree nodes;
- iterating over the parse tree object structures to evaluate parse tree options according to the cost parameters and a selection criteria;
- and
- selecting the parse tree option based upon the cost parameters and selected criteria.