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 for 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 jeux de clés dans ArcGIS for Desktop
Vous ne pouvez pas afficher les tables de jeux de clés dans ArcGIS for 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, accessible via le 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ù :
- une sélection éligible est effectuée par l'intermédiaire d'ArcGIS for Desktop, ou
- vous lancez une session de mise à jour.
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.
<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 |
float |
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.