|
|||||||||||
In traditional query processing, a user poses a query Q on a database D and gets the query results R. Reverse Query Processing (RQP) turns traditional query processing around. A user of RQP inputs a query Q, the query results R of that query, and a database schema S. RQP then generates a database D such that evaluating Q against the generated database D returns R as the query results again. That is Q(D ) = R.
RQP has a number of applications. One of them is to generate test databases for database applications. Remember the dates of implementing the airline system during your database course? After you designed and implemented your system, how could you test your system against the DBMS? One common way was to insert a set of test data manually and tested if your system worked properly. However, in practice, such a meaningful set of test data is very difficult to create manually. For example, the query Q in the system to be tested often returns no results based on the manually created data. With RQP, you can specify your desired query results and RQP generates a meaningful test database for you.
The followings are the ongoing work related to RQP:
1. TSRQP: Testing Scalability of Database using Reverse Query Processing. Nowadays, database vendors evaluate the performance of their database products by scaling up the size of the test databases and measure the performance of their products under different database sizes. In addition to scaling up the database size, TSRQP aims to generate test databases where the sizes of the query results are under control as well. This way, the performance of various database products can be studied more thoroughly.
2. FTRQP: Functional Testing Database Applications using Reverse Query Processing. The current RQP system generates a test database for a single query. Complex system often consists of multiple queries within a single program (e.g., a Java servlet consists of multiple SQL statements). FTRQP aims to generate a single test database for multiple queries.
Eric Lo <eric.lo [at] inf.ethz.ch>
Donald Kossmann <kossmann [at] inf.ethz.ch>
Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne
graphische Elemente dargestellt. Die Funktionalität der
Website ist aber trotzdem gewährleistet. Wenn Sie diese
Website regelmässig benutzen, empfehlen wir Ihnen, auf
Ihrem Computer einen aktuellen Browser zu installieren. Weitere
Informationen finden Sie auf
folgender
Seite.
Important Note:
The content in this site is accessible to any browser or
Internet device, however, some graphics will display correctly
only in the newer versions of Netscape. To get the most out of
our site we suggest you upgrade to a newer browser.
More
information