Skip to main content

Static management of integrity in object-oriented databases: Design and implementation

  • Conference paper
  • First Online:
Book cover Advances in Database Technology — EDBT'98 (EDBT 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1377))

Included in the following conference series:

Abstract

In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of a simplified database programming language, close to O2, in which we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naÏve management of such constraints can cause a severe floundering of the overall system. Our basic assumption is that the run-time checking of constraints is too costly to be undertaken systematically. Therefore, methods that are always safe with respect to integrity constraints should be proven so at compile time. The run-time checks should only concern the remaining methods. To that purpose, we propose a new approach, based on the use of predicate transformers combined with automatic theorem proving techniques, to prove the invariance of integrity constraints under complex methods. We then describe the current implementation of our prototype, and report some experiments that have been performed with it on non trivial examples. The counterpart of the problem of program verification is that of program correction. Static analysis techniques can also be applied to solve that problem. We present a systematic approach to undertake the automatic correction of potentially unsafe methods. However, the advantages of the latter technique are not as clear as those of program verification. We will therefore discuss some arguments for and against the use of method correction.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abiteboul and A. Bonner. Objects and views. In ACM International Conference on Management of Data (SIGMOD), pages 238–248, Denver, Colorado, USA, May 1991.

    Google Scholar 

  2. A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. An object data model with roles. In International Conference on Very Large Databases, pages 39–52, 1993.

    Google Scholar 

  3. A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. Fibonacci: a programming language for object databases. VLDB Journal, 4(3):403–444, July 95.

    Google Scholar 

  4. V. Benzaken and A. Doucet. Thémis: A Database Programming Language Handling Integrity Constraints. VLDB Journal, 4(3):493–518, 1995.

    Article  Google Scholar 

  5. V. Benzaken and X. Schaefer. Forward and backward analysis of object-oriented database programming languages: an application to static integrity management. Technical report, L.R.I, 1997. Available by ftp at ftp.lri.fr/LRI/articles/benzaken/report.ps.gz.

    Google Scholar 

  6. V. Benzaken and X. Schaefer. Static integrity constraint management in object-oriented database programming languages via predicate transformers. European Conference on Object-Oriented Programming (ECOOP'97), number 1241 in LNCS,Springer-Verlag, 1997.

    Google Scholar 

  7. John Boyland and Giuseppe Castagna. Type-safe compilation of covariant specialization: a practical case. In ECOOP'96, number 1008 in LNCS, Springer, 1996.

    Google Scholar 

  8. F. Bry, H. Decker, and R. Manthey. A Uniform Approach to Constraint Satisfaction and Constraint Satisfiability in Deductive Databases. EDBT'88, LNCS 303, Springer, 1988.

    Google Scholar 

  9. F. Bry and R. Manthey. Checking Consistency of Database Constraints: A Logical Basis. In Proceedings of the VLDB International Conference, pages 13–20, August 1986.

    Google Scholar 

  10. M. A. Casanova and P. A. Bernstein. A formal system for reasonning about programs accessing a relational database. ACM Trans. on Database Systems, 2(3):386–414, 1980.

    MathSciNet  Google Scholar 

  11. Giuseppe Castagna. Object-Oriented Programming: A Unified Foundation. Progress in Theoretical Computer Science. BirkÄuser, Boston, 1996. ISBN 3-764-33905-5.

    Google Scholar 

  12. E. M. Clarke. Programming languages constructs for which it is impossible to obtain good hoare axiom systems. Journal of the ACM, 26(1):129–147, January 79.

    Google Scholar 

  13. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In 4th POPL, 1977.

    Google Scholar 

  14. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In 6th POPL, 1979.

    Google Scholar 

  15. O. Deux. The Story of O2. IEEE Transaction on Knowledge and Data Engineering, 2(1), March 1990.

    Google Scholar 

  16. E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  17. E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, 1990.

    Google Scholar 

  18. Melvin Fitting. First-order logic and automated theorem proving. Springer, 1990.

    Google Scholar 

  19. G. Gardarin and M. Melkanoff. Proving the Consistency of Database Transactions. In VLDB International Conference, pages 291–298, Rio, Brasil, October 1979.

    Google Scholar 

  20. L. Henschen, W. Mc Cune, and S. Naqvi. Compiling constraint checking programs from first order formulas. Advances in Database Theory, volume 2. Plenum, 1984.

    Google Scholar 

  21. C.A.R. Hoare. An axiomatic basis for computer programming. Comm. ACM, 12, 1969.

    Google Scholar 

  22. A. Hsu and T. Imielinski. Integrity Checking for Multiple Updates. In Proceedings of the ACM SIGMOD International Conference, pages 152–168, 1985.

    Google Scholar 

  23. N. D. Jones and F. Nielson. Abstract interpretation. Semantic Modelling, volume 4 of Handbook of Logic in Computer Science, chapter 5, pages 527–636. Oxford Science Publication, 1995.

    Google Scholar 

  24. R. Kowalski, F. Sadri, and P. Soper. Integrity Checking in Deductive Databases. In Proceedings of the VLDB International Conference, pages 61–70, 1987.

    Google Scholar 

  25. Michael Lawley. Transaction safety in deductive object-oriented databases. In Proceedings of the Fourth DOOD, number 1013 in LNCS, Springer 1995.

    Google Scholar 

  26. J. W. Lloyd and R. W. Topor. A basis for deductive database systems. Journal of Logic Programming, 2(2), 1985.

    Google Scholar 

  27. William W. McCune. OTTER 3.0 Reference Manual aud Guide. Argonne National Laboratory, available at http://www.mcs.anl.gov/home/mccune/ar/otter.

    Google Scholar 

  28. J.M. Nicolas. Logic for Improving Integrity Checking in Relational Databases. Technical report, ONERA-CERT, 1979.

    Google Scholar 

  29. Xiaolei Qian. An axiom system for database transactions. Information Processing Letters, 36:183–189, November 1990.

    Article  MathSciNet  Google Scholar 

  30. Xiaolei Qian. The deductive synthesis of database transactions. ACM Transactions on Database Systems, 18(4):626–677, December 1993.

    Article  Google Scholar 

  31. X. Schaefer. Bases de données orientées objet, contraintes díntégrité et analyse statique. PhD thesis, Université de Paris 1 — Panthéon — Sorbonne, 1997.

    Google Scholar 

  32. T. Sheard and D. Stemple. Automatic Verification of Database Transaction Safety. ACM Trans. on Database Systems, 14(3):322–368, September 1989.

    Article  Google Scholar 

  33. C. Sousa, C. Delobel, and S. Abiteboul. Virtual schemas and bases. International Conference on Extending Database Technology, number 779 in LNCS, Springer-Verlag, 1994.

    Google Scholar 

  34. M. Stonebraker. Implementation of Integrity Constraints and Views by Query Modification. In ACM SIGMOD International Conference, San Jose, California, May 1975.

    Google Scholar 

  35. W. Weber, W. Stugky, and J. Karzt. Integrity Checking in database systems. Information Systems, 8(2):125–136, 1983.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hans-Jörg Schek Gustavo Alonso Felix Saltor Isidro Ramos

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Benzaken, V., Schaefer, X. (1998). Static management of integrity in object-oriented databases: Design and implementation. In: Schek, HJ., Alonso, G., Saltor, F., Ramos, I. (eds) Advances in Database Technology — EDBT'98. EDBT 1998. Lecture Notes in Computer Science, vol 1377. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0100993

Download citation

  • DOI: https://doi.org/10.1007/BFb0100993

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64264-0

  • Online ISBN: 978-3-540-69709-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics