The present invention generally relates to database management systems, and more particularly to providing access to data stored in a plurality of tables using a standardized query. In specific embodiments, access is provided to data stored in a plurality of tables and/or generated by a plurality of programs, Mapper runs, or any program capable of being invoked by a Mapper run.
SQL is an industry standard language that is used to reference relational database tables. Open Database Connectivity (ODBC) is the protocol that uses the SQL to provide access to database tables hosted on a server by a database management system. ODBC interfaces have been developed in various systems for data hosted by a fourth-generation language (4GL) such as Mapper from Unisys.
With Mapper applications, as well as other applications which were developed prior to the proliferation of ODBC interfaces, a single table can be generated from multiple systems, each hosting a portion of the requested data. Thus, a table can be generated from a combination of local and remote database access. For example, if there are four regional databases, a Mapper run (program) could generate a single table containing data from the four databases and/or applications. However, introducing an ODBC interface presents additional considerations of the same data set is desired.
With an ODBC interface to the four regional databases, access to the data set can be provided using at least two approaches. In one approach, the data set from the multiple tables could be gathered using multiple SELECT commands. However, if the data relations are complex and there is a wide variety of data to be gathered, the SELECT commands may be complex, thereby increasing the chance of error in formulating the SELECT commands.
In another approach for assembling the data set using multiple databases, the data set could be defined as a separate relational table, in addition to the multiple database tables. This approach would result in redundant data, however, and require application development time.
A system and method that addresses the aforementioned problems, as well as other related problems, is therefore desirable.
In various embodiments, systems and methods provide access to data stored in a plurality of data sets. A simulated table definition is hosted by a server and includes selected data definitions from the plurality of tables. Data extraction logic is hosted by the server and extracts data from the plurality of tables into memory of the server consistent with the simulated table definition and responsive to a request for access to the simulated table. Interface logic is also hosted by the server and is coupled to the data extraction logic. The interface logic transmits the extracted data to the requester consistent with the simulated table and returns for reuse the memory occupied by data of the simulated table after transmitting the data.
In accordance with another embodiment of the invention, there is provided a computer program product that is configured to be operable to provide access to data stored in a plurality of data sets using a simulated table.
The above summary of the present invention is not intended to describe each disclosed embodiment of the present invention. The figures and detailed description that follow provide additional example embodiments and aspects of the present invention.