Hiérarchies de généralisation dans les bases de données : une approche hybride de rétro-conception
Résumé
This paper proposes to combine a heuristic technique and an algorithmic one to provide a method to reverse engineer the generalization/specialization links hidden in a relational database. The heuristic phase combines the exploration of three sources: DDL specifications, DML specifications and data to provide information, such as inclusion links and existence constraints. This information is then used by the algorithm to derive automatically the inheritance links. Heuristics are also provided to detect the semantics of null values and default values when used for null values. The whole process is inserted into the MeRCI reverse engineering framework based on the inversion of the life cycle design process.
Cet article décrit une approche hybride de rétro-conception de bases de données dont l’objectif principal est d’extraire les hiérarchies de généralisation inhibées dans la base de données relationnelle en combinant des techniques heuristiques et des techniques algorithmiques. L’approche conjugue l’exploration de trois sources : les spécifications DDL, les spécifications DML et les données. A l’aide d’heuristiques, on découvre la sémantique de la base de données, notamment les liens d’inclusion et les contraintes d’existence. Un algorithme dérive automatiquement les liens d’héritage. Des heuristiques sont aussi proposées pour interpréter la sémantique des valeurs nulles ainsi que des valeurs par défaut. Le processus s’insère dans l’approche de rétro-conception MeRCI
fondée sur l’inversion du cycle de vie du processus de conception.