Tablas de sistema de geodatabase en SQL Server

Cuando se conecta a una geodatabase corporativa desde un cliente de ArcGIS o mediante un servicio web de ArcGIS Server, interactúa con los datasets que usted u otros usuarios de bases de datos hayan agregado a la geodatabase. Para hacer un seguimiento de los datos e implementar el comportamiento de la geodatabase, las geodatabases corporativas usan tablas de sistema.

No debe alterar las tablas de sistema ni su contenido con un software diferente al de ArcGIS o SDK. Sin embargo, puede ver el contenido de las tablas de sistema con SQL.

Tablas de sistema principales

No debe alterar las tablas de sistema ni su contenido con un software diferente al de ArcGIS o SDK. Sin embargo, puede ver el contenido de las tablas de sistema con SQL.

Cuando consulta una base de datos de Microsoft SQL Server que contiene una geodatabase corporativa, verá las siguientes tablas de sistema principales en el esquema del usuario sde o el esquema dbo:

  • GDB_CONFLICTS
  • GDB_ITEMRELATIONSHIPS
  • GDB_ITEMRELATIONSHIPTYPES
  • GDB_ITEMS
  • GDB_ITEMTYPES
  • GDB_LOCKS
  • GDB_REPLICALOG
  • GDB_TABLES_LAST_MODIFIED
  • SDE_archives
  • SDE_branch_tables_modified
  • SDE_branches
  • SDE_column_registry
  • SDE_compress_log: Creada la primera vez que comprimió la geodatabase.
  • SDE_dbtune
  • SDE_geometry_columns
  • SDE_layer_locks
  • SDE_layers
  • SDE_lineages_modified
  • SDE_multibranch_tables
  • SDE_mvtables_modified
  • SDE_object_ids
  • SDE_object_locks
  • SDE_process_information
  • SDE_raster_columns
  • SDE_server_config
  • SDE_spatial_references
  • SDE_state_lineages
  • SDE_state_locks
  • SDE_states
  • SDE_table_locks
  • SDE_table_registry
  • SDE_tables_last_edit_time
  • SDE_tables_modified
  • SDE_version
  • SDE_versions

Las siguientes tablas se encuentran en la geodatabase, pero ya no se usan. Es posible que se eliminen en una versión futura.

  • SDE_locators
  • SDE_metadata
  • SDE_layer_stats
  • SDE_logfile_pool
  • SDE_xml_columns
  • SDE_xml_index_tags
  • SDE_xml_indexes

Tablas que implementan la funcionalidad de geodatabase corporativa

La información de algunas funcionalidades de geodatabase se almacena solo en las tablas de sistema principales. Por ejemplo, la información de la siguiente funcionalidad se almacena en las tablas de sistema principales y no se crea ninguna otra tabla en la base de datos cuando define o habilita esta funcionalidad en los datos del usuario:

  • Reglas de atributos: almacenadas en la tabla de sistema de GDB_ITEMS.
  • Versiones en rama: se agregan seis campos a la tabla o a la tabla de negocios de la clase de entidad cuando se registra para que participe en el versionado en rama a fin de hacer un seguimiento de las ediciones.
  • Dominios: almacenados en la tabla de sistema GDB_ITEMS. Un campo de la tabla de sistema GDB_ITEMTYPES identifica al objeto como dominio.
  • Clases de relación: almacenadas en las tablas de sistema de GDB_ITEMS y GDB_ITEMRELATIONSHIPS.

Sin embargo, la funcionalidad de geodatabase que se describe en las siguientes secciones crea tablas internas adicionales cuando habilita la funcionalidad o la usa.

Archivos de geodatabase

Es posible realizar el seguimiento del historial del tiempo de transacción de sus datos mediante el archivado de geodatabase. El tiempo de transacción representa el momento en el tiempo en que se la entidad se agregó, eliminó o actualizó en la base de datos.

Cuando habilita el archivado de geodatabase en un atabla o una clase de entidad, se crea una clase de archivo. Una clase de archivo es una copia de la tabla de negocios y contiene los mismos campos más tres campos nuevos: GDB_FROM_DATE, GDB_TO_DATE y GDB_ARCHIVE_OID. Al habilitar el archivado en una tabla o clase de entidad que toma parte en una versión tradicional, también se agrega un registro a la tabla de sistema SDE_archives. Este registro almacena los Id. de registro de la tabla habilitada para el archivado y su tabla de clases de archivos asociada.

El nombre de la tabla de clases de archivos es el mismo que el de la tabla de negocios original con un guion bajo y la H incorporada. Por ejemplo, si se habilita una clase de entidad con el nombre buildings para el archivado, también se crea una clase de archivo llamada buildings_H. Esta tabla de clase de archivo se almacena en el mismo esquema que la tabla de negocios.

Cuando se cortan registros de archivo innecesarios de clases de archivo no registradas versionadas, la transacción se registra en la tabla de sistema SDE_metadata.

Versiones tradicionales

Cuando registra una tabla o clase de entidad para que tome parte en versiones tradicionales, se crean dos tablas para hacer un seguimiento de las ediciones de los datos: la tabla de adiciones y la tabla de borrados. En conjunto, se conocen como las tablas delta.

La tabla de adiciones (a_<registration_id>) mantiene información sobre cada registro (entidad) insertado o actualizado en una tabla de negocios versionada y se consulta para identificar los registros que se han agregado o modificado en un estado determinado de la geodatabase.

La tabla de borrados (d_<registration_id>) mantiene la información de todas las filas que se eliminaron o se actualizaron en una tabla versionada y se consulta para identificar las filas que se han eliminado o modificado en un estado determinado. Cuando se elimina una fila, el registro no se elimina físicamente; se marca como eliminado y nunca aparece en las consultas posteriores de la base de datos.

El registration_id que aparece en los nombres de la tabla de adiciones y la tabla de borrados es el valor de la tabla versionada de la tabla de sistema SDE_table_registry.

Estas tablas se crean en el mismo esquema de usuario que la tabla o clase de entidad registrada como versionada.

Además de las tablas delta, las tablas de sistema principales que hicieron un seguimiento de las tablas y ediciones versionadas son las siguientes: SDE_states, SDE_state_lineages, SDE_mvtables_modified y SDE_versions.

Tablas keyset

Los clientes de ArcGIS utilizan tablas keyset para mejorar el rendimiento de las consultas. Las tablas keyset almacenan una lista de filas seleccionadas cuando un cliente de ArcGIS 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. Acomodan uniones mediante atributos distintos del campo Id. de objeto.

La geodatabase no contiene ninguna tabla keyset hasta que no realice una de las siguientes operaciones:

  • Seleccionar más de 99 registros desde una clase de entidad en un mapa de ArcGIS Pro o ArcMap, y la clase de entidad participa en una clase de relación.
  • En ArcGIS Pro o ArcMap, abrir la tabla de atributos de una clase de entidad que participe en una clase de relación y recuperar la tabla relacionada.

Se crea una tabla keyset como tabla temporal global por cada conexión de cada sesión. Como es una tabla temporal, la tabla keyset se elimina cuando el usuario se desconecta de la geodatabase.

Los nombres de las tablas keyset tienen este formato:

<user_schema>.##keyset_<process_id>_sde, donde <user_schema> es el esquema del usuario que provocó la creación de la tabla y <process_id> es el número de identificación de proceso de la sesión del usuario que provocó la creación de la tabla.

Tablas de archivo de registro

Los clientes de ArcGIS utilizan tablas de archivo de registro para mejorar el rendimiento de las consultas al almacenar listas de filas seleccionadas. Las tablas de archivo de registro utilizan uniones basadas en atributos de Id. de objeto.

Las geodatabases de SQL Server usan tablas temporales locales basadas en sesión para las tablas de archivos de registro. Cada sesión de cliente que requiera una tabla de archivo de registro tendrá una tabla de archivo de registro correspondiente. El nombre de tabla es SDE_session<sde_ID>, donde <SDE_ID> es el Id. de sesión único de la tabla SDE_process_information, y <DBID> es el Id. de base de datos de SQL Server.