Declarative Debugging of Wrong and Missing Answers for SQL Views
This paper presents a debugging technique for diagnosing errors in SQL views. The debugger allows the user to specify the error type, indicating if there is either a missing answer (a tuple was expected but it is not in the result) or a wrong answer (the result contains an unexpected tuple). This information is employed for slicing the associated queries, keeping only those parts that might be the cause of the error. The validity of the results produced by sliced queries is easier to determine, thus facilitating the location of the error. Although based on the ideas of declarative debugging, the proposed technique does not use computation trees explicitly. Instead, the logical relations among the nodes of the trees are represented by logical clauses that also contain the information extracted from the specific questions provided by the user. The atoms in the body of the clauses correspond to questions that the user must answer in order to detect an incorrect relation. The resulting logic program is executed by selecting at each step the unsolved atom that yields the simplest question, repeating the process until an erroneous relation is detected. Soundness and completeness results are provided. The theoretical ideas have been implemented in a working prototype included in the Datalog system DES.
KeywordsLogic Program Database Schema Horn Clause View Versus Basic Query
Unable to display preview. Download preview PDF.
- 2.ApexSQL Debug (2011), http://www.apexsql.com/sql_tools_debug.aspx/
- 4.Caballero, R., García-Ruiz, Y., Sáenz-Pérez, F.: Algorithmic Debugging of SQL Views. In: Clarke, E., Virbitskaite, I., Voronkov, A. (eds.) PSI 2011. LNCS, vol. 7162, pp. 77–85. Springer, Heidelberg (2012)Google Scholar
- 8.Garcia-Molina, H., Ullman, J.D., Widom, J.: Database Systems: The Complete Book. Prentice Hall PTR, Upper Saddle River (2008)Google Scholar
- 10.Grefen, P.W., de By, R.A.: A multi-set extended relational algebra: a formal approach to a practical issue. In: ICDE 1994, pp. 80–88. IEEE (1994)Google Scholar
- 11.Naish, L.: A Declarative Debugging Scheme. Journal of Functional and Logic Programming 3 (1997)Google Scholar
- 13.Rapid SQL Developer Debugger (2011), http://docs.embarcadero.com/products/rapid_sql/
- 14.Sáenz-Pérez, F.: Datalog Educational System v3.0 (March 2012), http://des.sourceforge.net/
- 16.Shapiro, E.: Algorithmic Program Debugging. ACM Distiguished Dissertation. MIT Press (1982)Google Scholar
- 18.SQL, ISO/IEC 9075:1992, 3rd edn. (1992)Google Scholar