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), se puede utilizar para crear, modificar y consultar tablas y sus elementos de datos.
Para ver su funcionamiento, analice 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 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 SQL.
Dentro de la geodatabase, hay dos conjuntos primarios de tablas: tablas del sistema y tablas definidas por el usuario.
- Tablas definidas por el usuario: cada dataset en una geodatabase se almacena en una o más tablas. Las tablas definidas por el usuario 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 información relacionada con el esquema en la geodatabase se almacena 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 definidas por el usuario y del sistema funcionan juntas para presentar y administrar el contenido de una geodatabase. Por ejemplo, cuando se visualiza en la base de datos, 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.