• Aucun résultat trouvé

Chapitre 3. État de l’art : Outils et techniques de gestion de données,

3.1. Système de Gestion de Bases de Données (SGBD) pour le patrimoine

3.1.1. Les types de SGBD existants

Aujourd’hui plus que jamais, le succès d’un service expert dépend de sa capacité à acquérir des données précises et en temps voulu, et à gérer efficacement ces données en vue de les analyser afin de guider ses activités. La quantité d’informations qu’il est possible d’extraire grâce à ces données, est littéralement immense. Pourtant, sans cette capacité de gérer ces vastes jeux de données, et pour trouver des informations pertinentes en rapport avec une requête, cela peut tendre à devenir confus, voire être handicapant au lieu de constituer un atout compte tenu de la quantité d’information en forte croissance [Ramakrishnan R. et al., 2000].

Une base de données gère l’entité constituant le plus bas niveau en matière d’expressivité d’information, car elle ne stocke que des données et a nécessairement besoin d’être exploitée par une couche supplémentaire : le système d’information. La base de données est définie comme étant une collection de données interreliées, stockées ensemble, pour servir une ou plusieurs applications en parallèle, et de façon optimale. Elle constitue un ensemble où le processus de stockage est totalement indépendant des programmes d’utilisation. Elle décrit typiquement l’agencement d’une ou plusieurs organisations reliées. Par exemple, la base de données d’un laboratoire peut contenir des éléments tels que l’identité des chercheurs, leurs domaines d’expertise puis des relations, et des projets dans lesquels ils sont impliqués, voire même les données produites par ces personnes.

Un Système de Gestion de Base de Données (ENG : DBMS, Data base Management System) est un ensemble de logiciels conçus pour assister dans des fonctions de maintien et d’utilisation de grande collection de données, et le besoin de tels systèmes, aussi bien que leur utilisation, est en rapide croissance. Les SGBD recouvrent l’ensemble des domaines de l’informatique et sont composés de programmes assurant la structuration, le stockage, la maintenance, les mises à jour et la recherche des données d’une base de données. Afin de permettre à un utilisateur d’accéder aux données facilement, la construction d’une interface est souvent réalisée pour un accès à l’information plus efficace, dédiée pour fournir une orientation sur les différentes formes d’utilisation de la base.

Dans la plupart des cas, la création d’une base de données est initié par la définition d’un cahier des charges spécifiant la méthode de structuration par une approche dédiée et les éléments (données, tables, etc.) à prendre en compte dans la conception et l’utilisation du futur outil de gestion.

Plusieurs types de bases de données existent dans le domaine de l’informatique, dont trois en particulier qui sont en rapport avec notre travail de recherche : les systèmes de gestion de bases de données relationnelles (SGBDR), les bases de données déductives (SGBD noSQL), et les bases de données en graphes (noSQL graphe) [Ramakrishnan R. et al., 2000].

91

3.1.1.1. Systèmes de bases de données relationnelles (SGBDR)

Les bases de données relationnelles renferment une structure formelle qui est aujourd’hui très utilisée dans le domaine de l’étude du patrimoine. C’est en 1970 que [Codd E. F., 1982] a intégré l’utilisation des modèles relationnels. À cette époque, la plupart des bases de données utilisaient des modèles de données plus anciennes (le modèle hiérarchique et le modèle de réseau). Le modèle relationnel a révolutionné le domaine des bases de données. Aujourd’hui, il est de loin le plus utilisé et constitue la base conduisant la production de système de gestion de base de données (ENG : DataBase Management System (DBMS)). Une base de données de ce type est constituée d’une ou plusieurs relations qui lient des tables avec des lignes et des colonnes. La représentation simple en table permet même aux utilisateurs novices d’en comprendre le contenu et de réaliser, à travers un langage de haut niveau, de simple requête pour récupérer les données. Les avantages majeurs des modèles relationnels, en lien avec les plus anciens, sont leur représentation simple de données et la facilité avec laquelle des requêtes, mêmes complexes, peuvent être exprimées.

3.1.1.2. Systèmes de base de données orientée graphes (SGBDG)

Les bases de données graphes ont une toute autre représentation par rapport aux bases de données relationnelles. Comme leur nom l’indique, elles sont désignées comme étant une base de données particulièrement dédiée au stockage de structure de données de types graphes. Les données se stockent donc uniquement dans des nœuds ou des arcs [Luyen L. N., et al., 2016] [Ghrab A. et al.2016]. Une base orientée graphe correspond à tout système de stockage fournissant une adjacence entre éléments voisins sans utiliser d’indexation : donc tout voisin d’une entité est accessible via un pointeur physique. Premièrement, ce type de graphe permet un stockage optimisé notamment pour stocker des nœuds et des graphes. Deuxièmement, la lecture de la base est très rapide car on n’a pas recourt à un index pour parcourir les relations, contrairement aux bases de données relationnelles. Troisièmement, le modèle de données est flexible, car il n’y a pas de nécessité de créer explicitement un élément pour les nœuds ou les arêtes. Enfin, il existe des APIs (ENG : Application Programming Interface, FR : Interface de programmation d’Application) intégrant des algorithmes classiques de la théorie des graphes, notamment « le plus court chemin », pour récupérer une donnée concernant une entité (nœuds). Afin d’extraire une donnée dans un graphe, il suffit de suivre les relations et les pointeurs physiques, là où les bases de données relationnelles fournissent des pointeurs logiques. Prenons l’exemple suivant pour illustrer nos propos (Figure 66). Dans une BDR, pour une requête SQL donnée, « Quelle(s) altération(s) agi(ssen)t sur l’église de Caromb ? », le système parcourt toutes les tables énoncées pour respecter les critères et fournir l’information. Dans ce dernier exemple, il y a trois tables à parcourir, dont la vitesse est optimisée avec les clés primaires et étrangères. Le système en graphe, quant à lui, cherche tout simplement le premier critère qui est « CarombChurch » et parcourt les pointeurs physiques des relations dans le graphe. Neo4j [Neo4j, 2016], inifiniteGraph [InfiniteGraph,

92 2016] sont deux exemples de systèmes de gestion de base de données graphes très populaires.

Figure 66 : Différences de représentation et de comportements en réponse à une requête pour des bases de données relationnelles et les bases de données graphe.

3.1.1.3. Systèmes de Bases de Données Déductives

Les SGBD déductives sont des systèmes offrant la possibilité de définir des règles logiques. Ils permettant de déduire ou d’inférer des informations à partir de données connues déjà stockées dans la base. Lorsque ce système est positionné en tant qu’extension des bases de données relationnelles, on obtient ce que l’on appelle des systèmes experts [Minker J., 2014]. Il y a une notion de « contraintes » auxquelles les données doivent se conformer. Ce système est composé d’une base de faits (sous la forme : famille(Père, Mère, ListeDesEnfants), de règles et d’un moteur d’inférence. Ce moteur permet de déduire de nouveaux faits à partir de la base de données en interprétant les règles par l’utilisation du langage nommé « DIALOG ». Les problèmes rencontrés sont liés d’une part à l’efficacité lorsque le système doit manipuler de nombreuses règles de déductions et accéder à d’importantes quantités de données, et d’autre part, l’absence de normes concernant autant le langage de description de règles que les modèles de données. Les SGBD déductives constituent une passerelle entre les SGBD relationnelle et les bases de connaissances, mais très vite, le système est abandonné laissant place aux systèmes basés sur les connaissances (SBC) et le web sémantique pour la description de ressources web. C’est à l’apparition de ces derniers systèmes que les bases de connaissances et les bases de données relationnelles coexistent.