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

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 SQL Server, 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 Microsoft SQL Server

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 nom de la structure de l'utilisateur à l'origine de sa création et le numéro d'identification de processus de la session de l'utilisateur. Le format est le suivant :

<user_schema>.##keyset_<process_id>_sde

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.

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 SQL Server

<structure_utilisateur>.##keyset_<id_processus>_sde

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

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

nvarchar(256)

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

DBL_VAL

réel simple

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

DATE_VAL

datetime

datetime2

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 XML

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

Rubriques associées


3/6/2012