A computer program for automatically generating queries to a database
management system (DBMS) is disclosed. The computer program receives a
high level specification of the data sought to be retrieved from an
application program. The high level specification includes the columns
from which data is sought, and any constraints on the data to be retrieved
from those columns such as filter constraints. The computer program also
receives a context for the columns to be queried, so that it can be
determined which tables of the DBMS the columns are associated with. The
computer program further receives a specification of the schema of the
DBMS, with the schema specifying the relationship between the various data
storage entities of the DBMS. Using the high level specification and the
schema, the computer program automatically generates queries to the DBMS
seeking to reduce the complexity of the queries to speed execution, and to
reduce the number of round trips between the computer program and the
DBMS, also to enhance speed. For this purpose, queries may be separated
into primary and secondary queries, and batched together, with secondary
queries using data retrieved in a primary query in order to retrieve
further data.
Ein Computerprogramm für Fragen zu einem Datenbankmanagementsystem (DBMS) automatisch erzeugen wird freigegeben. Das Computerprogramm empfängt eine Spezifikation des hohen Niveaus der Daten, die gesucht werden, von einem Anwendungsprogramm zurückgeholt zu werden. Die Spezifikation des hohen Niveaus schließt die Spalten, von denen Daten gesucht werden, und alle mögliche Begrenzungen auf den von jenen Spalten wie Filterbegrenzungen zurückzuholenden Daten ein. Das Computerprogramm empfängt auch einen Kontext, damit die Spalten gefragt werden können, damit es festgestellt werden kann, dem Tabellen des DBMS die Spalten mit sind. Das Computerprogramm, das weiter ist, empfängt eine Spezifikation des Schemas des DBMS, wenn das Schema das Verhältnis spezifiziert, zwischen den verschiedenen Datenspeicherwesen des DBMS. Mit der Spezifikation des hohen Niveaus und dem Schema erzeugt das Computerprogramm automatisch Fragen zum DBMS, der, die Kompliziertheit der Fragen auf Geschwindigkeit Durchführung zu verringern, sucht und die Zahl runden Reisen zwischen dem Computerprogramm und dem DBMS zu verringern, um Geschwindigkeit auch zu erhöhen. Zu diesem Zweck können die Fragen in die Primär- und Sekundärfragen und aufeinanderfolgendes zusammen getrennt werden, mit Sekundärfragen mit den Daten, die in einer Primärfrage zurückgeholt werden, um weitere Daten zurückzuholen.