Extracting Generalization/specialization Hierarchies from Relational Databases: a Reverse Engineering Approach
Résumé
Relational Data Base Management Systems (RDBMS)
are currently the most popular database systems.
The relational model of data is a simple and
powerful model for representing real world
applications. However, it lacks the expressiveness
present in conceptual models. Unlike the latter,
the relational model does not make an extensive
use of the generalization abstraction. Therefore,
it does not allow the designer to represent
directly a large variety of integrity constraints.
Moreover, inclusion dependencies formalizing
inter-relational constraints, can not directly
be represented in the relational model, due to
the fact that the relation is its unique building
structure. Finally, relational databases lack
concepts that allow the designer to represent
inheritances in a natural way.
A number of approaches have been proposed to
extract from relational databases
specialization/generalization links.
In this paper we make a comparative study
of six representative previous approaches
which provide methods to reverse-engineer
the inheritance links hidden in a relational
database. We then present a new improved and
more general method combining heuristic and
algorithmic techniques, allowing us to go beyond
the limits of previous approaches. A common
example is used to illustrate and compare all
the approaches. A set of criteria is proposed
to facilitate this comparison.