Issue No. 04 - July/August (2002 vol. 14)
<p>Data dependencies play an important role in the design of a database. Many legacy database applications have been developed on old generation database management systems and conventional file systems. As a result, most of the data dependencies in legacy databases are not enforced in the database management systems. As such, they are not explicitly defined in database schema and are enforced in the transactions, which update the databases. It is very difficult and time consuming to find out the designed data dependencies manually during the maintenance and reengineering of database applications. In software engineering, program analysis has long been developed and proven as a useful aid in many areas. With the use of program analysis, this paper proposes a novel approach for the recovery of common data dependencies, i.e., functional dependencies, key constraints, inclusion dependencies, referential constraints, and sum dependencies, designed in a database from the behavior of transactions, which update the database. The approach is based on detecting program path patterns for implementing most commonly used methods to enforce these data dependencies.</p>
Database reverse engineering, design of data dependencies, design recovery, legacy database, program analysis.
H. B. Tan, T. W. Ling and C. H. Goh, "Exploring into Programs for the Recovery of Data Dependencies Designed," in IEEE Transactions on Knowledge & Data Engineering, vol. 14, no. , pp. 825-835, 2002.