thesis

Les versions dans les bases de données orientées objet : modélisation et manipulation

Abstract

This thesis concerns object oriented databases; it proposes solutions to model and manage databases integrating versions. The concept of version is needed in various application fields such as technical documentation management, computer aided design and software engineering. Versions permit notably to keep and manage the evolution of the real world entities handled in such fields. There are different ways for versioning. Some works chose to describe the global evolution of a database; they manage versions of the whole database or versions of a database subpart. Our study focuses on representing independently the evolution of each entity described in the database. On the one hand, we propose a conceptual model extended to the versioning of objects and classes. Composition and relationship links, whose semantics are refined by cardinalities, integrate versioning for complex entities. Such links, including versions, induce complex contraints for structural integrity. On the other hand, we propose a language to manage this kind of databases. Particularly, this language provide a SelectFromWhere-type querying which take into account the specificities of versions; a query can take the most of the different abstraction levels related to versions that is to say derivation forests, trees and versions. The model and the language are realized within a prototype. This prototype is an end-user interface which provides a graphical management of databases integrating versions.Cette thèse s'inscrit dans le domaine des bases de données orientées objet ; elle propose des solutions pour décrire et manipuler des bases de données intégrant des versions. Le concept de version est nécessaire dans de nombreux domaines d'application comme la gestion de documentations techniques, la conception assistée par ordinateur et le génie logiciel. Les versions permettent notamment de conserver et manipuler l'évolution des entités du monde réel gérées dans de tels domaines. Différentes gestions de versions sont possibles. Certains travaux gèrent des versions de base ou d'une partie de base pour décrire l'évolution globale d'une base de données ; notre étude s'intéresse, quant à elle, à la représentation de l'évolution de chaque entité décrite dans la base, de manière indépendante. Nous proposons, d'une part, un modèle conceptuel intégrant la gestion de versions d'objets et de classes. Les relations de composition et d'association, dont la sémantique est affinée à l'aide de cardinalités, intègrent les versions pour des entités complexes. De telles relations, incluant les versions, induisent des contraintes d'intégrité structurelle complexes, dont nous faisons l'étude. D'autre part, nous proposons un langage pour manipuler ce type de bases de données. Ce langage permet notamment une interrogation de type Select From Where qui prend en compte les spécificités liées aux versions ; les différents niveaux d'abstraction liés aux versions c'est-à-dire les forêts de dérivation, les arbres et les versions, peuvent être exploités lors d'une interrogation. Une réalisation du modèle et du langage est effectuée au sein d'un prototype. Ce prototype est une interface destinée à des utilisateurs occasionnels, en permettant de manipuler graphiquement une base de données intégrant des versions

    Similar works