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 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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