Tables de jeux de clés d'une géodatabase dans PostgreSQL

Une table de jeu de clés permet de stocker une liste de lignes sélectionnées lorsqu'un client ArcGIS Desktop exécute sur la géodatabase une requête de relations qui relie des tables à l'aide d'attributs de type entier, nombre, date ou chaîne.

Comme décrit dans la rubrique Options de configuration des tables de fichiers journaux ArcSDE pour PostgreSQL, les tables de fichiers journaux stockent les ID d'objet objectid des entités sélectionnées. Les tables de jeux de clés permettent de gérer les jointures à l'aide d'attributs autres que l'identifiant objectid.

Une table de jeu de clés est créée par connexion et par session lorsque plus de 99 lignes figurent dans l'ensemble de sélection source de la requête de base de données.

Tables de jeu de clés dans ArcGIS Desktop

Vous ne pouvez pas afficher les tables de jeux de clés dans ArcGIS Desktop. Cependant, une table de jeu de clés est créée et renseignée lorsque vous sélectionnez plus de 99 entrées d'une classe d'entités impliquée dans une classe de relations dans ArcMap, puis ouvrez la table attributaire et utilisez la liste Tables reliées du menu Options pour accéder à la table reliée. Une table de jeu de clés est également créée lors de l'ouverture d'une session de mise à jour.

Tables de jeu de clés dans une base de données PostgreSQL

La géodatabase ne comporte aucune table de jeu de clés jusqu'au moment où :

Lorsque l'un ou l'autre de ces deux évènements a lieu, la table de jeu de clés est créée comme table temporaire globale. Dans le premier cas, la table de jeu de clés est créée et renseignée. Dans le deuxième exemple, la table de jeu de clés est créée mais non renseignée jusqu'à l'établissement d'un ensemble de sélection éligible.

Le nom de la table de jeu de clés comprend le numéro d'identification de processus de la session à l'origine de sa création. Le format est le suivant :

keyset_<process_id>

La table de jeu de clés stocke un identifiant de jeu de clés pour chaque ensemble de sélection, ainsi que les valeurs du champ sur lequel la relation entre les classes d'entités est basée.

S'agissant d'une table temporaire, la table de jeu de clés est supprimée lors de la déconnexion de l'utilisateur de la base de données. Toutefois, comme vous pouvez le remarquer, les structures temporaires créées par PostgreSQL pour le stockage de cette table sont conservées. Elles portent des noms tels que pg_temp_3.

Vous trouverez ci-dessous une table de jeu de clés pour une sélection réalisée sur les tables reliées LATERALS et CONTRACTORS. Dans ce cas, le champ LONG_VAL est renseigné et contient les valeurs du champ CONTRACTOR_ID sur lequel se base la classe de relations entre LATERALS et CONTRACTORS.

Table de jeu de clés et tables métier associées dans PostgreSQL

keyset_<id_processus>

Voici la définition d'une table de jeu de clés dans PostgreSQL :

Nom du champ

Type de champ

Description

Nul ?

keyset_id

integer

Identifiant pour la sélection de jeu de clés

NOT NULL

long_val

integer

Valeur du champ sur lequel la classe de relations est basée, s'il s'agit d'un champ numérique

str_val

varchar(256)

Valeur du champ sur lequel la classe de relations est basée, s'il s'agit d'un champ chaîne

dbl_val

double

Valeur du champ sur lequel la classe de relations est basée, s'il s'agit d'un champ double précision

date_val

timestamp without time zone

Valeur du champ sur lequel la classe de relations est basée, s'il s'agit d'un champ date

Tables de jeux de clés dans un document d'espace de travail XML

Les tables de jeux de clés ne sont pas stockées dans un document XML, s'agissant de tables temporaires.

Rubriques connexes


7/10/2012