L'architecture d'une géodatabase

Le modèle de stockage de géodatabase est basé sur une série de concepts de base de données relationnelle simples et essentiels et tire parti des avantages du système de gestion de bases de données sous-jacent (SGBD). Des tables simples et des types d'attribut précis permettent de stocker la structure, les règles, la base et les données attributaires spatiales pour chaque jeu de données géographique. Cette approche fournit un modèle formel pour le stockage et l'utilisation de vos données. Grâce à cette approche, le langage SQL (Structured Query Language), permet de créer, de modifier et d'interroger des tables et leurs éléments de données.

Vous pouvez voir le fonctionnement de ce processus en examinant la manière dont une entité avec une géométrie de polygone est modélisée dans la géodatabase. Une classe d'entités est stockée sous forme de table, souvent désignée sous le nom de table de base ou métier. Chaque ligne de la table représente une entité. La colonne de forme stocke la géométrie de polygone pour chaque entité. Le contenu de cette table, y compris la forme en cas de stockage sous forme de type spatial SQL, est accessible par l'intermédiaire du langage SQL.

Exemple de table métier de classe d'entités surfaciques

Toutefois, l'ajout à un SGBD de types spatiaux et d'une prise en charge de SQL pour les attributs spatiaux n'est pas suffisant en soi pour les applications SIG. ArcGIS utilise une architecture d'application multi-niveaux en implémentant des logiques et des comportements avancés dans le niveau d'application au-dessus du modèle de stockage de géodatabase. Cette logique applicative inclut la prise en charge d'une série d'objets de données et de comportements de système d'information géographique (SIG) génériques, tels que des classes d'entités, des jeux de données raster, des topologies, des réseaux, et bien d'autres.

La géodatabase est un modèle relationnel orienté objet

La géodatabase est mise en œuvre à l’aide de la même architecture d’application à plusieurs niveaux existant dans d’autres applications perfectionnées basées sur des SGBD ; sa mise en œuvre ne présente aucun fonctionnement exotique ou inhabituel. L'architecture de géodatabase à plusieurs niveaux porte parfois le nom de modèle relationnel orienté objet. Les objets de la géodatabase sont conservés sous forme de lignes dans les tables de SGBD ayant une identité et le comportement est fourni au travers de la logique d'application de la géodatabase. La séparation de la logique d'application et du stockage permet la prise en charge de plusieurs SGDB et formats de données différents.

Stockage de la géodatabase dans les bases de données relationnelles

Au cœur de la géodatabase se trouve une structure de base de données relationnelles standard (une série de tables de base de données, de types de colonnes, d'index et d'autres objets de base de données standard). Le schéma persiste dans un ensemble de tables système de la géodatabase dans le SGBD, définissant ainsi l'intégrité et le comportement des informations géographiques. Ces tables sont stockées sous forme de fichiers sur le disque ou dans le contenu d'un SGBD tel qu'Oracle, IBM DB2, PostgreSQL ou Microsoft SQL Server.

Des types de colonne précis permettent de stocker des attributs tabulaires traditionnels. Lorsque la géodatabase est stockée dans un SGBD, les représentations spatiales (le plus souvent représentées par des vecteurs ou des rasters) sont en général stockées à l'aide d'un type spatial SQL.

La géodatabase comporte deux ensembles de tables principaux : les tables système et les tables définies par l’utilisateur.

  • Tables définies par l’utilisateur :Chaque jeu de données de la géodatabase est stocké dans une ou plusieurs tables. Les tables définies par l’utilisateur utilisent les tables système pour la gestion des données.
  • Tables système : Les tables système des géodatabases assurent le suivi du contenu de chaque géodatabase. Elles décrivent essentiellement la structure de géodatabase spécifiant l'ensemble des définitions de jeu de données, des règles et des relations. Elles assurent également le stockage et la gestion de toutes les métadonnées requises pour l'implémentation des propriétés des géodatabases, des règles de validation de données et des comportements.

Les informations concernant le schéma dans la géodatabase sont stockées dans quatre tables principales :

  • GDB_Items : renferme la liste de tous les éléments contenus dans une géodatabase, tels que les classes d'entités, les topologies et les domaines.
  • GDB_ItemTypes : contient une liste prédéfinie des types d'éléments reconnus, tels que Table.
  • GDB_ItemRelationships : contient les associations de structures entre les éléments et indique par exemple les classes d'entités contenues dans un jeu de données d'entités.
  • GDB_ItemRelationshipTypes : renferme la liste prédéfinie des types de relations reconnus, tels que DatasetInFeatureDataset.

Les tables du système et définies par l’utilisateur fonctionnent conjointement pour présenter et gérer le contenu d'une géodatabase. Par exemple, en cas d'affichage dans la base de données, une classe d'entités est simplement une table avec une colonne spatiale. Toutefois, en cas d'accès par l'intermédiaire d'ArcGIS, toutes les règles stockées dans les tables système sont combinées avec les données sous-jacentes pour les présenter sous forme de classe d'entités avec l'ensemble du comportement défini.