Reverse Query ProcessingCarsten Binnig; Donald Kossmann; Eric Lo
In: Rada Chirkova; Asuman Dogac; M. Tamer Özsu; Timos K. Sellis (Hrsg.). Proceedings of the 23rd International Conference on Data Engineering. IEEE International Conference on Data Engineering (ICDE-2007), April 15-20, Istanbul, Turkey, Pages 506-515, IEEE Computer Society, 2007.
Generating databases for testing database applications (e.g., OLAP or business objects) is a daunting task in practice. There are a number of commercial tools to automatically generate test databases. These tools take a database schema (table layouts plus integrity constraints) and table sizes as input in order to generate new tuples. However, the databases generated by these tools are not adequate for testing a database application. If an application query is executed against such a synthetic database, then the result of that application query is likely to be empty or contain weird results, such as a report on the performance of a sales person that contains negative sales. To solve this problem, this paper proposes a new technique called reverse query processing (RQP). RQP gets a query and a result as input and returns a possible database instance that could have produced that result for that query. RQP also has other applications; most notably, testing the performance of DBMS and debugging SQL queries.