Tablas keyset en una geodatabase en SQL Server

Se utiliza una tabla keyset para almacenar una lista de filas seleccionadas cuando un cliente de ArcGIS Desktop ejecuta una consulta de relación de geodatabase que une tablas mediante atributos que son del tipo entero, número, fecha o cadena de caracteres.

Como se describe en Opciones de configuración de tabla de archivos de registro de ArcSDE para SQL Server, las tablas de archivos de registro almacenan los ObjectID de las entidades seleccionadas. Las tablas keyset se utilizan para acomodar las uniones mediante atributos diferentes a ObjectID.

Se crea una tabla keyset por conexión por sesión cuando hay más de 99 filas en el conjunto de selección fuente en la consulta de base de datos.

Tablas keyset en ArcGIS Desktop

No puede ver tablas keyset en ArcGIS Desktop. Sin embargo, genera que se cree y se complete una tabla keyset cuando selecciona más de 99 registros en una clase de entidad implicada en una clase de relación en ArcMap; luego abre la tabla de atributos y utiliza la lista Tablas relacionadas en el menú Opciones para recuperar la tabla relacionada. También genera que se cree una tabla keyset cuando inicia una sesión de edición.

Tablas keyset en una base de datos de Microsoft SQL Server

En la geodatabase no hay tablas keyset presentes hasta que sucede uno o dos de los siguientes ítems:

Cuando sucede cualquiera de estos dos ítems, se crea la tabla keyset como una tabla temporal global. En el primer caso, la tabla keyset se crea y se completa. En el segundo ejemplo, la tabla keyset sólo se crea pero no se completa hasta que se realiza un conjunto de selección restringida.

El nombre de la tabla keyset incluye el nombre del esquema del usuario que hizo que se creara la tabla keyset y el número de identificación del proceso de la sesión del usuario. El formato es el siguiente:

<user_schema>.##keyset_<process_id>_sde

La tabla keyset almacena un número de Id. de keyset para cada conjunto y valores de selección para el campo en el que se basa la relación entre las clases de entidad.

Como es una tabla temporal, la tabla keyset se elimina cuando el usuario se desconecta de la base de datos.

La siguiente es una tabla keyset para una selección entre las tablas relacionadas LATERALS y CONTRACTORS. En este caso, el campo LONG_VAL está completo y contiene los valores del campo CONTRACTOR_ID en el cual se basa la clase de relación entre LATERALS y CONTRACTORS.

La tabla keyset y las tablas de negocios asociadas en SQL Server

<user_schema>.##keyset_<process_id>_sde

La siguiente es la definición de una tabla keyset en SQL Server:

Nombre de campo

Tipo de campo

Descripción

¿Nulo?

KEYSET_ID

integer

Identificador de la selección de keyset

NO NULO

LONG_VAL

integer

Valor del campo en el cual se basa la clase de relación si ese campo es un campo de número

STR_VAL

nvarchar(256)

Valor del campo en el cual se basa la clase de relación si ese campo es un campo de cadena de caracteres

DBL_VAL

flotante

Valor del campo en el cual se basa la clase de relación si ese campo es un campo de precisión doble

DATE_VAL

datetime

datetime2

Valor del campo en el cual se basa la clase de relación si ese campo es un campo de fecha

Tablas keyset en un documento XML

Las tablas keyset no se almacenan en un documento XML porque son tablas temporales.

Temas relacionados


3/6/2012