ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

Aide

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Plus...

Interroger les tables système d'une géodatabase avec SQL

Lorsque que l'on connaît les relations entre les quatre tables système de la géodatabase, la meilleure façon de comprendre comment elles fonctionnent ensemble consiste à les examiner à l'aide de SQL. La sélection de toutes les lignes et colonnes de la table GDB_Items renvoie un jeu de résultats semblable à celui-ci (en même temps que beaucoup d'autres champs) :

Valeurs renvoyées lors de l'interrogation de la table GDB_Items

Remarquez que les valeurs dans la colonne Type sont stockées en tant qu'UUID. Comme mentionné dans la rubrique Présentation des tables système de géodatabase, ces UUID peuvent être résolus à l'aide de la table GDB_ItemTypes, comme indiqué dans la requête suivante :

SELECT gdb_items.UUID, gdb_itemtypes.name AS "Type", gdb_items.name
   FROM gdb_items INNER JOIN gdb_itemtypes
   ON gdb_items.type = gdb_itemtypes.UUID;

La requête renvoie un résultat semblable à celui d'une instruction SELECT simple exécutée sur la table GDB_Items, mais l'UUID de la colonne Type est remplacé par des chaînes intelligibles :

Valeurs textuelles dans la colonne Type

De la même façon, la table GDB_Relationships contient également des UUID qui sont des valeurs clés d'autres tables. Chaque relation contient deux des valeurs UUID présentes dans la table GDB_Items ci-dessus : une pour l'élément de destination de la relation et une autre pour son élément d'origine. Pour les transformer en chaînes intelligibles, vous devez joindre la table GDB_Relationships à la table GDB_Items, deux fois :

--SQL Server and PostgreSQL query
SELECT relationships.type,
   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM gdb_items AS origin_items,
   gdb_itemrelationships AS relationships,
   gdb_items AS dest_items
WHERE
   origin_items.UUID = relationships.originid AND
   dest_items.UUID = relationships.destid;

--Oracle query
SELECT relationships.type,
   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM sde.gdb_items origin_items,
   sde.gdb_itemrelationships relationships,
   sde.gdb_items dest_items
WHERE
   origin_items.UUID = relationships.originid AND
   dest_items.UUID = relationships.destid;

L'illustration suivante constitue un exemple de jeu de résultats qui peut être renvoyé de la requête précédente :

Valeurs textuelles pour les noms d'élément d'origine et de destination

Bien que ces résultats affichent les relations entre des éléments dans la géodatabase, le type de relation est également nécessaire. Vous pouvez résoudre le type UUID en développant la requête précédente, afin d'inclure une jointure avec la table GDB_RelationshipTypes :

--SQL Server and PostgreSQL query
SELECT reltypes.name AS type,
   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM gdb_items AS origin_items,
   gdb_itemrelationships AS relationships,
   gdb_items AS dest_items,
   gdb_itemrelationshiptypes AS reltypes
WHERE
   origin_items.UUID = relationships.originid AND
   dest_items.UUID = relationships.destid AND
   relationships.type = reltypes.UUID;

--Oracle query
SELECT reltypes.name AS type,
   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM sde.gdb_items origin_items,
   sde.gdb_itemrelationships relationships,
   sde.gdb_items dest_items,
   sde.gdb_itemrelationshiptypes reltypes
WHERE
   origin_items.UUID = relationships.originid AND
   dest_items.UUID = relationships.destid AND
   relationships.type = reltypes.UUID;

Celle-ci renvoie les éléments suivants :

Valeurs textuelles dans la colonne Type de la table GDB_RelationshipTypes

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2017 Esri. | Confidentialité | Légal