Tablas keyset en una geodatabase en Oracle
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 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 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 Oracle
En la geodatabase no hay tablas keyset presentes hasta que sucede uno o dos de los siguientes ítems:
- Se realiza una selección restringida mediante ArcGIS Desktop
- Comienza una sesión de edición
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 ArcSDE. Cuando se crea una tabla keyset como resultado de una selección restringida realizada en ArcGIS 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.
<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.