Un paseo introductorio por las tablas del sistema de geodatabase

La estructura interna de la geodatabase se representa como una serie de tablas simples llamadas tablas del sistema de geodatabase (las tablas con el prefijo GDB_), las cuales registran el contenido de cada geodatabase. Describen fundamentalmente el esquema de geodatabase que especifica todas las definiciones, reglas y relaciones de dataset. Las tablas del sistema contienen y administran todos los metadatos requeridos para implementar propiedades de geodatabase, reglas de validación de datos y comportamientos.

La estructura interna de estas tablas se vuelven a estructurar a partir de ArcGIS versión 10. La información relacionada con el esquema en la geodatabase, la cual antes de ArcGIS 10 se almacenaba en más de 35 tablas del sistema de geodatabase, se consolidó en cuatro tablas principales:

Las tablas GDB_Items y GDB_ItemRelationships representan el esquema definido por el usuario dentro de una geodatabase en particular. El contenido de las tablas se modifica a medida que se modifica el esquema de la geodatabase. Las tablas GDB_ItemTypes y GDB_ItemRelationshipTypes son estáticas. Los siguientes diagramas ilustran las relaciones entre estas cuatro tablas:

Cuatro tablas principales del sistema de geodatabase

La tabla GDB_Items

Una geodatabase es un contenedor de elementos geográficos y no geográficos. Estos elementos incluyen datasets tabulares, como tablas y clases de entidad; contenedores de datasets, como datasets de entidades, topologías y redes geométricas; datasets que controlan el comportamiento más avanzado de la geodatabase; y otros elementos como dominios, cajas de herramientas y extensiones del espacio de trabajo. A partir de ArcGIS 10, todos estos elementos se almacenan dentro de la geodatabase en la tabla GDB_Items, donde cada elemento se almacena como una fila única.

Un elemento tiene los siguientes atributos:

Estos siete atributos son a los que posiblemente acceda con SQL.

Los siguientes atributos almacenan información de la definición de un elemento (como un tipo de geometría de la clase de entidad), que se duplican fuera de la definición de XML para permitir una navegación más eficiente de la geodatabase. Los ejemplos de esto son las propiedades de Subtipo de dataset e Info de dataset, cuyos códigos dependen del tipo de elemento.

La tabla GDB_ItemTypes

La tabla GDB_ItemTypes contiene el grupo predefinido de tipos de elementos reconocidos en la geodatabase. Los tipos de elementos se usan para normalizar la tabla GDB_Items (el tipo de un elemento en la tabla GDB_Items se representa como un UUID), para proporcionar una mejor compatibilidad con las futuras mejoras de funcionalidad de geodatabases y definir un tipo de jerarquía. Todos los tipos principales son abstractos; por consiguiente, los elementos principales no se encontrarán realmente en la tabla GDB_Items.

El contenido de la tabla GDB_ItemTypes es estático; no se modifica durante la creación o eliminación de elementos.

Un tipo de elemento tiene los siguientes atributos:

La tabla GDB_ItemRelationships

Casi todos los elementos de geodatabase tiene relaciones con al menos un elemento de otra geodatabase. Por ejemplo, una tabla independiente se relaciona con la carpeta raíz de una geodatabase, un dominio se relaciona con las tablas o clases de entidad que se basan en ésta para la validación, y las clases de entidad se relacionan con la topología en la cual participan. La tabla GDB_ItemRelationships se utiliza para rastrear estas relaciones.

Las relaciones de elementos tienen los siguientes atributos:

Probablemente accedería sólo a los primeros cinco atributos con SQL.

SugerenciaSugerencia:

es importante comprender que una relación de elementos no es análoga a una clase de relación. En realidad, cada clase de relación tiene relaciones de elementos con dos clases de objetos (la clase de origen y de destino), como también una relación de elemento adicional con su contenedor (la carpeta raíz de geodatabase o un dataset de entidades).

La tabla GDB_ItemRelationshipTypes

En la misma forma que un grupo estático de tipos de elementos se usa para clasificar elementos, un grupo estático de tipos de relación de elementos se usa para clasificar las relaciones de los elementos. Por ejemplo, DatasetInFeatureDataset (que indica que existe una clase de entidad, una clase de relación o un dataset de controlador dentro de un dataset de entidades) y DomainInDataset (que indica que un dataset usa un dominio para la validación a nivel de clase o a nivel de subtipo) son dos tipos de relaciones de elementos. A diferencia de los tipos de elementos, los tipos de relaciones de elementos no tienen un concepto de jerarquía con los tipos principales y secundarios.

Los tipos de relaciones de elementos tienen los siguientes atributos:

SugerenciaSugerencia:

los Id. de tipo de elemento de origen y destino suelen ser identificadores de tipos de elementos abstractos. Por ejemplo, el Id. del tipo de origen del tipo de relación DomainInDataset es Dominio, el cual es un tipo de elemento abstracto con dos subtipos: Dominio de rango y Dominio de valor codificado.

XML en las tablas del sistema de geodatabase

Como se mencionó en las definiciones de atributos para las tablas del sistema de geodatabase, algunos de los campos usan un tipo de datos XML. En las geodatabases de ArcSDE en IBM DB2, Microsoft SQL Server y PostgreSQL, estas columnas usan el XML nativo del sistema de administración de bases de datos y, por consiguiente, pueden consultarse mediante expresiones de XPath con SQL.

En geodatabases en Oracle e Informix, las columnas XML usan XML de ArcSDE, que almacena información como BLOB en una serie de tablas separadas. Por ello, no se puede acceder a estas directamente con SQL.

Para poder ver el contenido de las columnas XML en las tablas del sistema en geodatabases en Oracle, existen dos vistas del sistema que almacenan el contenido a partir de las columnas XML de la tabla del sistema de geodatabase en un tipo de datos CLOB. GDB_Items_vw muestra el contenido de las columnas Definición, Documentación y ItemInfo de las columnas CLOB en la tabla GDB_Items. GDB_ItemRelationships_vw muestra el contenido de la columna Atributos de la tabla GDB_ItemRelationships en una columna CLOB. El contenido de las columnas CLOB puede leerse como texto.

Cuando se consultan estas vistas, se extrae la cadena de texto de la columna CLOB, se la convierte en un tipo XML y se ejecuta una consulta en XPath acerca de ella. Tenga en cuenta que si desea crear un tipo XML para una columna que incluye una cadena de texto en blanco, aparecerá el mensaje "Error en el análisis sintáctico de XML" debido a que Oracle no lo admite.

Para consultar el contenido de las columnas CLOB, debe configurar el servidor Oracle para que acepte las conexiones SQL. Para obtener más información, consulte el tema Configurar Oracle Listener para utilizar SQL.

Temas relacionados


3/6/2012