Extracting generalization hierarchies from relational databases : a reverse engineering approach
Résumé
Relational Data Base Management Systems (RDBMS) are currently the most popular database management systems. The relational model is a simple and powerful model for representing real world applications. However, it lacks the expressiveness of conceptual models. Unlike the latter, the relational model does not offer 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 cannot directly be represented in the relational model, due to the fact that its basic construct, the relation, is the unique structure. Finally, relational databases do not enable a natural way to represent inheritances. In this paper we describe a reverse engineering method which particularly deals with the elicitation of inheritance links embedded in a relational database, combining heuristic and algorithmic approaches. We provide rules for detecting intersection constraints and inclusion dependencies. Heuristics are proposed for understanding null value semantics. Finally we present decision rules for detecting existence dependencies and translating them into ISA hierarchies among entities. An example is used to illustrate our approach.