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, une série de fonctions et d'opérateurs relationnels), 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.
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 oeuvre 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, IBM Informix 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 étendu.
La géodatabase comporte deux ensembles de tables principaux ; les tables système et les tables de jeu de données.
- Tables de jeux de données — Chaque jeu de données de la géodatabase est stocké dans une ou plusieurs tables. Les tables de jeux de données 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.
La structure interne de ces tables a été restructurée à partir de la version 10 d'ArcGIS. Les informations relatives à la structure de la géodatabase qui étaient, avant ArcGIS 10, stockées dans plus de 35 tables système de la géodatabase, ont été consolidé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 - Renferme la liste prédéfinie de types d'élément reconnus, tels que Table.
- GDB_ItemRelationships - Renferme les associations de structures entre les éléments. Indique par exemple quelles classes d'entités sont 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 du jeu de données fonctionnent conjointement pour présenter et gérer le contenu d'une géodatabase. Par exemple, en cas d'affichage dans le format de stockage sous-jacent, 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.
Tables supplémentaires
Selon le type de géodatabase utilisé et le SGBD permettant son stockage, l'ensemble de tables système peut varier. Les géodatabases ArcSDE présentent un ensemble de tables système différent des géodatabases fichier, qui disposent d'un ensemble légèrement différent des géodatabases personnelles. Pour les géodatabases ArcSDE, les différentes tables système sont définies dans les rubriques Tables système d'une géodatabase pour chaque SGBD spécifique. Les différentes tables stockées dans les géodatabases fichier et personnelles ne sont pas détaillées, puisque vous n'avez pas besoin d'interagir avec la plupart de ces tables.