El almacenamiento de geodatabase está basado en principios relacionales
Un sistema de administración de bases de datos (DBMS) se considera abierto cuando la simplicidad y la flexibilidad del modelo genérico de datos relacionales lo habilitan para admitir un conjunto amplio de aplicaciones.
El modelo de almacenamiento de geodatabase está basado en los principios de DBMS, ya que almacena una serie de conceptos de bases de datos relacionales simples pero esenciales. El DBMS (y el sistema de archivos para geodatabases de archivos) proporciona un modelo simple de datos formales para almacenar y trabajar con información en tablas.
Los conceptos clave incluyen lo siguiente:
- Los datos están organizados en tablas.
- Las tablas incluyen filas.
- Todas las filas en una tabla tienen las mismas columnas.
- Cada columna tiene un tipo, como número entero, número decimal, carácter, fecha y así sucesivamente.
- Las relaciones se utilizan para asociar filas de una tabla con filas de otra tabla. Esto se basa en una columna común de cada tabla.
- Existen reglas de integridad relacional para las tablas. Por ejemplo, cada fila comparte siempre las mismas columnas, un dominio enumera los valores válidos o los rangos de valor para una columna, y así sucesivamente.
Para las geodatabases de ArcSDE que se almacenan en bases de datos relacionales, también se aplican algunas capacidades de DBMS adicionales:
- El lenguaje estructurado de consultas (SQL), serie de operadores y funciones relacionales, está disponible para funcionar en las tablas y sus elementos de datos.
- Los operadores de SQL están diseñados para funcionar con los tipos de datos relacionales genéricos, como números enteros, números decimales, fechas y caracteres.
Por ejemplo, una clase de entidad se almacena como una tabla de DBMS. Cada fila representa una entidad. Las columnas en cada fila representan las distintas características o propiedades de la entidad, y una de las columnas muestra la geometría de entidad (por ejemplo, las coordenadas de punto, línea o polígono). En el siguiente ejemplo, el campo de forma cuenta con una forma de polígono para cada fila de parcela en la tabla de clase de entidad.
Se utilizan distintos tipos de columnas en el DBMS para mantener el campo de forma en la tabla. Generalmente suelen ser de un tipo de objeto binario grande (Blob) o de un tipo espacial extendido que es compatible con algunos DBMS. Por ejemplo, como mínimo un tipo de columna espacial para almacenar entidades está disponible para todos los DBMS que admite ArcSDE: Oracle, IBM DB2, Informix, PostgreSQL y SQL Server. De este modo, se agrega respaldo para acceder a las entidades con SQL, que adhiere a las normas de la Organización internacional para la estandarización (ISO) y del Consorcio geoespacial abierto (Open Geospatial Consortium, Inc., OGC) para tipos espaciales.
SQL opera en las filas, las columnas y los tipos de tablas. Los tipos de columnas (números, caracteres, fechas, Blob, tipos espaciales, etc.) son objetos del álgebra de SQL. El DBMS administra estos tipos de datos simples y tablas, mientras que la lógica de la aplicación adicional implementa restricciones de integridad y comportamiento de objetos más complejas.
Si agrega tipos espaciales y respaldo de SQL para atributos espaciales en un DBMS, no es suficiente en sí mismo para respaldar SIG.
Implementar comportamiento y objetos de nivel más alto en DBMS relacionales
Los desarrolladores que desean implementar objetos de nivel más alto con comportamiento y lógica, escriben un código de aplicación para hacerlo. Por ejemplo, una organización puede implementar una tabla de empleados del siguiente modo:
Apellido |
Nombre |
Fecha de contratación |
Salario |
---|---|---|---|
Brown |
Ben |
10-10-2001 |
$10,000.50 |
Jones |
Betty |
06-14-1998 |
$22,000.00 |
Smith |
Jason |
08-23-1999 |
$44,000.75 |
La tabla de empleados es una tabla de datos relacionales simple que contiene filas y columnas. Los datos en cada columna adhieren a un tipo de datos particulares, como el carácter, la fecha y el número. Los DBMS funcionan con información en este nivel.
Sin embargo, simplemente agregar información a una tabla de DBMS no convierte al DBMS en una nómina o un sistema de administración de empleados. Cuando se agrega una columna de Dólares que tiene números con dos lugares decimales no convierte al DBMS en un sistema contable. Se necesita una lógica de aplicación de mayor nivel.
Los ejemplos de lógica que se puede implementar para respaldar actividades de empleo son contratación, implementación de aumentos de sueldo, renuncias de los empleados, promociones y beneficios de administración. Los objetos comerciales que se modelan para los empleados y sus nombres, salarios y fechas de contratación no es implementan como objetos relacionales. Se requiere una lógica de aplicación más sofisticada y enfocada para implementar comportamiento e integridad en estos objetos comerciales.
Se aplican objetos comerciales similares de manera universal en SIG. Por ejemplo, las topologías, las redes, los sistemas de referencia lineal, los catálogos de ráster, las anotaciones, los terrenos, las capas de mapas, etc., ejemplifican los objetos avanzados que se utilizan para implementar el comportamiento de SIG sobre las representaciones espaciales simples almacenadas en el DBMS.
Como con otras aplicaciones de DBMS, las tablas con tipos de columna espacial no son suficientes por sí mismas para las aplicaciones SIG. Se necesitan ambos conjuntos de objetos (los tipos simples de columnas relacionales de DBMS y los objetos de aplicación de geodatabase como topologías) para construir sistemas de información geográfica.
¿A dónde pertenece la lógica de la aplicación?
Las incontables implementaciones del sistema de administración de base de datos (DBMS) demostraron ampliamente que el uso de un nivel de aplicación separado que funciona en los tipos de filas y columnas de las tablas es apropiado para las aplicaciones avanzadas. Por ejemplo, todos los sistemas de información de clientes (CIS) adoptados ampliamente, los sistemas de planificación de recursos para empresas (ERP) y los paquetes de contabilidad implementan una lógica de aplicación avanzada en el nivel de aplicación, que habilita más apertura y extensibilidad, mayor rendimiento, conjuntos de herramientas más grandes y mayor flexibilidad.
Los usuarios interactúan y realizan transacciones en estos sistemas a través de la lógica de la aplicación para la gran mayoría de las operaciones y sólo utilizan un lenguaje estructurado de consultas (SQL) para actividades enfocadas (y apropiadas).
Separar la lógica de la aplicación más arriba del nivel de datos también permite que se aplique la misma lógica a DBMS, archivos, lenguaje de marcado extensible (XML) y otras alternativas de almacenamiento de datos. Esto hace que la arquitectura sea más abierta. Por ejemplo, la lógica de la aplicación de geodatabase en ArcGIS también se utiliza para leer y trabajar con todas las fuentes de datos geográficos, como datos de dibujo asistido por ordenador (CAD), shapefiles, datos de MapInfo, archivos de Intergraph GeoMedia y archivos de Lenguaje de marcado geográfico (GML).
Otras formas de continuar esta lógica de mayor nivel incluyen los procedimientos almacenados y las activaciones de bases de datos en el DBMS o los tipos extendidos en el DBMS.