Managing structural and behavioral evolution in relational database: Application of Software engineering techniques - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

Managing structural and behavioral evolution in relational database: Application of Software engineering techniques

Gérer les évolutions structurelles et comportementales des bases de données relationnelles : Applications des techniques d’ingénierie logicielle

Résumé

Relational databases have been at the core of many information systems for decades and continue to be used in new software development. Many of these databases reflect human or societal activities, for example, processes related to human re- sources, insurances, banks, etc. Reflecting such activities induce frequent evolu- tions of both the software system and the relational database. Relational databases do not only store and ensure data consistency, they can also define behavior taking the form of views, stored procedures, triggers, etc. Implementing behavior directly inside a database has the advantage to prevent code duplication when multiple programs using it perform similar tasks. However, the evolution of such database becomes complex and few approaches in the lit- erature address this problem. Most of the literature addressing relational database evolution focus either on the evolution of the database schema or on its co-evolution with software interacting with it. Approaches to reverse-engineer and evolve both structural and behavioral entities of relational databases are missing. In this thesis, we address this gap in the literature with four main contributions: (i) we report our observation of a relational database evolution made by an architect and identify problems from our observations; (ii) we propose a meta-model repre- senting both structural and behavioral parts of a database and simplifying depen- dencies analysis; (iii) we propose a tool to find quality issues in a database schema; and (iv) we propose a semi-automatic approach to evolve a relational database (its structural and its behavioral parts) based on recommendations that can be compiled into a SQL script. The results of the research reported in this thesis provide building bricks for the development of behavior-aware integrated development environment for relational databases.
Depuis plusieurs décennies, les bases de données relationnelles sont au cœur de nombreux systèmes d’information et continuent à être utilisées lors du développe- ment de nouveaux logiciels. Beaucoup de ces bases de données reflètent des activités humaines ou sociétales. Parmi ces activités, on peut citer les processus liés aux ressources humaines, aux assurances, aux banques, etc. Étant en constante évolution, elles induisent des évolutions fréquentes du logiciel et de la base de données relationnelle qui lui est associée. D’autre part, les bases de données relationnelles ne se contentent pas de stocker et d’assurer la cohérence des données. Elles permettent également de définir du comportement pouvant prendre la forme de vues, procédures stockées, triggers, etc. Ce comportement, quand il est défini directement à l’intérieur d’une base de données, présente l’avantage de réduire la duplication de code lorsque plusieurs programmes utilisant celle-ci effectuent des tâches similaires. Cependant, l’évolution de cette base de données est rendue plus complexe et peu d’approches traitent ce problème dans la littérature scientifique. La plupart des articles traitant de l’évolution des bases de données relationnelles portent soit sur l’évolution de leurs schémas soit sur leurs coévolutions avec les logiciels interagissant avec elles. Dans cette thèse, nous répondons à ce manque via quatre contributions principales : (i) nous rapportons notre observation de l’évolution d’une base de données relationnelle et identifions les problèmes apparents durant celle-ci ; (ii) nous pro- posons un méta-modèle représentant à la fois les entités structurelles et comporte- mentales d’une base de données et qui simplifie également l’analyse de dépendances ; (iii) nous proposons un outil pour trouver les problèmes de qualité dans un schéma de base de données ; (iv) nous proposons une approche semi-automatique pour faire évoluer une base de données relationnelle (en incluant ses entités structurelles et comportementales) via des recommandations qui peuvent être compilées dans un script SQL. Les résultats présentés dans cette thèse sont utiles à la construction d’un environnement de développement intégré pour les bases de données relationnelles. Tout ceci en prenant en compte les entités structurelles et comportementales.
Fichier principal
Vignette du fichier
50376-2020-Delplanque.pdf (1.42 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-03116656 , version 1 (20-01-2021)

Identifiants

  • HAL Id : tel-03116656 , version 1

Citer

Julien Delplanque. Managing structural and behavioral evolution in relational database: Application of Software engineering techniques. Programming Languages [cs.PL]. Université de Lille (2018-..), 2020. English. ⟨NNT : ⟩. ⟨tel-03116656⟩
115 Consultations
154 Téléchargements

Partager

Gmail Facebook X LinkedIn More