Strategy for Database Application Evolution: The DB-MAIN Approach

  • Jean-Marc Hick
  • Jean-Luc Hainaut
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2813)


While recent data management technologies, e.g., object-oriented, address the problem of databases schema evolution, standard information systems currently in use raise challenging problems when evolution is concerned. This paper studies database evolution from the developer point of view. It shows how requirements changes are propagated to the database schemas, to the data and to the programs through a general strategy. This strategy requires the documentation of the database design. When absent, this documentation has to be rebuilt through reverse engineering techniques. The approach relies on a generic database model and on the transformational paradigm that states that database engineering processes can be modelled by schema transformations. Indeed, a transformation provides both structural and instance mappings that formally define how to modify database structures and contents. The paper then analyses the problem of program modification and describes a CASE tool that can assist developers in their task of system evolution.


Conceptual Schema Entity Type Abstraction Level Database Schema Schema Modification 
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.
    Al-Jadir, L., Estier, T., Falquet, G., Léonard, M.: Evolution features of the F2 OODBMS. In: Proc. of 4th Int. Conf. on Database Systems for Advanced Applications, Singapore (1995)Google Scholar
  2. 2.
    Andany, J., Léonard, M., Palisser, C.: Management of Schema Evolution in Databases. In: Proc. of 17th Int. Conf. on VLDB, Barcelona (1991)Google Scholar
  3. 3.
    Batini, C., Ceri, S., Navathe, S.B.: Conceptual Database Design – An Entity-Relationship Approach. Benjamin/Cummings (1992)Google Scholar
  4. 4.
    Bellahsene, Z.: An Active Meta-Model for Knowledge Evolution in an Object-oriented Database. In: Rolland, C., Cauvet, C., Bodart, F. (eds.) CAiSE 1993. LNCS, vol. 685. Springer, Heidelberg (1993)Google Scholar
  5. 5.
    Brown, A., Morris, E., Tilley, S.: Assessing the evolvability of a legacy system, Software Engineering Institute, Carnegie Mellon University, Technical Report (1996)Google Scholar
  6. 6.
    Hainaut, J.-L., Chandelon, M., Tonneau, C., Joris, M.: Contribution to a theory of database reverse engineering. In: Proc. of WCRE. IEEE Computer Society Press, Baltimore (1993)Google Scholar
  7. 7.
    Hainaut, J.-L., Englebert, V., Henrard, J., Hick, J.-M., Roland, D.: Evolution of database Applications: the DB-MAIN Approach. In: Loucopoulos, P. (ed.) ER 1994. LNCS, vol. 881. Springer, Heidelberg (1994)Google Scholar
  8. 8.
    Hainaut, J.-L.: Specification Preservation in Schema transformations – Application to Semantics and Statistics. Data & Knowledge Engineering 19, 99–134 (1996)zbMATHCrossRefGoogle Scholar
  9. 9.
    Hainaut, J.-L., Henrard, J., Hick, J.-M., Roland, D., Englebert, V.: Database Design Recovery. In: Constantopoulos, P., Vassiliou, Y., Mylopoulos, J. (eds.) CAiSE 1996. LNCS, vol. 1080. Springer, Heidelberg (1996)Google Scholar
  10. 10.
    Henrard, J., Englebert, V., Hick, J.-M., Roland, D., Hainaut, J.-L.: Program understanding in databases reverse engineering. In: Quirchmayr, G., Bench-Capon, T.J.M., Schweighofer, E. (eds.) DEXA 1998. LNCS, vol. 1460, p. 70. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  11. 11.
    Henrard, J., Hick, J.-M., Thiran, P., Hainaut, J.-L.: Strategies for Data Reengineering. In: Proc. of WCRE 2002. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  12. 12.
    Hick, J.-M.: Evolution of relational database applications: Methods and Tools, PhD Thesis, University of Namur (2001) (in French)Google Scholar
  13. 13.
    Jahnke, J.-H., Wadsack, J.P., Varlet: Human-Centered Tool Support for Database Reengineering. In: Proc. of Workshop on Software-Reengineering (1999)Google Scholar
  14. 14.
    Jarke, M., Nissen, H.W., Pohl, K.: Tool integration in evolving information systems environments. In: Proc. of 3rd GI Workshop Information Systems and Artificial Intelligence: Administration and Processing of Complex Structures, Hamburg (1994)Google Scholar
  15. 15.
    Jensen, C., et al.: A consensus glossary of temporal database concepts. In: Proc. of Int. Workshop on an Infrastructure for Temporal Databases, Arlington (1994)Google Scholar
  16. 16.
    Nguyen, G.T., Rieu, D.: Schema evolution in object-oriented database systems. In: Data & Knowledge Engineering (4). Elsevier, Amsterdam (1989)Google Scholar
  17. 17.
    Roddick, J.F., Craske, N.G., Richards, T.J.: A Taxonomy for Schema Versioning Based on the Relational and Entity Relationship Models. In: Elmasri, R.A., Kouramajian, V., Thalheim, B. (eds.) ER 1993. LNCS, vol. 823. Springer, Heidelberg (1994)Google Scholar
  18. 18.
    Shneiderman, B., Thomas, G.: An architecture for automatic relational database system conversion. ACM Transactions on Database Systems 7(2), 235–257 (1982)CrossRefGoogle Scholar
  19. 19.
    Thiran, P., Hainaut, J.-L.: Wrapper Development for Legacy Data Reuse. In: Proc. of WCRE. IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  20. 20.
    van Bommel, P.: Database Design Modifications based on Conceptual Modelling. In: Information Modelling and Knowledge Bases V: Principles and Formal Techniques, Amsterdam, pp. 275–286 (1994)Google Scholar
  21. 21.
    Weiser, M.: Program Slicing. IEEE TSE 10, 352–357 (1984)Google Scholar
  22. 22.

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jean-Marc Hick
    • 1
  • Jean-Luc Hainaut
    • 1
  1. 1.Computer Sciences DepartmentUniversity of NamurNamurBelgium

Personalised recommendations