Algorithmic Debugging of SQL Views

  • Rafael Caballero
  • Yolanda García-Ruiz
  • Fernando Sáenz-Pérez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7162)


We present a general framework for debugging systems of correlated SQL views. The debugger locates an erroneous view by navigating a suitable computation tree. This tree contains the computed answer associated with every intermediate relation, asking the user whether this answer is expected or not. The correctness and completeness of the technique is proven formally, using a general definition of SQL operational semantics. The theoretical ideas have been implemented in an available tool which includes the possibility of employing trusted specifications for reducing the number of questions asked to the user.


Computation Tree Database Schema Deductive Database View Versus Debug Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Caballero, R., García-Ruiz, Y., Sáenz-Pérez, F.: A Theoretical Framework for the Declarative Debugging of Datalog Programs. In: Schewe, K.-D., Thalheim, B. (eds.) SDKB 2008. LNCS, vol. 4925, pp. 143–159. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Caballero, R., López-Fraguas, F., Rodríguez-Artalejo, M.: Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs. In: Kuchen, H., Ueda, K. (eds.) FLOPS 2001. LNCS, vol. 2024, pp. 170–184. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Codd, E.: Relational Completeness of Data Base Sublanguages. In: Rustin (ed.) Data Base Systems. Courant Computer Science Symposia Series, vol. 6. Prentice-Hall, Englewood Cliffs (1972)Google Scholar
  4. 4.
    Dayal, U., Goodman, N., Katz, R.H.: An extended relational algebra with control over duplicate elimination. In: PODS 1982: Proceedings of the 1st ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, pp. 117–123. ACM, New York (1982)CrossRefGoogle Scholar
  5. 5.
    Garcia-Molina, H., Ullman, J.D., Widom, J.: Database Systems: The Complete Book. Prentice Hall PTR, Upper Saddle River (2008)Google Scholar
  6. 6.
    Grefen, P.W.P.J., de By, R.A.: A multi-set extended relational algebra: a formal approach to a practical issue. In: 10th International Conference on Data Engineering, pp. 80–88. IEEE (1994)Google Scholar
  7. 7.
    Naish, L.: A Declarative Debugging Scheme. Journal of Functional and Logic Programming 3 (1997)Google Scholar
  8. 8.
    Negri, M., Pelagatti, G., Sbattella, L.: Formal semantics of SQL queries. ACM Trans. Database Syst. 16(3), 513–534 (1991)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Nilsson, H.: How to look busy while being lazy as ever: The implementation of a lazy functional debugger. Journal of Functional Programming 11(6), 629–671 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Sáenz-Pérez, F.: DES: A Deductive Database System. In: Spanish Conference on Programming and Computer Languages (September 2010) (in Press)Google Scholar
  11. 11.
    Shapiro, E.: Algorithmic Program Debugging. In: ACM Distiguished Dissertation. MIT Press (1982)Google Scholar
  12. 12.
    SQL, ISO/IEC 9075:1992, third edition (1992)Google Scholar
  13. 13.
    Vansummeren, S., Cheney, J.: Recording provenance for sql queries and updates. IEEE Data Eng. Bull. 30(4), 29–37 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Rafael Caballero
    • 1
  • Yolanda García-Ruiz
    • 1
  • Fernando Sáenz-Pérez
    • 1
  1. 1.Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de MadridSpain

Personalised recommendations