Tablas keyset en una geodatabase en Oracle

Se utiliza una tabla keyset para almacenar una lista de filas seleccionadas cuando un cliente de ArcGIS for 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 tablas de archivos de registro de ArcSDE para Oracle, 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 for Desktop

No puede ver tablas keyset en ArcGIS for 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 a las que se accede desde 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 Oracle

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

Cuando un usuario con privilegios CREATE TABLE crea una tabla keyset, esta se crea en el esquema de ese usuario. Si un usuario no tiene privilegios CREATE TABLE, se invoca un procedimiento para crear una tabla keyset en el esquema del administrador de la geodatabase. Cuando se crea una tabla keyset como resultado de una selección restringida realizada en ArcGIS for Desktop, se crea y se completa la tabla keyset. Cuando inicia una sesión de edición, la tabla keyset se crea pero no se completa hasta que se realiza un conjunto de selección restringida. La tabla keyset se elimina cuando el usuario se desconecta de la base de datos.

Los nombres de las tablas keyset aparecen con el siguiente formato:

<user_schema>.keyset_<process_id>

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.

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.

Tabla keyset y las tablas de negocios asociadas en Oracle

<esquema_usuario>.keyset_<id._proceso>

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

Nombre de campo

Tipo de campo

Descripción

¿Nulo?

KEYSET_ID

NUMBER(38)

Identificador de la selección de keyset

NO NULO

LONG_VAL

NUMBER

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

STR_VAL

NVARCHAR2(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

DOUBLE

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

DATE

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

9/11/2013