Database design recovery

  • J. -L. Hainaut
  • J. Henrard
  • J. -M. Hick
  • D. Roland
  • V. Englebert
Novel Architectures and Information Bases
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1080)


The design of a software component, such as a database, is the trace of all the processes, products and reasonings that have led to the production of this artifact. Such a document is the very basis of system maintenance and evolution processes. Unfortunately, it does not exist in most situations. The paper describes how the design of a database or of a collection of files can be recovered through reverse engineering techniques. Recording the reverse engineering activities provides a history of this process. By normalizing and reversing this history, then by conforming it according to a reference design methodology, one can obtain a tentative design of the source database. The paper describes the baselines of the approach, such as a wide spectrum specification model, semantics-preserving transformational techniques, and a design process model. It describes a general procedure to build a possible DB design, then states the requirements for CASE support, and describes DB-MAIN, a prototype CASE tool which includes a history processor. Finally it illustrates the proposals through an example.


design recovery database reverse engineering database evolution transformational approach process modelling CASE tool 


  1. [BALZER,81]
    Balzer, R., Transformational implementation: An example, IEEE TSE, Vol. SE-7, No. 1, 1981Google Scholar
  2. [BATINI,92]
    Batini, C., Ceri, S., Navathe, S., B., Conceptual Database Design, Benjamin/Cummings, 1992Google Scholar
  3. [BATINI,93]
    Batini, C., Di Battista, G., Santucci, G., Structuring Primitives for a Dictionary of Entity Relationship Data Schemas, IEEE TSE, Vol. 19, No. 4, 1993Google Scholar
  4. [BIGG,89]
    Biggerstaff, T., J., Design Recovery for Maintenance and Reuse, IEEE Computer, July 1989Google Scholar
  5. [FICKAS,85]
    Fikas, S., F., Automating the transformational development of software, IEEE TSE, Vol. SE-11, pp1268–1277, 1985Google Scholar
  6. [HAI,91]
    Hainaut, J-L, Database Reverse Engineering, Models, Techniques and Strategies, in Proc. of the 10th Conf. on Entity-Relationship Approach, San Mateo (CA), E-R Institute, 1991Google Scholar
  7. [HAI,92]
    Hainaut, J-L., Cadelli, M., Decuyper, B., Marchand, O., Database CASE Tool Architecture: Principles for Flexible Design Strategies, in Proc. of the 4th Int. Conf. on Advanced Information System Engineering (CAiSE-92), Manchester, May 1992, Springer-Verlag, LNCS, 1992Google Scholar
  8. [HAI,93a]
    Hainaut, J-L., Chandelon, M., Tonneau, C., Joris, M., Contribution to a Theory of Database Reverse Engineering, in Proc. of the IEEE Working Conf. on Reverse Engineering, Baltimore, May 1993, IEEE Computer Society Press, 1993Google Scholar
  9. [HAI,93b]
    Hainaut, J-L., Chandelon, M., Tonneau, C., Joris, M., Transformational techniques for database reverse engineering, in Proc. of the 12th Int. Conf. on ER Approach, Arlington-Dallas, ER Institute, 1993Google Scholar
  10. [HAI,94]
    Hainaut, J-L, Englebert, V., Henrard, J., Hick, J-M., Roland, D., Evolution of database Applications: the DB-MAIN Approach, in Proc. of the 13th Int. Conf. on ER Approach, Manchester, Springer-Verlag, 1994Google Scholar
  11. [HAI,95a]
    Hainaut, J-L, Database Reverse Engineering — Problems, Techniques and Tools, Tutorial notes, CAiSE'95, Jyväskylä, Finland, June 1995 (available at Scholar
  12. [HAI,95b]
    Hainaut, J-L, Englebert, V., Henrard, J., Hick, J-M., Roland, D., Requirements for Information System Reverse Engineering Support, in Proc. of the 2nd IEEE WC on Reverse Engineering, Toronto, July 1995, IEEE Computer Society Press, 1995.Google Scholar
  13. [HAI,95c]
    Hainaut, J-L, Transformation-based database engineering,Tutorial notes, VLDB'95, Zürich, Switzerland, Sept. 1995 (available at Scholar
  14. [HAI,96]
    Hainaut, J-L, Specification preservation in schema transformations — application to semantics and statistics, Data & Knowledge Engineering, Vol. 11, No. 1, 1996.Google Scholar
  15. [HAI,96b]
    Hainaut, J-L, Englebert, V., Henrard, J., Hick J-M., Roland, D., Database Reverse Engineering: from Requirements to CASE tools, Journal of Automated Software Engineering, Vol. 3, No. 1, 1996Google Scholar
  16. [HALPIN,95]
    Halpin, T., A., Proper, H., A., Database schema transformation and optimization, in Proc. of the 14th Int. Conf. on ER/OO Modelling (ERA), Dec. 1995Google Scholar
  17. [KOBA.86]
    Kobayashi, I., Losslessness and Semantic Correctness of Database Schema Transformation: another look of Schema Equivalence, in Information Systems, Vol. 11, No 1, pp. 41–59, January, 1986Google Scholar
  18. [KOZA,87]
    Kozaczynsky, Lilien, An extended Entity-Relationship (E2R) database specification and its automatic verification and transformation, in Proc. of Entity-Relationship Approach, 1987Google Scholar
  19. [MYLO, 92]
    Mylopoulos, J., Chung, L., Nixon, B., Representing and Using Nonfunctional requirements: A Process-Oriented Approach, IEEE TSE, Vol. 18, No. 6, June 1992Google Scholar
  20. [NAVA,80]
    Navathe, S., B., Schema Analysis for Database Restructuring, in ACM TODS, Vol.5, No.2, June 1980Google Scholar
  21. [POTTS,88]
    Potts, C., Bruns, G., Recording the Reasons for Design Decisions, in Proc. of ICSE, IEEE, 1988Google Scholar
  22. [RAUH,95]
    Rauh, O., Stickel, E., Standard Transformations for the Normalization of ER Schemata, in Proc. of the CaiSE·95 Conf., Jyväskylä, Finland, LNCS, Springer-Verlag, 1995Google Scholar
  23. [ROLL,93]
    Rolland, C., Modeling the Requirements Engineering Process, in Proc of the 3rd European-Japanese Seminar in Information Modeling and Knowledge Bases, May 1993, Budapest (preprints)Google Scholar
  24. [ROSE,88]
    Rosenthal, A., Reiner, D., Theoretically sound transformations for practical database design, in Proc. of Entity-Relationship Approach, 1988Google Scholar
  25. [ROSE,94]
    Rosenthal, A., Reiner, D., Tools and Transformations — Rigourous and Otherwise — for Practical Database Design, ACM TODS, Vol. 19, No. 2, June 1994Google Scholar
  26. [SPACCA,92]
    Spaccapietra, S., Parent, C., View Integration: A Step Forward in Solving Structural Conflicts, IEEE Trans. on Knowledge and Data Engineering, October, 1992Google Scholar
  27. [TEOREY,94]
    Teorey, T. J., Database Modeling and Design: the Fundamental Principles, Morgan Kaufmann, 1994Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • J. -L. Hainaut
  • J. Henrard
  • J. -M. Hick
  • D. Roland
  • V. Englebert
    • 1
  1. 1.Institut d'InformatiqueUniversity of NamurNamur

Personalised recommendations