El modelo de almacenamiento de la geodatabase está basado en una serie de simple aunque esencial de conceptos de bases de datos relacionales y aprovecha los puntos fuertes del sistema de administración de base de datos (DBMS) subyacente. Las tablas simples y los tipos de atributos bien definidos se utilizan para almacenar los datos de esquema, regla, base y atributos espaciales de cada dataset geográfico. Este enfoque proporciona un modelo formal para el almacenamiento y trabajo con los datos. A través de este enfoque, el lenguaje estructurado de consultas (SQL), una serie de funciones relacionales y operadores, se puede utilizar para crear, modificar y consultar tablas y sus elementos de datos.
Puede ver cómo funciona esto examinando cómo se modela una entidad con geometría poligonal en la geodatabase. Una clase de entidad se almacena como una tabla, a menudo se denomina como tabla de negocios o base. Cada fila de la tabla representa una entidad. La columna de forma almacena la geometría del polígono para cada entidad. Se puede acceder al contenido de esta tabla, incluida la forma cuando se almacena como tipo espacial SQL, a través de SQL.
Sin embargo, agregar tipos espaciales y soporte SQL para atributos espaciales a un DBMS, no es suficiente para la compatibilidad con SIG. ArcGIS emplea una arquitectura de aplicación de varios niveles implementando lógica y comportamiento avanzados en el nivel de aplicación por encima del modelo de almacenamiento de la geodatabase. Esta lógica de aplicación incluye soporte para una serie de objetos de datos y comportamientos genéricos de sistemas de información geográfica (SIG) tales como clases de entidad, datasets ráster, topologías, redes y mucho más.
La geodatabase es de objeto relacional
La geodatabase se implementa utilizando la misma arquitectura de aplicación de varios niveles que se encuentra en otras aplicaciones DBMS avanzadas; no hay nada exótico o inusual en su implementación. La arquitectura de varios niveles de la geodatabase se conoce a veces como modelo relacional de objetos. Los objetos de geodatabase se almacenan como filas en tablas DBMS que tienen identidad, y el comportamiento se proporciona a través de la lógica de aplicación de la geodatabase. La separación de la lógica de la aplicación del almacenamiento es lo que permite admitir diversos DBMS y formatos de datos distintos.
Almacenamiento de geodatabase en bases de datos relacionales
En el centro de la geodatabase se encuentra un esquema de base de datos relacional estándar (una serie de tablas de base de datos, tipos de columna, índices y otros objetos estándar de base de datos). El esquema se almacena en una colección de tablas del sistema de geodatabase en el DBMS que define la integridad y comportamiento de la información geográfica. Estas tablas se almacenan como archivos en disco o dentro del contenido de un DBMS como Oracle, IBM DB2, PostgreSQL, Informix de IBM o Microsoft SQL Server.
Se utilizan tipos de columna bien definidos para almacenar los atributos tabulares tradicionales. Cuando la geodatabase se almacena dentro de un DBMS, las representaciones espaciales, la mayoría normalmente representadas por vectores o ráster, generalmente se almacenan utilizando un tipo espacial extendido.
Dentro de la geodatabase, hay dos conjuntos primarios de tablas; tablas del sistema y tablas de dataset.
- Tablas de dataset: cada dataset en una geodatabase se almacena en una o más tablas. Las tablas de dataset trabajan con las tablas del sistema para administrar los datos.
- Tablas del sistema: las tablas del sistema de geodatabase mantienen un registro de los contenidos 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:
- GDB_Items: contiene una lista de todos los elementos que se encuentran dentro de una geodatabase, como las clases de entidad, topologías y dominios.
- GDB_ItemTypes: contiene una lista predefinida de tipos de elementos reconocidos, como Tabla.
- GDB_ItemRelationships: contiene las asociaciones de esquemas entre los elementos, como las clases de entidad que se encuentran dentro de un dataset de entidades.
- GDB_ItemRelationshipTypes: contiene una lista predefinida de tipos de relaciones reconocidos, como DatasetInFeatureDataset.
Las tablas del sistema y dataset funcionan juntas para presentar y administrar el contenido de una geodatabase. Por ejemplo, cuando se ve en el formato de almacenamiento subyacente, una clase de entidad simplemente es una tabla con una columna espacial. Sin embargo, cuando se accede a través de ArcGIS, todas las reglas almacenadas en las tablas del sistema se combinan con los datos subyacentes para presentarlos como una clase de entidad con todo el comportamiento definido.
Tablas adicionales
Dependiendo de qué tipo de geodatabase esté utilizando y en qué DBMS se almacene, el conjunto de tablas del sistema podría variar. Las geodatabases corporativas tienen un conjunto diferente de tablas del sistema que las geodatabases de archivos, que tienen un conjunto ligeramente diferente a las geodatabase personales. Para las geodatabases corporativas, las tablas del sistema diferentes se definen en las tablas del sistema de los temas de una geodatabase para cada DBMS concreto. No se detallan las distintas tablas almacenadas en geodatabases de archivo y personales, ya que no necesitaría interactuar con la mayoría de estas tablas.