Escolar Documentos
Profissional Documentos
Cultura Documentos
“Bases de Datos Espacio–Temporales”
MONOGRAFIA
Presenta:
Viaani Lily Álvarez Prados
Asesor:
M.R. y T. Alma Delia Otero Escobar
Cuerpo Académico:
Tecnologías de la Información y las
Organizaciones Inteligentes en la Sociedad
del Conocimiento
INTRODUCCION 2
1.1 HISTORIA 7
1.2 BASE DE DATOS 10
1.2.1 Ventajas del uso de bases de datos 11
1.2.2 Aplicaciones de las bases de datos 12
1.2.3 Abstracción de datos 13
1.3 MODELOS DE BASES DE DATOS 15
1.3.1 Modelo entidad relación 15
1.3.2 Modelo relacional 17
1.3.3 Modelo jerárquico 19
1.3.3.1 Características de la estructura jerárquica 19
1.3.4 Modelo orientado a objetos 21
1.3.4.1 Relaciones 21
1.3.4.2 Integridad de las relaciones 24
1.4 ANTECEDENTES DE LAS BASE DE DATOS
ESPACIO-TEMPORALES 25
1.4.1 Bodega de datos 25
1.4.1.1 Características de la bodega de datos 26
1.4.1.2 Ventajas de la bodega de datos 27
1.4.1.3 Desventajas de la bodega de datos 27
1.4.2 Minería de datos 27
1.4.2.1 Características y objetivos de la minería de datos 29
I
1.4.2.2 Ventajas de la minería de datos 30
1.4.2.3 Desventajas de la minería de datos 31
II
3.1.4 Procesador Dom4j 73
3.1.5 Manejador de base de datos PostGresql 74
3.1.5.1 PostGIS 76
3.1.6 Entorno de desarrollo integrado NetBeans 76
CONCLUSIONES 89
FUENTES DE INFORMACION 91
GLOSARIO 94
III
RESUMEN
En este trabajo se conoce las bases de datos espacio-temporales las
cuales se encargan de guardar objetos espaciales que cambian su tamaño y/o
posición a través del tiempo. Además de contar con la capacidad de almacenar
otros tipos de datos tales, como imágenes, sonido, texto, video, datos
geométricos, entre otros. Para conocer mejor de este tema es necesario contar
información específica de las bases de datos (BD) clásicas, por lo que esta
monográfica consta de cuatro capítulos, de los cuales en el primero se abarcan las
generalidades de las bases de datos, la historia de éstas, sus modelos de datos y
algunas de las herramientas de apoyo a las mismas tales como las bodegas y la
minería de datos. En el segundo capítulo se abarca las bases de datos espaciales,
temporales y espacio-temporales, así como los lenguajes de consulta que son
utilizados para llevar a cabo la definición y manipulación de las bases de datos. El
tercer capítulo presenta algunas herramientas de software que permiten manipular
este tipo de base de datos y por último, en el capitulo cuatro se presenta una de
las aplicaciones de las bases de datos espacio-temporales, como es el caso de los
sistemas de información geográfica.
1
INTRODUCCION
La información con la que cuentan las empresas suele ser muy grande por
lo que el acceso a ésta puede llegar a ser complicada. Una herramienta para
acceder de manera rápida y sencilla a los datos de una organización, son las
bases de datos (BD), a las cuales se puede acceder sin necesidad de ir a lugares
dedicados a archivar documentación que en un momento dado llega a ser molesto
y que a la fecha, en algunas organizaciones se sigue haciendo.
Otra de las herramientas por las que las bases de datos se auxilian es la
minería de datos la cual colabora en la exploración de información que en algunas
ocasiones puede encontrarse almacenada durante muchos años.
3
espaciales que la forman a través de tres características básicas: atributos,
localización y topología. Donde los atributos representan características de los
objetos que nos permiten saber qué es lo que son. La localización, representada
por la geometría del objeto y su ubicación espacial de acuerdo a un sistema de
referencia, permite saber dónde está el objeto y qué espacio ocupa. Por último, la
topología definida por medio de las relaciones conceptuales y espaciales entre los
objetos, permite mejorar la interpretación semántica del contexto y establecer
ciertas jerarquías de elementos a través de sus relaciones.
Existen diversos lenguajes de consulta para este tipo de base de datos pero
en esta monografía se presentan dos de dichos lenguajes, estos son, SQLST y
Guting los cuales se analizan mediante un conjunto de consultas y de criterios con
el fin de evidenciar sus ventajas y desventajas.
4
Ya que las bases de datos espacio-temporales representan una relación
entre espacio y tiempo, existen herramientas para la manipulación de software,
como API Java swing la cual proporciona un conjunto de componentes para el
diseño e implementación de las aplicaciones de escritorio con interfaces gráficas
amigables para el usuario; la tecnología XML brinda la funcionalidad de establecer
la estructura de los contenidos de los documentos; XSLT permite la
transformación de documentos XML a otro formato de archivo por medio de estilos
y formatos establecidos en hojas de estilo de éste mismo; otras de las
herramientas y tecnologías son Dom4j, PostgreSQL, PostGIS y Netbeans que se
abarcan en esta monografía.
5
CAPÍTULO I
GENERALIDADES DE LAS BASES DE DATOS
En este capítulo se da a conocer la historia de las bases de datos,
dándonos cuenta que las técnicas de almacenamiento de datos han evolucionado
a lo largo de los años, empezando con el desarrollo de las cintas magnéticas
hasta el comienzo de la World Wide Web, donde los sistemas de bases de datos
tuvieron interfaces Web. Además conoceremos el concepto de base de datos así
como sus ventajas, aplicaciones y la forma en que los programadores recuperan
los datos eficientemente mediante los niveles de abstracción.
1.1 HISTORIA
7
Las técnicas del almacenamiento de datos han evolucionado a los largo de
los años:
8
las bases de datos de red y jerárquicas existentes. Esta situación cambió
con System R, un proyecto innovador en IBM Research que desarrolló
técnicas para la construcción de un sistema de bases de datos relacionales
eficiente. Los primeros sistemas de bases de datos relacionales, jugaron
un importante papel en el desarrollo de técnicas para el procesamiento
eficiente de consultas. En los principios de la década de 1980 las bases de
datos relacionales llegaron a competir con los sistemas de bases de datos
jerárquicas y de red incluso en el área de rendimiento. Las bases de datos
relacionales fueron tan sencillas de usar que finalmente reemplazaron a las
bases de datos jerárquicas y de red. Desde su escalada en el dominio de la
década de 1980, el modelo relacional ha conseguido el reinado entre todos
los modelos de datos. La década de 1980 también fue testigo de una gran
investigación en las bases de datos paralelas y distribuidas, así como del
trabajo inicial en las bases de datos orientadas a objetos.
Principios de la década de 1990. El lenguaje SQL se diseño
fundamentalmente para las aplicaciones de ayuda a la toma de decisiones,
que son intensivas en consultas, mientras que el objetivo principal de las
bases de datos en la década de 1980 fue las aplicaciones de
procesamiento de transacciones, que son intensivas en actualizaciones. La
ayuda a la toma de decisiones y las consultas reemergieron como una
importante área de aplicación para las bases de datos.
Finales de la década de 1990. El principal acontecimiento fue el crecimiento
del World Wide Web. Las bases de datos se implementaron mucho más
extensivamente que nunca antes. Los sistemas de bases de datos tienen
ahora soporte para tasas de transacciones muy altas, así como muy alta
fiabilidad y disponibilidad 24*7 (24 horas al día, 7 días a la semana). Los
sistemas de bases de datos también tuvieron interfaces Web a los datos.
[Silberschatz A., Korth H., Sudarshan S. (2002)].
9
1.2 BASE DE DATOS.
En 1975 se decía que una base de datos era una colección de datos
interrelacionados almacenados en conjunto sin redundancias perjudiciales o
innecesarias; cuya finalidad es servir a una aplicación o más, de la mejor manera
posible; los datos son almacenados de modo que resulten independientes de los
programas que los usan; se emplean métodos bien determinados para incluir
nuevos datos y para modificar o extraer los datos almacenados. Pero dicho
concepto se ha ido cambiando y configurándose a lo largo del tiempo, en la
actualidad se puede definir la base de datos como “Colección o deposito de datos
integrados, almacenados en soporte secundario (no volátil) y con redundancia
controlada. Los datos, que han de ser compartidos por diferentes usuarios y
aplicaciones, deben mantenerse independientes de ellos, y su definición
(estructura de la base de datos) única y almacenada junto con los datos, se ha de
apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y
restricciones existentes en el mundo real. Los procedimientos de actualización y
recuperación, comunes y bien determinados, facilitarán la seguridad del conjuntos
de datos” [Castaño M., Piattini M.,(1999)]
10
compartidos entre diversos usuarios, el sistema debe evitar posibles resultados
extraños. [Silberschatz A. (2002)]
Normalizar los datos: Es una metodología que permite minimizar entre otras
cosas la redundancia de datos, y agiliza y garantiza la actualización de
éstos.
Evitar redundancias de datos: Como política de las bases de datos, estos
se tratan de guardar en un único lugar y cuando existe la necesidad de
acceder a ellos, se hace por medio de relaciones entre los mismos.
Evitar inconsistencias de datos: Dado que las bases de datos utilizan
transacciones se puede garantizar prácticamente la inexistencia de
inconsistencias de datos.
Garantizar la integridad de los datos: Como se evita la redundancia de
datos y la inconsistencia y se manejan transacciones, la integridad está
garantizada. La información obtenida de la base de datos es correcta en
todo momento.
11
Garantizar la seguridad de los datos: Debido a que los accesos a la base
de datos tanto para usuarios como para aplicaciones están dados por
medio de permisos, si estos últimos están bien definidos nadie podrá
ingresar a ningún lugar que no le esté permitido ni acceder a un conjunto de
datos que no le esté permitido.
Compartir los datos: Dado que todos los datos se almacenan en un mismo
lugar lógico estos se pueden compartir sin problema entre distintos usuarios
y aplicaciones.
Facilidad de modificar los datos: Dado que los datos se guardan en un
único lugar es más fácil poder realizar modificaciones sobre ellos. [Rozic S.,
(2004)]
12
las tarjetas telefónicas de prepago y para almacenar información sobre
las redes de comunicaciones.
Finanzas: Para almacenar información sobre grandes empresas, ventas
y compras de documentos formales financieros, como bolsa y bonos.
Ventas: Para información de clientes, productos y compras.
Producción: Para la gestión de la cadena de producción y para el
seguimiento de la producción de elementos en las factorías, inventarios
de elementos en almacenes y pedidos de elementos.
Recursos Humanos: Para información sobre los empleados, salarios,
impuestos y beneficios, y para la generación de las nóminas.
[Silberschatz A. (2002)]
Para que el sistema sea útil debe recuperar los datos eficientemente. Esto
ha conducido al diseño de estructuras de datos complejas para la representación
de los datos en la base de datos. Debido a que muchos usuarios de sistemas de
bases de datos no están familiarizados con computadores, los desarrolladores
esconden la complejidad a los usuarios a través de varios niveles de abstracción
para simplificar la interacción de los usuarios con el sistema:
13
de datos, que deben decidir la información que se mantiene en la base de
datos, usan el nivel lógico de abstracción.
Nivel de Vistas: El nivel más alto de abstracción describe solo parte de la
base de datos completa. A pesar del uso de estructuras más simples en el
nivel lógico, queda algo de complejidad, debido a la variedad de
información almacenada en una gran base de datos. Algunos usuarios del
sistema de base de datos no necesitan toda esta información. En su lugar,
tales usuarios necesitan acceder solo a una parte de la base de datos. Para
que su interacción con el sistema se simplifique, se define la abstracción del
nivel de vistas. El sistema puede proporcionar muchas vistas para la misma
base de datos.
NIVEL DE VISTAS
NIVEL
LOGICO
NIVEL
FISICO
Figura 1.1. Los tres niveles de abstracción de datos.
14
carece de interés en este ámbito. Y en tercer lugar, en muchas aplicaciones
resulta de interés mantener todos los estados de las bases de datos y no sólo el
más reciente; más aún, hasta puede surgir la necesidad de predecir un estado
futuro de la base.
Es en este contexto donde surgen las bases de datos espacio–temporales
como nuevos modelos de bases de datos capaces de cubrir eficaz y
eficientemente las necesidades de almacenamiento y búsqueda de estas nuevas
aplicaciones. [Pascal A. (s.f.)]
15
Una relación es una asociación entre varias entidades. Por ejemplo, una
relación impositor asocia un cliente con cada cuenta que tiene. El conjunto de
todas las entidades del mismo tipo, y el conjunto de todas las relaciones del
mismo tipo, se denominan respectivamente conjunto de entidades y conjunto de
relaciones.
La estructura lógica general de una base de datos se puede expresar
gráficamente mediante el diagrama E-R, que consta de los siguientes
componentes:
Rectángulos, que representan conjunto de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones entre conjunto de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los
conjuntos de entidades con las relaciones.
ciudad-cliente saldo
Id-cliente
16
Además de las entidades y relaciones, el modelo E-R representa ciertas
restricciones que los contenidos de la base de datos deben cumplir. Una
restricción importante es la correspondencia de cardinalidades, que expresa el
número de entidades con las que otra entidad se puede asociar a través de un
conjunto de relaciones. Por ejemplo, si cada cuenta puede pertenecer sólo a un
cliente, el modelo puede expresar esa restricción.
El modelo E-R se utiliza habitualmente en el proceso de diseño de bases de
datos.
17
Id- cliente Nombre-cliente Calle-cliente Ciudad-cliente
19.283.746 González Arenal La Granja
01.928.374 Gómez Carretas Cerceda
67.789.901 López Mayor Peguerinos
18.273.609 Abril Preciados Valsaín
32.112.312 Santos Mayor Peguerinos
33.666.999 Rupérez Ramblas León
01.928.374 Gómez Carretas Cerceda
18
tales detalles de implementación de bajo nivel a los desarrolladores de bases de
datos y usuarios.
El modelo de datos relacional es el modelo de datos más ampliamente
usado, y una amplia mayoría de sistemas de bases de datos actuales se basan en
el modelo relacional.
El modelo relacional se encuentra a un nivel de abstracción inferior al
modelo de datos E-R. Los diseños de bases de datos a menudo se realizan en el
modelo E-R, y después se traducen al modelo relacional. [Silberschatz A. (2002)]
19
El nodo raíz, el más alto de la jerarquía (nodo A de la figura 1.4), se
corresponde con el nivel 0.
Los arcos representan las asociaciones jerárquicas entre dos entidades y
no tienen nombre, ya que no es necesario porque entre dos conjuntos de
datos sólo puede haber una interrelación.
Mientras que un nodo de nivel superior (padre) puede tener un número
ilimitado de nodos de nivel inferior (hijos), al nodo del nivel inferior sólo le
puede corresponder un único nodo de nivel superior.
Todo nodo, a excepción del nodo raíz, ha de tener obligatoriamente un
padre.
Se llaman hojas los nodos que no tienen descendientes (en la figura 1.4 las
hojas están marcadas con *)
Se llama altura al número de niveles de la estructura jerárquica.
Se denomina momento al número de nodos.
Sólo están permitidas las interrelaciones 1:1 o 1:N.
Cada nodo no terminal y sus descendientes forman un subárbol, de forma
que un árbol es una estructura recursiva.
Nivel 0 A
Nivel 1 B E* F
Nivel 2 C D* G
Nivel 3 H* I*
Altura 4 Momento 9
Recorrido, A, B, C, D, E, F, G, H, I.
20
El árbol, en este modelo, se recorre en preorden; es decir, raíz, subárbol
izquierdo y subárbol derecho. [Castaño, M. (1999)].
1.3.4.1 RELACIONES
Las bases de datos relacionales representan las relaciones mediante las
claves ajenas. No tienen estructuras de datos que formen parte de la base de
datos y que representen estos enlaces entre tablas. Las relaciones se utilizan para
hacer concatenaciones (join) de tablas. Por el contrario, las bases de datos
orientadas a objetos implementan sus relaciones incluyendo en cada objeto los
identificadores de los objetos con los que se relaciona.
Un identificador de objeto es un atributo interno que posee cada objeto. Ni
los programadores, ni los usuarios que realizan consultas de forma interactiva, ven
o manipulan estos identificadores directamente. Los identificadores de los objetos
los asigna el SGBD y es él el único que los utiliza.
El identificador puede ser un valor arbitrario o puede incluir la información
necesaria para localizar el objeto en el fichero donde se almacena la base de
datos. Por ejemplo, el identificador puede contener el número de la página del
fichero donde se encuentra almacenado el objeto, junto con el desplazamiento
desde el principio de la página.
Hay dos aspectos importantes a destacar sobre este método de representar
las relaciones entre datos:
21
Para que el mecanismo funcione, el identificador del objeto no debe
cambiar mientras éste forme parte de la base de datos.
Las únicas relaciones que se pueden utilizar para consultar la base de
datos son aquellas que se han predefinido almacenando en atributos los
identificadores de los objetos relacionados. Por lo tanto, una base de datos
orientada a objetos pura es navegacional, como los modelos
prerrelacionales (el modelo jerárquico y el modelo de red). De este modo se
limita la flexibilidad del programador/usuario a aquellas relaciones
predefinidas, pero los accesos que siguen estas relaciones presentan
mejores prestaciones que en las bases de datos relacionales porque es
más rápido seguir los identificadores de los objetos que hacer operaciones
de concatenación (join).
22
sustituye por dos relaciones de uno a muchos, como se haría en una base de
datos relacional. En segundo lugar, se puede diseñar una base de datos que
contiene relaciones de muchos a muchos en donde o bien se pierde información, o
bien se hace imposible determinar las relaciones con precisión. También en estos
casos la solución es incluir una entidad intermedia que represente la relación.
Ya que el modelo orientado a objetos soporta la herencia, una base de
datos orientada a objetos también puede utilizar la relación “es un” entre objetos.
Por ejemplo, en una base de datos para un departamento de recursos humanos
habrá una clase Empleado con diversos atributos: nombre, dirección, número de
la seguridad social, fecha de contrato y departamento en el que trabaja. Sin
embargo, para registrar el modo de pago de cada empleado hay un dilema. No a
todos los empleados se les paga del mismo modo: a algunos se les paga por
horas, mientras que otros tienen un salario mensual. La clase de los empleados
que trabajan por horas necesita unos atributos distintos que la clase de los otros
empleados. En una base de datos orientada a objetos se deben crear las dos
subclases de empleados. Aunque el SGBD nunca creará objetos de la clase
Empleado, su presencia en el diseñó clarifica el diseño lógico de la base de datos
y ayuda a los programadores de aplicaciones permitiéndoles escribir sólo una vez
los métodos que tienen en común las dos subclases (serán los métodos que se
sitúan en la clase Empleado).
En teoría, una base de datos orientada a objetos debe soportar dos tipos de
herencia: la relación “es un” y la relación “extiende”. La relación “es un”, que
también se conoce como generalización–especialización, crea una jerarquía
donde las subclases son tipos específicos de las superclases. Con la relación
“extiende”, sin embargo, una clase expande su superclase en lugar de estrecharla
en un tipo más específico. Por ejemplo, en la jerarquía de la clase Empleado, al
igual que son necesarias clases para los empleados que realizan cada trabajo
específico, hace falta guardar información adicional sobre los directores, que son
empleados pero que también tienen unas características específicas. La base de
datos incluirá una clase Director con un atributo para los empleados a los que
23
dirige. En este sentido un director no es un empleado más específico sino un
empleado con información adicional.
Una de las cosas que es difícil de manejar en las bases de datos
relacionales es la idea de las partes de un todo, como en una base de datos de
fabricación, en la que hace falta saber qué piezas y qué componentes se utilizan
para fabricar un determinado producto. Sin embargo, una base de datos orientada
a objetos puede aprovechar la relación denominada “todo–parte” en la que los
objetos de una clase se relacionan con objetos de otras clases que forman parte
de él. En el caso de la base de datos de fabricación, la clase Producto se
relacionará con las clases Pieza y Componente utilizando una relación “todo–
parte”. Este tipo de relación es una relación de muchos a muchos con un
significado especial. Un producto puede estar hecho de muchas piezas y muchos
componentes. Además, una misma pieza o un mismo componente se puede
utilizar para fabricar distintos productos. El identificar esta relación como “todo–
parte” permite que el diseño sea más fácil de entender.
24
relationship set<Obra> supervisa
inverse Obra::es_supervisada
en la clase Técnico y:
relationship Técnico es_supervisada
inverse Técnico::supervisa
en la clase Obra.
25
Además son consideradas como la solución integral y oportuna para
desarrollar las estrategias de negocios. Al mismo tiempo es una técnica para
consolidar y administrar datos de diversas fuentes con el propósito de responder
preguntas de negocios y tomar decisiones.
En realidad existen muchas de definiciones de Bodegas de Datos o
Datawarehouse, pero la más conocida propuesta fue en 1992, por Inmon
(considerado el padre de las Bases de Datos) donde dijo que “un Datawarehouse
es una colección de datos orientados a temas, integrados, no – volátiles y
variantes en el tiempo, organizados para soportar necesidades empresariales”. Sin
embargo, en 1993, Susan Osterfeldt publicó una nueva definición de
Datawarehouse: “Yo considero a DW como algo que provee dos beneficios
empresariales reales: Integración y Acceso de Datos. DW elimina una gran
cantidad de datos inútiles y no deseados, como también el procesamiento desde
el ambiente operacional clásico”.
26
de las consultas. El modelo multidimensional como su nombre lo sugiere, consiste
de un conjunto de dimensiones que son asociadas a un fenómeno medible de
interés para una organización, dicho fenómeno es denominado hecho; las
dimensiones han sido tratadas de forma textual (alfanumérica) y las medidas de
un hecho de forma numérica. [Moreno, F y Arango, F. (2007)].
27
Un proceso no trivial de identificación válida, novedosa, potencialmente útil
y entendible de patrones comprensibles que se encuentran ocultos en los datos.
Desde el punto de vista empresarial, lo definimos como: La integración de un
conjunto de áreas que tienen como propósito la identificación de un conocimiento
obtenido a partir de las bases de datos que brinden ayuda hacia la toma de
decisión.
La idea de minería de datos no es nueva. Ya desde los años sesenta los
estadísticos manejaban términos como data fishing, data mining o data archeology
con la idea de encontrar correlaciones sin una hipótesis previa en bases de datos
con ruido. A finales de los años ochenta sólo existían un par de empresas
dedicadas a esta tecnología; en 2002 existen más de 100 empresas en el mundo
que ofrecen alrededor de 300 soluciones. Las listas de discusión sobre este tema
las forman investigadores de más de ochenta países. Esta tecnología ha sido un
buen punto de encuentro entre personas pertenecientes al ámbito académico y al
de los negocios.
La minería de datos es una tecnología compuesta por etapas que integra
varias áreas y que no se debe confundir con un gran software. Durante el
desarrollo de un proyecto se usan diferentes aplicaciones software en cada etapa
que pueden ser estadísticas, de visualización de datos o de inteligencia artificial,
principalmente. Actualmente existen aplicaciones o herramientas comerciales de
minería de datos muy poderosas que contienen un sin fin de utilerías que facilitan
el desarrollo de un proyecto. Sin embargo, casi siempre acaban
complementándose con otra herramienta.
Las técnicas de la minería de datos son el resultado de un largo proceso de
investigación y desarrollo de productos. Esta evolución comenzó cuando los datos
de negocios fueron almacenados por primera vez en computadoras, y continuó
con mejoras en el acceso a los datos, y más recientemente con tecnologías
generadas para permitir a los usuarios navegar a través de los datos en tiempo
real. Minería de datos toma este proceso de evolución más allá del acceso y
navegación de los datos, hacia la entrega de información prospectiva y proactiva.
28
En la evolución desde los datos de negocios a información de negocios,
cada nuevo paso se basa en el previo. Por ejemplo, el acceso a datos dinámicos
es crítico para las aplicaciones de navegación de datos, y la habilidad para
almacenar grandes bases de datos es crítica para la minería de datos.
Los componentes esenciales de la tecnología de Minería de datos han
estado bajo desarrollo por décadas, en áreas de investigación como estadísticas,
inteligencia artificial y aprendizaje de máquinas. Hoy, la madurez de estas
técnicas, junto con los motores de bases de datos relacionales, hicieron que estas
tecnologías fueran prácticas para los entornos de datawarehouse actuales.
Varias herramientas de la minería de datos actualmente operan fuera del
datawarehouse, requiriendo pasos extras para extraer, importar y analizar los
datos. Además, cuando nuevos conceptos requieren implementación operacional,
la integración con el datawarehouse simplifica la aplicación de los resultados
desde la minería de datos. El Datawarehouse analítico resultante puede ser
aplicado para mejorar procesos de negocios en toda la organización, en áreas
tales como manejo de campañas promocionales, detección de fraudes,
lanzamiento de nuevos productos, etc.
El punto de inicio ideal es un datawarehouse que contenga una
combinación de datos de seguimiento interno de todos los clientes junto con datos
externos de mercado acerca de la actividad de los competidores. Este
datawarehouse puede ser implementado en una variedad de sistemas de bases
relacionales y debe ser optimizado para un acceso a los datos flexible y rápido.
29
Las herramientas de minería de datos ayudan a extraer el mineral de la
información enterrado en archivos corporativos o en registros públicos,
archivados.
El minero es, muchas veces el usuario final con poca o ninguna habilidad
de programación, facultado por poderosas herramientas indagatorias para
efectuar preguntas adecuadas y obtener rápidamente respuestas.
Hurgar y sacudir a menudo implica el descubrimiento de resultados valiosos
e inesperados.
Las herramientas de la minería de datos se combinan fácilmente y pueden
analizarse y procesarse rápidamente. [Vallejos, S. (2006)].
30
Los modelos son confiables: El modelo es probado y comprobado usando
técnicas estadísticas antes de ser usado, luego las predicciones que se obtienen
por el modelo son válidas y confiables.
Los modelos se construyen de manera rápida: La minería de datos permite
construir y generar modelos en sólo uno minutos u horas. El modelado se torna
mucho más fácil puesto que muchos algoritmos son probados y sólo el mejor
modelo es entregado al usuario. [Suherman, A. (s.f.)].
31
o la gente pueden utilizarse la información obtenida a través de minería de datos
para aprovechar de las personas vulnerables o discriminadas en contra de un
determinado grupo de personas. Además, la técnica de minería de datos no es un
100 por ciento exacta, por lo tanto, ocurren errores que pueden tener graves
consecuencias. [Suherman, A. (s.f.)].
32
CAPÍTULO II:
BASE DE DATOS ESPACIO-TEMPORALES
En este capítulo se explican lo que son las bases de datos temporales y
espaciales, así como los tipos de datos de estas últimas y su estructura, además
de conocer los lenguajes de consulta y su administrador. También se hace una
comparación entre los lenguajes de consulta espacio-temporales SQLST y Guting
mediante un ejemplo del uso de los mismos, esto, una vez que se ha comprendido
el análisis de este tipo de bases de datos para así llegar a un resultado de dicha
comparación.
34
modificaciones se realizan generando nuevas versiones de los mismos estados.
[Pascal A. (s.f.)]
35
2.2.1 TIPOS DE DATOS
Uno de los principales problemas de los tipos de datos espaciales es que es
difícil definir un conjunto de operadores (relaciones) lo suficientemente general
para cubrir todas las aplicaciones. Es decir, los operadores espaciales son
altamente dependientes de la aplicación. Sin embargo, es posible definir algunos
operadores espaciales (por ejemplo la intersección) que son más comunes que
otros.
Un objeto o en una base de datos espacial se define, normalmente,
mediante varios atributos no-espaciales y un atributo espacial de algún tipo.
Para modelar los atributos espaciales de los objetos se utilizan tres
abstracciones fundamentales y que son punto, línea y región o polígono (ver figura
2.1). Un punto representa (el aspecto geométrico) un objeto para el cual sólo
interesa su posición en el espacio. Algunos objetos puntos son hospitales,
edificios, estaciones de trenes, etc. Una línea es una abstracción que se utiliza
para modelar objetos tales como ríos, líneas de trenes, carreteras, líneas
telefónicas, etc. Finalmente, una región permite modelar objetos con cobertura
espacial (spatial extent). Por ejemplo, países, predios agrícolas, etc.
36
Las operaciones o relaciones métricas permiten obtener atributos
numéricos de un objeto espacial o valores entre ellos que los relacionan. Por
ejemplo, el área de una región, la longitud de una línea o la distancia entre dos
puntos o entre una línea y un punto.
Las relaciones de orientación pueden ser básicamente de dos tipos:
absoluta o relativa a un objeto. Las relaciones del primer tipo se definen en el
contexto de un sistema de referencia global. Algunas de estas relaciones son:
norte, sur, este, oeste, sur-este, sur-oeste, etc. Las relaciones en el segundo caso
(relativa a un objeto), se definen en base a un objeto dado. Por ejemplo izquierda,
derecha, arriba, abajo, etc. [Gutiérrez, G. (2007)].
37
2.2.3 DEFINICION DE OBJETOS ESPACIALES
Los motores de bases de datos espaciales (SDBMS), como Oracle Spatial y
PostGIS, adoptan el estándar para la definición de objetos espaciales del
OpenGIS: OpenGIS: Simple Features Specification for SQL.
El modelo conceptual de los objetos espaciales está formado por tres tablas:
GEOMETRY_COLUMN, FEATURE_TABLE, SPATIAL_REF_SYS. Como se
muestra en la tabla 2.1
GEOMETRY_COLUMNS
SPATIAL_REF_SYS F_TABLE_CATALOG
SRID F_TABLE_SCHEMA
FEATURE_TABLE
AUTH_NAME F_TABLE_NAME
<ATRIBUTOS>
SRTEXT F_GEOMETRY_COLUMN
GID (Geometry column)
PROJ4TEXT COORD_DIMENSION
<ATRIBUTOS>
SRID
TYPE
38
2.2.3.1 DEFINICION DE FUNCIONES ESPACIALES
39
Algunos de estos software permiten recuperar datos espaciales desde un
repositorio de datos espaciales para convertirlo en un Shape y vise versa.
[Gutiérrez, M (s.f.)]
40
4.-Contexto: es la interpretación de una representación gráfica con base al
ambiente que se tenga.
5.-Contenido: es la combinación lógica de las consultas que se elaboren y
pueden ser mostradas en un dibujo sencillo, como consecuencia se tendrá un
mecanismo de control y quien asume la función de control es el usuario porque
examina lo que se demuestra la combinación mencionada.
Otros aspectos son los sistemas de bases de datos espaciales y no
espaciales denominado SAND (Spatial and Nonspatial Database) la finalidad de
éstos es separar el almacenamiento de esos tipos de datos. Las características de
éste son las siguientes:
Estrategias: éstas extienden el enfoque no espacial para efectuar
operaciones espaciales.
Evaluaciones: se refiere al orden de las operaciones espaciales,
escogiendo primero entre el desempeño de los datos espacial y no
espacial, es decir, al utilizar índices en ambos tipos de datos y segundo al
ejecutar las operaciones espaciales mientras se accesa a los datos.
41
Nonspatial attributes Spatial data structure
region2
region3 non_spatial data
region4
Nonspatial attributes Spatial data structure
region1 non_spatial data region1
region2
region3 non_spatial data
region4
42
GEOQL utiliza operadores espaciales y trabaja con un sistema de
administración de base de datos basado en SQL, la relación espacial es
únicamente a un atributo espacial, considera datos espaciales y no espaciales.
Las consultas se efectúan en cuatro etapas:
1.-Transformación lógica para eliminar limitantes redundantes y construir un
árbol de consultas de modo que los índices espaciales sean utilizados.
2.-Descomponer las particiones del árbol para que las subconsultas
espaciales y no espaciales sean elaboradas.
3.-Ejecución de alguna de las subconsultas anteriores.
4.-Con base a una subconsulta espacial, ésta es llevada a cabo por un
procesador espacial auxiliar y que forma parte de el DBMS extendido y almacena
los atributos espaciales.
Los datos que se ocupan para las consultas son espaciales y no espaciales,
la manera para usarlos es la siguiente:
La estructura de datos espaciales es un filtro que produce un conjunto de
objetos y con la estructura de datos no espaciales es posible refinar la descripción
de los objetos y posteriormente producir el resultado.
43
localización y representa su dinámica (la movilidad de un objeto). La localización
temporal está representada en la lista de estados. Algunos objetos espacio-
temporales con un valor llamado ‘que no cambia’ son las capas geológicas,
porque no cambia en tiempo, sin embargo pudiera ocurrir para cualquier validez
temporal permanente. Es decir, por las variaciones que éstas en un momento
dado sufren. Este modelo permite también que los atributos que describan a un
objeto sean multivaluados.
Las consultas espacio-temporales se pueden efectuar tomando
adicionalmente la representación temporal basada en intervalos. En los intervalos
se pueden representar cambios en los atributos que describen un objeto. Un
ejemplo de consulta que se puede realizar consiste en identificar el estado de una
carretera inundada y el tiempo que un vehículo llegará a esa zona inundada. Los
conductores de los vehículos pueden tomar decisiones en cuanto detenerse o dar
marcha atrás y buscar alguna opción.
44
geoespaciales– con soporte de los datos 3D que se encuentran en aplicaciones
como la planificación urbana, la seguridad interna, y sistemas para producción de
mapas basados, así como soporte de servicios web geoespaciales para una
plataforma segura y sólida de la arquitectura orientada a servicios. El soporte
espacial nativo y abierto de Oracle elimina el costo de sistemas separados, de
propiedad, y es respaldado por todos los proveedores geoespaciales líderes. Solo
Oracle ofrece seguridad, desempeño, escalabilidad y capacidad de administración
líderes para los activos espaciales críticos almacenados en los tipos nativos de
Oracle. Oracle brinda la plataforma de base de datos espacial más avanzada para
implementaciones de tipo empresarial. Este informe destaca las características de
Oracle Spatial, e incluye las nuevas características de 11g.
Oracle Spatial 11g, una opción de Oracle Database Enterprise Edition,
extiende Locator, y ofrece una base sólida para aplicaciones geoespaciales
complejas que requieren más análisis y procesamiento espacial en Oracle
Database. Oracle Spatial 11g es una plataforma completa para la administración
de datos geoespaciales que tiene como fin cumplir con los requerimientos de
cualquier sistema de información espacial o geoespacial. Soporta los principales
tipos y modelos de datos espaciales, y supera los desafiantes requerimientos
críticos para los negocios del sector público, defensa, logística, exploración de
energía y ámbitos geográficos de negocio, y áreas como las ciencias biológicas.
Las características de Oracle Spatial incluyen:
• Avanzado sistema para referencias lineales
• Más de 400 funciones espaciales como centroides y agregados (por
ejemplo uniones y agregados definidos por usuarios)
• Tipos de datos GeoRaster que administran nativamente imágenes raster
georeferenciadas (por ejemplo: imágenes satelitales, datos en grid) de
Oracle Database 11g
• Soporte de más formatos de archivo para la carga y exportación,
más metadatos y tipos de datos (nuevo en 11g)
• Mejor facilidad de uso, confiabilidad y capacidad de administración
(nuevo en 11g)
45
• Un modelo de datos para almacenar y analizar la estructura de red
(gráfico)
• Carga a pedido para redes espaciales muy grandes (nuevo en 11g)
• Características avanzadas de análisis y modelos, como el manejo
de base de datos por parte de los usuarios o atributos específicos
de aplicaciones, soporte aritmético de procesos, planificación de
duración (nuevo en 11g)
• Un modelo o esquema de datos para almacenar y actualizar
persistentemente la topología
• Funciones analíticas espaciales
• Soporte de tipos de datos de 3 dimensiones para modelos de ciudades y
terrenos, y mundo virtual, soporte de producción de mapas.
• Soporte de servicios web espaciales (WFS 1.0, WFS-T 1.0, CSW 2.0,
OpenLS 1.1, seguridad de servicios web) (nuevo en 11g)
• API Java espacial.
46
• Consultas espaciales paralelas
•Replicación (algunas características disponibles únicamente con Enterprise
Edition)
• Seguridad espacial de múltiples niveles. [Ihm, J. (2007)].
3.- Movimiento restringido a redes: al tener una red predefinida, los objetos que
se mueven en ella tienden a seguir los diferentes caminos que la misma presenta.
[Giraudi D, Peñalver G. y Retamal G. (s.f)]
47
representadas en el tiempo y el espacio, es decir se trata de la explotación de
Bases de Datos Espacio–Temporales.
Las Bases de Datos Espacio-Temporales están compuestas de objetos
espaciales que cambian su posición y/o forma a lo largo del tiempo. El objetivo es
modelar y representar la naturaleza dinámica de las aplicaciones en el mundo real.
Algunos ejemplos de estas aplicaciones se pueden encontrar en el ámbito del
transporte, medioambiental y en aplicaciones multimedia. [Gutiérrez, M (s.f.)]
48
de datos temporales, para permitir de manera eficiente consultas que involucran
ambos aspectos. Una aplicación común por este modelo es la que realiza el
seguimiento de objetos en movimientos que reporten su ubicación mediante
dispositivos GPS. En otras aplicaciones, en lugar de cambiar de ubicación los
objetos pueden cambiar de forma e incluso de identidad.
Los sistemas de Bases de Datos Espacio–Temporales mantienen datos
sobre el pasado y el presente y pueden, en algunos casos, realizar predicciones
sobre el futuro. Las consultas típicas son de dos clases: time slice queries y time
interval (o windows queries). Las primeras consultas se realizan sobre un
momento dado, como por ejemplo “buscar todos los objetos que estén en un área
en un instante determinado”, mientras que las segundas, consultan un intervalo de
tiempo, “buscar todos los objetos que crucen un área entre el momento T1 y el
momento T2” algunas consultas sólo tienen sentido sobre el pasado, otras sólo
sobre el presente, otras sobre el futuro y otras sobre cualquiera de los tres.
Los métodos de acceso en bases de datos espacio-temporales se pueden
clasificar en tres grupos, de acuerdo al tipo de consulta hacia el cual están
orientados:
Recuperación de información histórica: estos métodos permiten responder a
las consultas time slice query y interval query sobre el pasado.
Recuperación de trayectoria: en este caso se requiere mantener la
trayectoria que siguen objetos en movimiento.
Predicción de localización: estos métodos permiten calcular la posición
futura de los objetos, en base a su posición actual y su patrón de movimiento.
Otra clasificación de los métodos de acceso es según la estrategia de
implementación que utilizan:
Métodos que tratan el tiempo como otra dimensión.
Métodos que incorporan información sobre el tiempo en el índice
Métodos que utilizan superposición (overlapping) de la estructura, para
representar la secuencia de estados en función del tiempo. [Pascal A. (s.f.)]
49
2.3.1 ANALISIS ESPACIO–TEMPORAL
Las consultas espacio–temporales utilizan las propiedades temporales y
espaciales de un objeto así como relaciones temporales y espaciales a partir de
las primitivas (temporales y geométricas) de los objetos. Podemos clasificar el
análisis espacio–temporal según el nivel de detalle de los datos geográficos
(detallados vs. agregados), el nivel de complejidad (uní-temático vs multi-temático)
y el alcance temporal de los datos (uní- época vs. multi-época).
Algunos ejemplos de estos análisis son:
Análisis de los distintos tipos de accidentes en función de su posición en la
red de carreteras, el estado de la calzada, el tipo de pavimentación, etc.
Análisis de las estadísticas de los estudiantes según su origen, ultimo titulo,
fecha de inscripción, etc.
Análisis de investigación y rescate de náufragos según la posición, las
características de las embarcaciones, las condiciones climáticas, etc.
Análisis del resultado de los atletas de velocidad en función su posición,
trayectoria, condición de tiempo, técnica, velocidad, etc. [Cely, W y Bedard,
Y. (s.f.)]
50
2.3.2.2 EL LENGUAJE DE GUTING
Se ha propuesto un lenguaje de consulta para el manejo de objetos móviles
(se soportan cambios continuos de las geometrías, ya sea en forma o posición).
Además de tipos de datos móviles como MBOOL, MINTEGER,MPOINT,
MLINE y MREGION, que combinan los tipos de datos primitivos (BOOLEAN,
INTEGER) o espaciales (POINT, LINE y REGION) con información temporal. El
lenguaje es de tipo SQL, aunque presenta un carácter procedural ya que posee
construcciones como la asignación de variables.
51
Legibilidad (readability): alude a qué tan fácil es comprender el significado
de una consulta escrita en el lenguaje. Se debe considerar si el lenguaje se acerca
al lenguaje natural, si la consulta fue escrita en un lenguaje no diseñado para un
propósito determinado (por ejemplo, programar operaciones matriciales en SQL).
Además, hay aspectos que no dependen del lenguaje sino del programador: su
grado de conocimiento del lenguaje y la posibilidad de escribir mal en un lenguaje.
Cierre (closure): se cumple cuando todas las operaciones retornan un
elemento propio del modelo de datos que soporta al lenguaje. Por ejemplo, el
álgebra relacional es cerrada porque todas sus operaciones retornan y trabajan
con relaciones. Este aspecto facilita la escritura de expresiones anidadas y evita
funciones de conversión (casting) y comportamientos inesperados.
Seguridad (safety): implica que toda consulta retorna una cantidad finita de
resultados. Este criterio se relaciona con la confiabilidad (reliability): estrictamente
una consulta debe hacer sólo lo que se le pide y no generar comportamientos
inesperados ni ambigüedades. Los resultados han de ser correctos de acuerdo
con la información disponible y las condiciones impuestas por el programador.
Simplicidad (simplicity): se refiere a que las construcciones y la sintaxis del
lenguaje deben ser fáciles de entender y no haber ambigüedades. Este criterio se
relaciona con la uniformidad (uniformity): las construcciones similares del lenguaje
exigen escribirse en forma similar. La simplicidad también se afecta por el número
de construcciones esenciales que tiene un lenguaje y por el número de las que
posee la misma función, lo que podría confundir a pesar de su utilidad. Por
ejemplo, la condición de una reunión (join) en SQL se puede escribir usando las
cláusulas INNER JOIN o WHERE.
Portabilidad (portability): se refiere a qué tan independiente es el lenguaje
de un producto (Oracle, SQL Server, DB2), es decir, el lenguaje se debe poder
implantar en cualquier sistema de gestión de bases de datos (SGBD) y carecer de
aspectos propietarios.
52
2.3.2.4 EJEMPLOS
A continuación se exhibe un caso ejemplo con cuatro consultas en ambos
lenguajes. Considérese un escenario de incendios forestales. Se maneja
información sobre bosques, incendios y bomberos. Sean las relaciones bosque,
incendio y bombero. Una muestra de datos se despliega en las Tablas 2.3, 2.4 y
2.5 para SQLST y en las tablas 2.6, y 2.7 para el lenguaje de Guting.
En SQLST:
-CREATE TABLE bosque (nombre CHAR (30), territorio REGION)
BOSQUE
NOMBRE TERRITORIO
Verde
Santa Elena
Tabla 2.3 Muestra de datos de la relación bosque para SQLST y para el lenguaje de Guting
-CREATE TABLE incendio (nombre CHAR (30), extensión REGIÓN, día DAY)
En la Tabla 2.4 se muestra el valor del área de cada incendio (en km2). Este
valor, aunque no es un atributo de la relación bosque, se puede obtener por medio
de la función AREA de SQLST.
53
INCENDIO
NOMBRE EXTENSION DIA
GRAN L
(Área: 315) 5/7/06
GRAN L
(Área: 503) 6/7/06
GRAN L 7/7/06
(Área: 503)
GRAN L 7/7/06
(Área: 114)
AZUL 24/3/06
(Área: 710)
AZUL 25/3/06
(Área: 480)
BOMBERO
NOMBRE UBICACIÓN DIA
T. Montoya A (31,52) 4/7/06
T. Montoya B (40,47) 6/7/06
T. Montoya C (34, 24) 7/7/06
J. Vélez D (21,75) 6/8/07
J. Vélez E (30, 66) 7/8/07
J. Vélez F (34, 41) 9/8/07
Tabla 2.5. Muestra de datos de la relación bombero para SQLST
54
En el lenguaje de Guting:
-Bosque (nombre: STRING, territorio: REGION)
La muestra de datos de la relación bosque es la misma que la de la Tabla
2.3
-Incendio (nombre: STRING, extensión: MREGION)
-Bombero (nombre: STRING, ubicación: MPOINT)
INCENDIO
NOMBRE EXTENSION
{(5/7/06, ), (6/7/06, ),
GRAN L
(7/7/06, ), (7/7/06, )}
BOMBERO
NOMBRE UBICACIÓN
T. Montoya {( 4/7/06, A ), (6/7/06 , B ), (7/7/06 , C )}
J. Vélez {( 6/8/07, D ), (7/8/07, E ), (9/8/07, F )}
55
2.3.2.4.1 CONSULTAS
A partir de las tablas de la sección anterior se plantean las siguientes
consultas; se resuelven primero en SQLST y luego en el lenguaje de Guting.
Consulta 1: ¿Cuándo y dónde alcanzó el incendio “Gran L” su máxima
extensión?
Consulta 2: ¿Cuándo y dónde se expandieron los incendios más de 500
km2?
Consulta 3: ¿Cuánto tiempo estuvo el bombero “T. Montoya” dentro del
incendio “Gran L” y cuánta distancia recorrió dentro del mismo?
Consulta 4: Determinar el momento y el lugar donde se inició el incendio
“Gran L”.
Consulta 1.
SQL ST
SELECT F1.día, F2.extensión, AREA(F1.extensión)
FROM incendio AS F1 F2
WHERE F1.nombre =”Gran L” AND F2.nombre = ”Gran L” AND F1.día = F2.día
GROUP BY F1.día
HAVING AREA (F1.extensión) = (SELECT MAX(AREA(extensión))
FROM incendio
WHERE nombre =”Gran L”)
56
diferencia de SQL, que utiliza comillas simples). El resultado de la consulta se
muestra en la Tabla 2.8.
6/7/06 503
7/7/06 503
Guting:
i) LET GranL = ELEMENT(SELECT extensión
FROM incendio
WHERE nombre = "Gran L");
ii) LET max_area = INITIAL(ATMAX(AREA(GranL)));
iii) ATINSTANT(GranL, INST(max_area)); VAL(max_area)
{(5/7/06, ), (6/7/06, ),
(7/7/06, ), (7/7/06, )}
57
resultado se asigna a la variable max_area. La consulta 1 presentada en SQLST,
en contraste, retorna todos los casos (empates) en los que el área fue la máxima
(véase la Tabla 2.8).
En la tercera parte se retornan los resultados:
-ATINSTANT(GranL, INST(max_area)): retorna el día en que el área del incendio
fue máxima. Se retorna el 6/7/06 (aunque el 7/7/06 también se alcanzó el área
máxima).
-VAL(max_area): retorna el valor (área) de max_area (503 km2).
El resultado de la consulta se muestra en la Tabla 2.9.
ATINSTANT VAL
6/7/06 503
Consulta 2.
SQL ST
SELECT F1.día, F2.extensión
FROM incendio AS F1 F2
WHERE F1.día = F2.día AND F1.nombre = F2.nombre
GROUP BY F1.día, F2.extensión, F1.nombre
HAVING AREA(F1.extensión) > 500
De nuevo se efectúa un self-join de la relación incendio. La cláusula
WHERE elimina las tuplas que no cumplen la condición F1.día =F2.día y
F1.nombre=F2.nombre y la cláusula HAVING selecciona las tuplas cuya área de
F1.extensión es mayor que 500 km2. El resultado de la consulta se muestra en la
Tabla 2.10.
58
F1.día F2.extension
6/7/06
(Área: 503)
7/7/06
(Área: 503)
24/3/07
(Área: 710)
Guting:
i) LET reg_grande = SELECT a_grande AS extensión WHEN[FUN(r:region)
AREA(r) > 500]
FROM incendio;
ii) SELECT *
FROM reg_grande
WHERE NOT (ISEMPTY(DEFTIME(a_grande)));
59
reg, grande
a_grande
{(6/7/06, ), (7/7/06, )}
{(24/3/07 , )}
Consulta 3.
SQL ST
SELECT DURATION (bombero. día),
MOVING_DISTANCE (bombero.ubicación,bombero.día)
FROM incendio, bombero
WHERE incendio.día = bombero.día AND
incendio.nombre = ”Gran L” AND
bombero.nombre = ”T. Montoya”
GROUP BY incendio.día
HAVING INSIDE (bombero.ubicación, incendio.extensión)
A partir del producto cartesiano entre las relaciones incendio y bombero, la
cláusula WHERE selecciona las tuplas en las que el nombre del bombero es “T.
Montoya”, el nombre del incendio es “Gran L” y las fechas del incendio y del
bombero coinciden. Hasta aquí se obtiene el resultado de la Tabla 2.12.
60
INCENDIO BOMBERO
NOMBRE EXTENSION DIA NOMBRE UBICACIÓN DIA
Figura 2.5 Ubicación del bombero “T. Montoya” y del incendio “Gran L”: a) punto A y región
de 315 km2 el 5/7/06, b) punto B y región de 503 km2 el 6/7/06, c) punto C y región de 503
km2 el 7/7/06, y d) punto D y región de 114 km2 el 7/7/06
61
La cláusula SELECT retorna dos valores:
-DURATION: a partir de los datos que recibe como argumento, días en el ejemplo,
retorna el tiempo total transcurrido entre ellos.
DURATION MOVING_DISTANCE
3 34.1
Guting:
SELECT tiempo AS
DURATION(DEFTIME(INTERSECTION(ubicación, GranL))),
distancia AS LENGTH (TRAJECTORY
(INTERSECTION(ubicación, GranL)))
FROM bombero
WHERE nombre = "T. Montoya";
62
que conforman el MPOINT resultante. Finalmente, se calcula el tiempo que estuvo
el bombero dentro del incendio con la función DURATION, que calcula el tiempo
transcurrido a partir del resultado de DEFTIME.
Consulta 4.
SQLST
SELECT día, extensión
FROM incendio
WHERE nombre = ”Gran L” AND día = (SELECT MIN(día)
FROM incendio
WHERE nombre = “Gran L”)
Nótese que si se encuentra más de una tupla con la fecha más antigua para
el incendio “Gran L”, se retornan todas estas. El resultado de la consulta se
muestra en la Tabla 2.14.
DIA EXTENSION
5/7/06
Tabla 2.14. Resultado de la consulta 4 en SQLST
63
Guting:
Para responder a esta consulta se procede así:
-INST(INITIAL(GranL)): retorna la fecha más antigua de la MREGION GranL.
-VAL(INITIAL(GranL)): retorna el valor (es decir la región) de la MREGION GranL
que está asociado con la fecha más antigua.
El resultado de la consulta es igual al de Tabla 2.14.
64
sólo retorna relaciones. ELEMENT, que tienden a
Puntaje: 4.7 violar el cierre.
Puntaje: 4.5
No genera resultados No genera resultados
Seguridad infinitos. infinitos.
Puntaje: 4.9 Puntaje: 4.9
Similar a la del SQL Su aspecto procedural le
Simplicidad estándar. hace menos simple que
Puntaje: 4.6 SQLST. Puntaje: 4
Carece de aspectos Carece de aspectos
Portabilidad propietarios. propietarios.
Puntaje: 4.8 Puntaje: 4.8
65
CAPITULO III
HERRAMIENTAS DE SOFTWARE
PARA MANIPULAR BDET
En este capítulo se conocen las diversas tecnologías y herramientas para la
manipulación de de base de datos espacio-temporales.
CARACTERISTICA DESCRIPCION
67
proporciona una “apariencia visual” única. El API de Java Swing provee distintas
clases que permiten desarrollar programas cuya interfaz de usuario contenga
componentes que sean consistentes e intuitivos, de manera que los usuarios
puedan familiarizarse con un programa incluso antes de utilizarlo. Esto permite
reducir el tiempo que se requiere para aprender a usar un programa y permite
incrementar la habilidad del usuario para utilizarlo en una manera productiva. Las
GUIs se crean a partir de componentes denominados controles o widgets
(accesorios de ventana). Un componente de la GUI es un objeto con el cual
interactúa el usuario mediante el ratón, teclado u otra forma de entrada, ejemplo:
reconocimiento de voz.
Las clases que crean los componentes de la GUI se indican en la tabla 3.2
y se describen algunos de los componentes que integran la GUI de Swing del
paquete javax.swing. La mayoría de los componentes de Swing están escritos
(también denominados componentes puros de Java), se manipulan y muestran
completamente en Java.
COMPONENTE DESCRIPCION
Espacio en donde pueden mostrarse iconos o
JLabel
texto no editable.
Superficie en la que el usuario introduce datos
JTextField desde el teclado. En ésta área se puede
mostrar información.
Espacio que, por medio del ratón puede recibir
JButton un clic sobre él, lo que desencadena un
evento.
Componente de la GUI que puede o no estar
JCheckBox
seleccionado.
Lista desplegable de elementos, de los cuales
el usuario puede seleccionar cualquiera
JComboBox
haciendo clic sobre él o posiblemente
escribiendo dentro del cuadro.
Espacio que contiene una lista de elementos,
JList de los cuales el usuario puede seleccionar
cualquiera haciendo clic sobre él.
Contenedor en el cual pueden colocarse y
JPanel
organizarse componentes.
Tabla 3.2 Descripción de algunos componentes de Swing.
68
Basa sus componentes en la arquitectura MVC (Modelo-Vista-Controlador ),
esta arquitectura permite una clara separación entre los componentes de un
programa y ofrece un enfoque de desarrollo muy apegado a los entornos
gráficos de usuario diseñados con el paradigma orientado a objetos;
Ofrece un conjunto de componentes escritos en Java con una mayor
funcionalidad y lógicamente independientes de la plataforma;
Cuenta con una amplia variedad de componentes (botones, cajas de texto,
tablas, diálogos);
Proporciona un aspecto modificable para personalizar el aspecto de los
componentes (ejemplos: botones, cajas de texto, listas, etiquetas) de las
interfaces de usuario.
69
XML es un lenguaje de marcado para documentos. Al igual que otros
lenguajes como SGML y HTML. XML se basa en el uso de marcas o
etiquetas para diferenciar los diversos elementos que pueden existir en un
documento. Al contrario de HTML, que se utiliza para establecer cómo se
han de presentar o de visualizar dichos elementos, con XML lo que se
define es la estructura del documento.
XML no utiliza etiquetas predefinidas. El nombre de las etiquetas utilizadas
en la creación de un documento XML se define de manera personalizada.
Ésta es otra diferencia con HTML, el cual es un lenguaje con etiquetas ya
definidas (de ahí la X de eXtensible de XML) no es un lenguaje con marcas
ya establecidas, sino que deja absoluta libertad al programador para que
defina las que crea convenientes.
XML es un lenguaje muy estricto. Otra de las principales características de
XML es el ser estricto; un documento XML ha de cumplir las normas de
sintaxis y estructuración para que sea reconocido como tal; para ello, el
documento ha de estar, al menos, bien formado.
70
aplicación de formatos (XSL, XSLT) al contenido de documentos tipo XML.
Las aplicaciones de documento posibilitan la publicación en prácticamente
cualquier tipo de formato conocido.
XML es, por lo tanto, un lenguaje diseñado para trabajar con datos y
estructuras; considerando lo visto anteriormente se puede definir, a los
documentos XML como “objetos de datos cuya estructura está bien formada”. Las
tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las
demandas más frecuentes por parte de los usuarios. En la tabla 3.3 se muestran
las tecnologías relacionadas con XML.
TECNOLOGIA DESCRIPCION
(Extensible Stylesheet Language Transformation)
XSLT establece como efectuar las transformaciones necesarias
para aplicar los estilos a documentos XML para su
aplicación.
XSL- FO (XSL – Formatting Object) se usa para definir estilos
utilizando los objetos de formato.
(XML Path) es utilizado para establecer el camino que se
XPath ha de seguir para llegar a un determinado nodo en la
jerarquía del árbol de nodos de un documento XML.
(XML Linking Language) es un lenguaje que permite
XLink insertar elementos en documentos
XML para crear enlaces entre recursos XML.
(XML Pointer Language) es un lenguaje que permite el
XPointer acceso a la estructura interna de
un documento XML.
(XML Query) es un lenguaje que facilita la extracción de
XQL datos desde documentos XML.
También ofrece la posibilidad de crear consultas flexibles
71
desde documentos XML.
(XML Schema Definition) es un mecanismo de
descripción de documentos que sirve para
declarar los diversos objetos que pueden ser utilizados en
un documento XML y permite
XML Schema Definition definir los elementos con su contenido y atributos para
establecer cómo se han de usar
para crear la estructura del documento XML que utilice
determinado esquema; así se podrá efectuar su
validación.
(Document Type Definition) es un mecanismo a través del
cual se declaran las entidades, notaciones y elementos
DTD permitidos en aquellos documentos XML que los utilicen.
Para los elementos, se definen las etiquetas
estableciendo al mismo tiempo cuáles serán sus
contenidos y la lista de atributos que deben utilizar.
Tabla 3.3 Tecnologías XML
72
Documento
XML
Cualquier
Documento otro
de hoja de documento
estilos XSL estructurado
73
Analizadores de buena formación: comprueban que la estructura del
documento sea correcta;
Analizadores con validación: en caso de que el documento utilice algún
mecanismo de definición de documento, DTD o XML Schema, comprueban
que se utilizan los elementos, sintaxis y estructuras allí definidos;
74
Además PostgreSQL puede ser ampliado por el usuario de muchas formas;
mediante la adición de nuevas definiciones de:
Tipos de datos;
Funciones;
Operadores;
Funciones de agregado;
Métodos indexados;
Lenguajes procedurales.
75
Las características mencionadas contribuyeron a la elección de PostgreSQL
como gestor de base de datos para la generación de la descripción del esquema
de la base de datos (script SQL), así como también para el manejo y
administración de la información que será almacenada en ella.
3.1.5.1 POSTGIS
PostGIS es una extensión del sistema de bases de datos objeto-relacional
PostgreSQL, que permite el uso de objetos geográficos. Fue creado por
Refractions Research Inc, como un proyecto de investigación de tecnología de
bases de datos espaciales.
PostGIS es un módulo de apoyo que permite el manejo de información
georeferenciada a través de PostgreSQL. Al integrarse estas dos partes es posible
el manejo de objetos geográficos de forma sencilla y amigable por medio de
consultas SQL que proporcionan el resultado en coordenadas de 2D y 3D.
Inicialmente el manejo de la información de la base de datos incluye datos
geográficos (coordenadas), PostGIS proporciona soporte para el manejo de este
tipo de información a través de PosgreSQL, por lo que la manipulación de la
información geográfica queda cubierta en el desarrollo de nuestra solución.
76
CAPITULO IV
APLICACIÓN DE LAS BDET: SIG
Una de las aplicaciones de las base de datos espacio-temporales son los
sistemas de información geográfica, que se verán en este capítulo, así como el
modelo y la semántica de los datos en estos sistemas y la forma en que éstos se
apoyan de las bases de datos geográficas.
78
objetos geométricos tales como puntos, líneas y polígonos. La codificación de la
información en datos requiere de estructuras y formatos adecuados para su
almacenamiento en una base de datos, la cual podrá tener una descripción en un
nivel de abstracción más alto si se usa una base de metadatos.
(Software) (Hardware)
Recursos Base de
Humanos Datos
Componentes de
SIG
79
Las aplicaciones de un SIG aumentan continuamente ya que sirve para la
elaboración de mapas temáticos y composiciones cartográficas al añadir gráficos
con tablas enlazadas a los mapas. La creación de mapas activos con posibilidades
de agregar componentes multimedia (ejemplos: video, imágenes, animaciones) y
combinado con la tecnología de la Web posibilita la generación de escenarios y
realidad virtual, dibujos en perspectiva realista y vuelos virtuales, trazado de rutas
(ejemplos: comerciales, de emergencia, red de alcantarillado). Un SIG permite
crear inventarios de recursos naturales y humanos, hacer investigación de los
cambios producidos en el medio ambiente, realizar cartografía de usos de suelo y
prevenir de incendios.
80
geográficas la relación entre un objeto geográfico (topología) a un elemento de la
realidad (ejemplo: ríos, carreteras, montañas) se reduce a cuestiones más
sencillas como el saber cuáles líneas forman una determinada carretera.
Convertir los productos de información geográfica (ejemplo: cartas,
reportes, estudios) de forma analógica a forma digital, implica la necesidad de
considerar que los mecanismos de percepción y análisis de información digital
difieren de los tradicionales. Los productos convertidos serán procesados por
computadoras y aunque pueden ser visualizados en monitores, su análisis se
realiza fundamentalmente por la combinación de métodos de análisis geométrico,
métodos estadísticos y consultas de bases de datos.
Los datos que integran esta información se clasifican, de acuerdo con su
naturaleza, en tres tipos: vectorial, raster y alfanuméricos. El tipo vectorial contiene
los datos provenientes de las cartas que en diferentes escalas y temas se han
producido; el tipo raster contiene la información de tipo imagen (ejemplos:
imágenes tomadas por satélites y modelos digitales de elevación). El tipo
alfanumérico comprende los datos tabulares y textuales (ejemplo: reportes de
campo).
Los datos geográficos tienen cuatro características principales:
1. Posición geográfica (coordenadas);
2. atributos (valores de los datos);
3. relaciones topológicas;
4. componentes de tiempo.
81
El rápido crecimiento de los SIG se ha traducido en un gran número de
sistemas, cada uno de los cuales tiene su propio manejo de datos y
almacenamiento de características. La mayoría de los SIG siguen basados en
manipuladores de datos espaciales e imágenes usando un gestor de archivos, sin
ningún tipo de servicio de bases de datos.
El acoplamiento del DBMS a los requerimientos del procesamiento de datos
en un SIG se ha hecho en función de tres arquitecturas:
Sistemas Propietarios. Una base de datos de propósito especial está
estrechamente unida a los módulos de procesamiento de datos espaciales.
Los usuarios no pueden acceder a la base de datos directamente y los
datos no pueden ser migrados a otro DBMS;
Sistemas de Capas. Un DBMS común se utiliza como base para las
funciones de acceso de datos espaciales. Los usuarios pueden acceder a la
base de datos directamente y pueden ser portados a otros sistemas;
Sistemas Extensibles. Usan las facilidades proporcionadas por el DBMS
relacional extendido u orientado a objetos introduciendo la dimensión
espacial en el sistema.
82
valores dentro de un dominio que tiene asociado escalas, operaciones y
predicados.
En el contexto de un SIG, un modelo de datos es la abstracción y la
representación de los fenómenos del mundo real de acuerdo a un esquema
conceptual formalizado que es aplicado generalmente usando las primitivas
geográficas (ejemplo: líneas, puntos y polígonos).
Para poder describir la fisionomía espacial geográfica, la realidad debe ser
concebida mediante un modelo espacial de datos, el cual puede ser descrito en
dos niveles: modelo de objetos y modelo de campo.
El modelo de objetos representa fenómenos geográficos que pueden ser
individualizados (poseen una identidad y características que pueden ser descritas
a través de un conjunto de atributos) y está constituido por:
Punto. Un objeto cero-dimensional que especifica la localización geométrica
por medio de un conjunto de coordenadas;
Línea. Un objeto uni-dimensional que es un segmento de línea determinado
entre dos puntos;
Área. Un objeto bi-dimensional que es continuo, acotado y puede incluir su
frontera;
Celda. Es un objeto bidimensional que representa un simple elemento en
un espacio discreto referenciado a una superficie continua;
Píxel. Es un objeto gráfico bidimensional que se define como el elemento
más pequeño indivisible de una imagen;
Símbolo. Elemento gráfico que representa alguna característica de los
puntos sobre un mapa.
83
Muestreo irregular de puntos. La base de datos contiene un conjunto de
tripletas (x, y, z) que representan valores de puntos de una variable en un
conjunto finito de localizaciones irregularmente distribuidas.
Muestreo regular de puntos. El muestreo de puntos es un arreglo que se
mapea sobre un enrejado regular. Este campo tiene similitud con el anterior
excepto por el espaciamiento regular en donde se tienen localizadas las
mediciones.
Contornos. La base de datos contiene un conjunto de líneas, cada una
representada por un conjunto de parejas ordenadas (x, y) que están
asociadas a un valor z. Los puntos en cada conjunto están linealmente
conectados como en las líneas de contorno cartográficas de una misma
elevación.
Polígonos. El área es dividida en un conjunto de elementos poligonales, de
tal forma que cualquier localización que cae dentro de un polígono tiene
asociado un valor y las fronteras son definidas por un conjunto de parejas
ordenadas (x, y) de puntos (ejemplos: uso de suelo, área básica de
simulación).
Enrejado de celdas. El área es dividida en un enrejado regular de celdas.
Cada celda tiene un valor y una variable que se supone tiene un valor para
todas las localizaciones dentro de la celda.
Red triangular. En este caso el área es dividida en triángulos. El valor de la
variable es especificado en cada vértice del triángulo y se considera que
varía linealmente sobre el triángulo.
84
Medida temporal. Es necesario mantener registro de la existencia y cambio
de un objeto a lo largo del tiempo. La existencia y la operación de tiempo
deben ser válidos;
Medida espacial compleja. Debe ser posible asociar medidas espaciales
complejas con objetos. De esta manera medidas de cero, uno, dos y tres
dimensiones consiste en puntos (y multi-puntos), líneas (y multi-líneas),
polígonos (y multi-polígonos) y raster debería ser posible. Esto permite a los
objetos que estén constituidos de más elementos;
Valores temáticos. Un objeto tiene varios atributos que definen sus valores;
Objetos difusos. La representación de un objeto difuso está relacionada con
su ubicación y valores temáticos. En apoyo a los objetos geográficos,
debería ser posible modelar objetos que tengan una extensión y medida,
las cuales son características que hasta cierto punto pueden ser referidas
por medio de coordenadas (x, y, z). Los objetos pueden poseer valores
temáticos asociados o no con una determinada clase;
Entidades vs datos basados en campo. El mundo real puede representarse
por entidades totalmente definibles (ejemplo: carreteras y edificios). En el
enfoque basado en campo, el mundo real consiste de atributos los cuales
se supone que varían en el espacio como una función continúa. Este último
sería el enfoque preferido si se representan a fenómenos que impliquen
altura y profundidad;
Generalización. Se refiere a aspectos de un objeto como la escala y el
propósito. Un sólo objeto puede derivarse de varios objetos en una escala
mayor y la información sobre todos los objetos que se agregan o no deben
ser accesibles;
Restricciones. Un objeto puede estar definido por atributos cuyos valores
requieran de restricciones en cierto intervalo;
Funciones. La función de un objeto está estrechamente relacionada con su
representación. Un objeto geográfico puede ser definido de manera
diferente dependiendo de la aplicación;
85
Identificación del objeto. Un identificador de objeto único es necesario para
el intercambio de datos; si es necesario hacerlo entre diversos repositorios
tal identificación es de gran ayuda;
Calidad de la información. La calidad describe el valor de los datos. Esta
información es importante al evaluar la credibilidad de los datos y debería
ser obligatoria.
Los elementos a considerar en las relaciones entre los objetos que definen
los modelos geográficos son:
Relaciones topológicas. Se refieren a las relaciones y conexiones entre los
objetos. Ejemplos de relaciones topológicas binarias son: contiene,
superposición;
Relaciones métricas. Implica la distancia y depende de la posición absoluta
de los objetos en relación con un determinado sistema de referencia;
Relaciones semánticas. Son relaciones entre los objetos, pertinentes en el
plano conceptual, que no son ni topológicas ni métricas;
Relaciones parte-de. Indica que un objeto puede constar de otros objetos;
Restricciones de la relación. Son muy importantes y dependen en gran
medida del tipo de relación entre los objetos.
86
trabajo de esta área consiste en obtener representaciones acerca de cómo el ser
humano percibe el mundo real por medio de una conceptualización basada en
procesos de abstracción y representación de los datos geográficos. La humanidad
inició representando el mundo real a través de bosquejos y dibujos,
posteriormente con mapas, con la llegada de la era digital, los mapas son la base
para el desarrollo de SIG (Sistemas de Información Geográfica), los cuales
proporcionan mecanismos para almacenar manipular y analizar la información
geográfica.
En la actualidad, se ha reconocido ampliamente que la semántica de la
información geográfica es crítica para el desarrollo de bases de datos
geoespaciales y aplicaciones interoperables. En adición a esto, los SIG; así como
la tecnología de desarrollo de éstos, deben ser interoperables con otros sistemas y
bases de datos. Con la semántica espacial de objetos geográficos, es posible
analizar la interacción de diversos fenómenos de un área común, además de
poderlos representar adecuadamente a diferentes niveles de detalle de
conocimiento, dependiendo del propósito o caso de estudio.
Las bases de datos geográficas son herramientas muy poderosas y
utilizadas para manejar, desplegar y procesar la información geoespacial. Estas
bases de datos integran SIG, los cuales están diseñados para almacenar y
procesar los datos geoespaciales que son muy complejos y mixtos. Por tal motivo
para evitar cualquier tipo de ambigüedad en el procesamiento e interpretación de
estos datos, se debe contar con una buena calidad desde el proceso de entrada
hasta su representación.
Las aplicaciones SIG son utilizadas para analizar las características de
diferentes ambientes geográficos. Sin embargo, estas aplicaciones utilizan
diferentes fuentes de datos geoespaciales para lograr sus objetivo; así como
diversos formatos, los cuales pueden encontrarse o en diferentes bases de datos
geográficas; motivo por el cual la integración de información geoespacial es un
problema complejo para llevar a cabo tareas específicas. Por tal razón, el objetivo
de realizar una conceptualización del dominio geográfico es solucionar problemas
87
de heterogeneidad e interoperabilidad semántica debido a la existencia de
diferentes fuentes de información.
Se utiliza la semántica espacial de objetos como un mecanismo para la
correcta representación y descripción de objetos espaciales en una base de datos
geoespacial, en donde se puedan distinguir estos objetos por medio de sus
características (propiedades) y también a través de un valor de atributo o una
primitiva de representación espacial (punto, línea, polígono, etc.), sin realizar algún
tipo de procesamiento, clasificación o manipulación de información
georeferenciada. [Radilla, F. (2008)].
88
CONCLUSIONES
Al haber realizado esta monografía se puede concluir que las bases de
datos son una parte importante para la administración de la información de las
empresas, tanto que su uso fue indispensable desde los años 50’s mediante el
uso de las cintas magnéticas y con éstas se puede acceder a datos de manera
fiable. Además es importante tener claro que al momento de la creación de las
bases de datos se debe evitar la redundancia de datos para establecer las
relaciones que integran dichas bases. Por ello es primordial seguir una
metodología de diseño de base de datos basados en los modelos que se
abarcaron, ya sea modelo entidad – relación, orientado a objetos, jerárquico o
relacional para que así, las operaciones que se realicen sean de forma eficiente.
Los beneficios de contar con los sistemas de base de datos pueden usarse
en un sinfín de aplicaciones, como en las líneas aéreas o bancos que son
utilizados para proporcionar información específica que es requerida por cualquier
cliente, esto facilita el trabajo a sus usuarios finales. De las bases de datos
tradicionales a las espacio-temporales se ha entendido y comprendido cada una
de estas, además de las temporales y espaciales, estas dependen de los datos
que se requieran ingresar a las bases de datos, si se desea contar con
información temporal ya sea por que se necesita el dominio de tiempo, la base de
datos es temporal. Para tener una base de dato espacial se requieren de datos
que tengan que ser representados por puntos, líneas o región. Existen objetos
espaciales que cambian su tamaño y/o posición a través del tiempo para esto
existen las bases de datos espacio-temporales, el objetivo de estas es modelar y
representar la naturaleza dinámica de las aplicaciones en el mundo real, estas
pueden ser utilizadas en el ámbito del transporte y multimedia, es decir,
administrando dichos objetos que son cambiantes en su ubicación y tiempo. Por lo
que las consultas que se necesitan resolver en este tipo de bases de datos
pueden requerir tratar con el tiempo (pasado, presente y predicciones de futuro)
como ya se vio en los lenguajes de consultas.
90
FUENTES DE INFORMACION
93
GLOSARIO
ACID Atomicity, Consistency, Isolation and Durability:
Atomicidad, Consistencia, Aislamiento y Durabilidad en
español. Conjunto de características necesarias para que una
serie de instrucciones puedan ser consideradas como una
transacción.
95
Cartografía Es la ciencia que se encarga del estudio y de la
elaboración de los mapas.
96
DBMS DataBase Management System o Sistemas de Gestión
de Base de Datos (SGBD) son un tipo de software muy
específico, dedicado a servir de interfaz entre la base de
datos, el usuario y las aplicaciones que la utilizan.
97
usando GPS diferencial, aunque lo habitual son unos pocos
metros.
98
JAXP Java Api for XML Processing. sirve para la manipulación
y el tratamiento de archivos XML.
99
Plantillas Forma de dispositivo que proporciona una separación
entre la forma o estructura y el contenido.
100
coordenadas terrestre y construido para satisfacer unas
necesidades concretas de información.
Tags Etiqueta. Es una marca con tipo que delimita una región
en los lenguajes basados en XML.
101
WKT Well Known Text (texto bien conocido). Una codificación
o sintaxis diseñada específicamente para describir objetos
espaciales expresados de forma vectorial.
102
INDICE DE FIGURAS
Figura 2.5 Ubicación del bombero “T. Montoya” y del incendio “Grann L”: a) punto
A y región de 315km2 el 5/7/06, b) punto B y región de 503km2 el
6/7/06, c) punyo C y región de 503km2 el 7/7/06, y d) punto D y región
de 114km2 el 7/7/06 61
103
INDICE DE TABLAS
Tabla 2.3 Muestra de datos de la relación bosque para SQLST y para el lenguaje
de Guting 53
de Guting 55
de Guting 55
104
Tabla 3.3 Tecnologías XML 71
105