Database reverse engineering

Most activities related to a database require a complete, precise and up to date documentation, notably its conceptual schema that describes in detail the semantics of the database structures. This is the case of application programming and of database maintenance, migration, evolution and integration to mention a few. Unfortunately, such documentation most often is missing. To allow the processes mentioned above to be performed efficiently, this documentation should be rebuilt from various information sources, a process called database reverse engineering.

The PReCISE Data Engineering group has been developing for two decades a comprehensive database reverse engineering methodology supported by the DB-MAIN CASE environment. Many schema constructs are not explicitly declared in the database DDL, so that special techniques have been designed to extract this implicit information from schemas, database contents, program source code and user interface, among others. New application architectures, such as web-based applications, require dynamic analysis techniques.

These techniques and tools are quite general and have been used to recover the documentation of a wide variety of data structures, e.g., legacy databases, plain files, relational databases, object-relational databases, Java classes and XML documents.

The results of this research are exploited, maintained and continuously extended by spin-off ReveR.

 

Keywords

data engineering, database reverse engineering, program code analysis, transformational techniques, CASE tool

 

Contributing projects

  • DB-MAIN (Database Engineering)
  • RISTART (Evolution of large information systems)

  [detail]

 

Former projects

  • Data Migration (Techniques and tools for data transformation)
  • RetroWeb (Techniques and tools for web document reengineering)
  • InterDB (Architecture, Methods and Tools for Database Federation)
  • PHENIX (Database Reverse Engineering)
 [detail]