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). Très simple, le stockage physique fonctionne conjointement avec (et est contrôlé par) un ensemble d'objets d'application de niveau supérieur, qui se trouvent au niveau applicatif (exemple : ArcGIS for Desktop, logique ArcGIS Engine incorporée ou ArcGIS for Server).
Chacun d'entre eux inclut des objets de géodatabase qui déterminent un modèle de système d'information géographique (SIG) générique, partagé par toutes les applications ArcGIS et tous les utilisateurs. L'objectif des objets de géodatabase consiste à fournir aux clients un modèle d'information SIG perfectionné et d'assurer la persistance de ce modèle dans tous les modèles de stockage appropriés (exemples : dans des tables de système de gestion de bases de données (SGBD) standard, dans des géodatabases fichier et sous forme de flux XML (Extensible Markup Language).
Le stockage de la géodatabase comprend à la fois le schéma et la base de règles de chaque jeu de données géographiques, ainsi que le stockage tabulaire simple des données spatiales et attributaires.
La structure de géodatabase comprend les définitions, règles d'intégrité et comportement de chaque jeu de données géographiques. Cela comprend les propriétés des classes d'entités, topologies, réseaux, catalogues d'images, relations, domaines, etc. Le schéma persiste dans une série de métatables de la géodatabase dans le SGBD, définissant ainsi l'intégrité et le comportement des informations géographiques.
Les représentations spatiales sont le plus souvent stockées, soit sous forme d'entités vectorielles, soit en tant que jeux de données raster, avec des attributs tabulaires classiques. Par exemple, une table SGBD peut servir à stocker une classe d'entités dans laquelle chaque ligne de la table représente une entité. Chaque ligne possède une colonne de forme qui contient la géométrie ou forme de l'entité. La colonne de forme qui contient la géométrie est généralement basée sur un des types suivants :
- type de colonne BLOB (Binary Large Object),
- type de colonne spatial (si le SGBD prend en charge ce type de colonne).
Une série homogène d'entités communes, possédant toutes la même représentation spatiale (comme un point, une ligne ou un polygone) et un ensemble commun de colonnes d'attributs, est considérée comme une classe d'entités et gérée dans une seule table.
Les types de données raster et image peuvent également être gérés et stockés dans des tables relationnelles. Les données raster sont généralement beaucoup plus volumineuses et nécessitent une table de stockage secondaire. Pour le stockage et l'accès du SGBD, chaque raster est divisé en portions plus petites (blocs) et stocké dans des lignes individuelles dans la table de blocs distincte.
Les types de colonne qui renferment la géométrie raster et vectorielle peuvent varier d'une base de données à une autre. Récemment, la plupart des SGBD ont ajouté la prise en charge des extensions de type spatial et la géodatabase peut les utiliser opportunément pour contenir la géométrie spatiale. ESRI a participé activement à l'extension du langage SQL (Structured Query Language) pour les types spatiaux en tant que principal auteur de la spécification SQL/MM Part 3 Spatial et de la spécification SQL de l'OGC (Open Geospatial Consortium, Inc.) relative aux entités simples. ESRI prend ces types en charge, ainsi que les types spatiaux propres à Oracle Spatial, PostGIS (dans PostgreSQL) et Microsoft SQL Server, pour le stockage persistant des géodatabases utilisant les normes des SGBD.
Actuellement, tous les SGBD offrent une prise en charge du type de données spatiales pour les géodatabases à l'aide d'ArcGIS comme suit :
- Oracle à l'aide du type de données spatiales ST_Geometry ou éventuellement du type de données spatiales Oracle
- IBM DB2 à l'aide de Spatial Extender Geometry Object
- Informix à l'aide de Spatial DataBlade Geometry Object
- PostgreSQL à l'aide des géométries ST_Geometry ou PostGIS
- Microsoft SQL Server à l'aide des types spatiaux, de la géométrie et de la géographie Microsoft
Pour plus d'informations sur la structure de stockage utilisée par la géodatabase dans chaque SGBD, consultez la rubrique Comment est réalisé le stockage des géodatabases dans un SGBD ?