Titre original :

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

Titre traduit :

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

Mots-clés en français :
  • Métamodèle
  • Analyse d’impact

  • Bases de données relationnelles
  • Rétro-ingénierie (informatique)
  • Logiciels -- Développement
  • SQL (langage de programmation)
  • Résolution de problème -- Informatique
  • Langue : Anglais
  • Discipline : Informatique et applications
  • Identifiant : 2020LIL1I022
  • Type de thèse : Doctorat
  • Date de soutenance : 28-09-2020

Résumé en langue originale

Depuis plusieurs décennies, les bases de données relationnelles sont au coeur de nombreux systèmes d'information et continuent à être utilisées lors du développement 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. Etant 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 proposons un méta-modèle représentant à la fois les entités structurelles et comportementales 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.

Résumé traduit

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 resources, insurances, banks, etc.Reflecting such activities induce frequent evolutions 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 literature 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 representing both structural and behavioral parts of a database and simplifying dependencies 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.

  • Directeur(s) de thèse : Etien, Anne - Anquetil, Nicolas
  • Laboratoire : Centre de recherche en informatique, signal et automatique de Lille
  • École doctorale : École doctorale Sciences pour l'ingénieur (Lille)

AUTEUR

  • Delplanque, Julien
Droits d'auteur : Ce document est protégé en vertu du Code de la Propriété Intellectuelle.
Accès libre