Data integrity constraints usually form a major component in a data-intensive business system. To successfully reengineer a data-intensive business system, its data integrity constraints must be understood. Functional dependencies constitute an important type of data integrity constraints. Due to the nature of system development, a significant amount of functional dependencies is usually omitted during the initial system development stage and only discovered during the system maintenance stage. Usually, these dependencies are enforced in the programs which update the databases, and are not shown elsewhere, including the databases. Existing approaches for the discovery of functional dependencies from databases cannot find such functional dependencies. We develop a theory for inferring functional dependencies in a database from the programs which update the database. With the use of the theory, a comprehensive approach for the recovery of functional dependencies from both database schemas and programs is consequently proposed. The proposed approach can recover those functional dependencies which cannot be found by the existing approaches. The functional dependencies recovered from the proposed approach are proven.
[1]
David Maier,et al.
The Theory of Relational Databases
,
1983
.
[2]
Shamkant B. Navathe,et al.
Knowledge mining by imprecise querying: a classification-based approach
,
1992,
[1992] Eighth International Conference on Data Engineering.
[3]
Heikki Mannila,et al.
Discovering functional and inclusion dependencies in relational databases
,
1992,
Int. J. Intell. Syst..
[4]
Tomasz Imielinski,et al.
Database Mining: A Performance Perspective
,
1993,
IEEE Trans. Knowl. Data Eng..
[5]
Shalom Tsur,et al.
Data Dredging
,
1990,
IEEE Data Eng. Bull..
[6]
William Frawley,et al.
Knowledge Discovery in Databases
,
1991
.