Présentation rapide des tables système de la géodatabase

La structure interne de la géodatabase est représentée sous la forme d'une série de tables simples, appelées tables système de la géodatabase (dont le préfixe est GDB_), qui suivent le 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 :

Les tables GDB_Items et GDB_ItemRelationships représentent la structure définie par l'utilisateur dans une géodatabase particulière. Le contenu des tables est modifié lorsque la structure de la géodatabase est modifiée. Les tables GDB_ItemTypes et GDB_ItemRelationshipTypes sont statiques. Le diagramme suivant illustre les relations entre ces quatre tables :

Quatre tables système principales de la géodatabase

Table GDB_Items

Une géodatabase comporte des éléments géographiques et non géographiques. Parmi ces éléments figurent des jeux de données tabulaires, tels que les classes d'entités et les tables, des conteneurs de jeu de données, tels que les jeux de données d'entités, les topologies et les réseaux géométriques, des jeux de données qui contrôlent le comportement des géodatabases plus avancées, et d'autres éléments tels que les domaines, les boîtes à outils et les extensions d'espace de travail. Depuis ArcGIS 10, tous ces éléments sont stockés au sein de la géodatabase dans la table GDB_Items, où chaque élément est stocké sur une seule ligne.

Un élément comporte les attributs suivants :

Il s'agit des sept attributs auxquels vous pouvez être le plus amené à accéder avec SQL.

Les attributs suivants stockent des informations provenant de la définition d'un élément (par exemple le type de géométrie d'une classe d'entités), qui sont dupliquées en dehors de la définition XML pour permettre de parcourir plus efficacement la géodatabase. Il peut par exemple s'agir des propriétés de code du jeu de données et d'informations sur le jeu de données, dont les codes dépendent du type de l'élément.

Table GDB_ItemTypes

La table GDB_ItemTypes contient l'ensemble prédéfini de types d'éléments reconnus dans la géodatabase. Les types d'éléments permettent de normaliser la table GDB_Items (le type d'un élément dans la table GDB_Items est représenté sous la forme d'un UUID), de mieux prendre en charge les futures améliorations des fonctionnalités de la géodatabase et de définir une hiérarchie de type. Tous les types parents étant abstraits, les éléments parents ne figurent pas réellement dans la table GDB_Items.

Le contenu de la table GDB_ItemTypes est statique. Il n'est pas modifié lorsque des éléments sont créés ou supprimés.

Un type d'élément possède les attributs suivants :

Table GDB_ItemRelationships

Presque tous les éléments d'une géodatabase ont des relations avec au moins un autre élément de géodatabase. Par exemple, une table autonome est associée au dossier racine d'une géodatabase, un domaine est associé aux classes d'entités ou tables qui reposent sur lui pour la validation, et les classes d'entités sont associées à la topologie à laquelle elles participent. La table GDB_ItemRelationships permet de suivre ces relations.

Les relations des éléments ont les attributs suivants :

Vous n'accéderez probablement qu'aux cinq premiers attributs avec SQL.

ConseilConseil :

Il est important de comprendre qu'une relation d'éléments n'est pas analogue à une classe de relations. En réalité, chaque classe de relations comporte des relations d'éléments avec deux classes d'objets (ses classes source et de destination), ainsi qu'une relation d'éléments supplémentaire avec son conteneur (le dossier racine de la géodatabase ou un jeu de données d'entités).

Table GDB_ItemRelationshipTypes

De la même façon qu'un ensemble statique de types d'éléments permet de classer des éléments, un ensemble statique de types de relations d'éléments permet de classer des relations d'éléments. Par exemple, DatasetInFeatureDataset (qui indique qu'une classe d'entités, une classe de relations ou un jeu de données du contrôleur est présent dans un jeu de données d'entités) et DomainInDataset (qui indique qu'un jeu de données utilise un domaine pour la validation au niveau de la classe ou au niveau du code) sont deux types de relations d'éléments. Contrairement aux types d'éléments, les types de relations d'éléments ne comportent pas de concept hiérarchique avec les types parents et enfants.

Les types de relations d'éléments ont les attributs suivants :

ConseilConseil :

Les identifiants du type d'élément d'origine et de destination sont souvent les identifiants de types d'éléments abstraits. Par exemple, l'identifiant du type d'origine du type de relation DomainInDataset est Domaine, qui est un type d'élément abstrait avec deux codes : Domaine par plage et Domaine de valeurs précodées.

XML dans les tables système de la géodatabase

Comme indiqué dans les définitions d'attributs des tables système de la géodatabase, certains des champs utilisent un type de données XML. Dans les géodatabases ArcSDE IBM DB2, Microsoft SQL Server et PostgreSQL, ces colonnes utilisent le XML natif du système de gestion de bases de données et, par conséquent, peuvent être interrogées à l'aide d'expressions Xpath avec SQL.

Dans les géodatabases Oracle et Informix, les colonnes XML utilisent XML ArcSDE, qui stocke les informations sous forme d'objets BLOB dans une série de tables distinctes. Ainsi, elles ne sont pas directement accessibles avec SQL.

Pour vous permettre d'afficher le contenu des colonnes XML dans les tables système des géodatabases Oracle, deux vues système stockent le contenu des colonnes XML des tables système de la géodatabase dans un type de données CLOB. GDB_Items_vw affiche le contenu des colonnes Definition, Documentation et ItemInfo de la table GDB_Items dans les colonnes CLOB. GDB_ItemRelationships_vw affiche le contenu de la colonne Attributes de la table GDB_ItemRelationships dans une colonne CLOB. Le contenu des colonnes CLOB peut être lu en tant que texte.

Lors de l'interrogation de ces vues, vous extrayez la chaîne de la colonne CLOB, la convertissez en type XML, puis exécutez une requête XPath sur celle-ci. Sachez que si vous essayez de créer un type XML pour une colonne contenant une chaîne vide, l'opération échouera car Oracle ne la prend pas en charge et le message "Echec de l'analyse XML" s'affichera.

Pour interroger le contenu des colonnes CLOB, vous devez configurer le serveur Oracle de sorte qu'il accepte les connexions SQL. Pour plus d'informations, reportez-vous à la rubrique Configuration d'Oracle Listener pour utiliser SQL.

Rubriques associées


3/6/2012