Sunteți pe pagina 1din 11

Redalyc

Sistema de Informacin Cientfica


Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal

Martnez Silva, Javier; Daz Silvera, Jorge INTERFAZ PARA LA GESTIN DE BASES DE DATOS TEMPORALES (IGBDT) V 1.0 Ciencia en su PC, nm. 1, 2010, pp. 47-56 Instituto de Informacin Cientfica y Tecnolgica Santiago de Cuba, Cuba
Disponible en: http://www.redalyc.org/src/inicio/ArtPdfRed.jsp?iCve=181317867005

Ciencia en su PC ISSN (Versin impresa): 1027-2887 cpc@megacen.ciges.inf.cu Instituto de Informacin Cientfica y Tecnolgica Cuba

Cmo citar?

Nmero completo

Ms informacin del artculo

Pgina de la revista

www.redalyc.org Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

INTERFAZ PARA LA GESTIN DE BASES DE DATOS TEMPORALES (IGBDT) V 1.0 Autores: Javier Martnez Silva. Profesor Asistente, Licenciado en Ciencias de la Computacin, javierm@csd.uo.edu.cu Jorge Daz Silvera, Profesor Titular, Doctor en Ciencias Matemticas, jdiaz@csd.uo.edu.cu Universidad de Oriente

RESUMEN Existen aplicaciones en las cuales, por su naturaleza, el tiempo realiza un papel determinante; por ejemplo, aplicaciones financieras, bancarias, mdicas o controles de horarios, que manejan informaciones que requieren ser almacenadas en bases de datos. Contar con informacin sobre el tiempo en una base de datos para tener conocimiento de la evolucin real de los datos es esencial en aplicaciones de este tipo, de ah que sea natural un inters creciente por incluir mtodos que sirvan para controlar las distintas versiones por las que pasan los datos en el tiempo, como ocurre en bases de datos temporales. El objetivo general del presente trabajo es desarrollar una herramienta que permita la administracin de bases de datos sobre gestores convencionales, desde la perspectiva de su relacin con el factor tiempo; como resultado se obtuvo una variante temporal de estas, que permite, adems, la ejecucin de consultas que tengan en cuenta aspectos temporales para tiempo vlido. Palabras clave: bases de datos relacionales, base de datos temporales, tiempo de transaccin, tiempo vlido. ABSTRACT There are applications that for their nature, the time plays a decisive role, for example, financial, banking, medical applications and others that control schedules. To have information about the time in a database is essential for the knowledge of the real evolution of the data in applications of this type, capacity of which the traditional databases lack. It is natural then that a growing interest exists in including methods to control the different versions for which pass the data in the time, like it happens when they are stored in temporal database. The general objective of the present work is to develop a software tool that allows to transform relational databases keeping in mind the factor time to its respective temporal database, allowing the execution of queries with new operations based on transaction time or valid time. Key words: Relational databases, temporal databases, transaction time, valid time.

INTRODUCCIN

47

Para tener conocimiento de la evolucin real de los datos en un sistema se requiere tener informacin sobre el tiempo. Ejemplo de tales aplicaciones son la administracin de oficinas, asuntos bancarios, registro de personal, registros mdicos, administracin de inventarios, monitoreo del tiempo, etc. Las bases de datos tradicionales carecen de capacidades para registrar y manejar las variaciones dependientes del tiempo del mundo que modelan. Es por ello que han aparecido diferentes soluciones para dotar a los Sistemas de gestin de bases de datos (SGBD) de posibilidades de operar con el tiempo. Una base de datos temporal soporta algn aspecto de tiempo. Una base de datos relacional es temporal si contiene una o ms relaciones temporales. Las bases de datos temporales permiten el almacenamiento y recuperacin de todos los estados asumidos por un objeto durante su tiempo de vida, y con ello registran su evolucin en el tiempo. Se caracterizan por la incorporacin de uno o ms atributos temporales, que pueden reflejar el momento en que un hecho fue actualizado en la base de datos (tiempo de transaccin), o el momento en el que realmente ocurrieron los hechos que se modelan (tiempo vlido), o ambos inclusive. En dependencia de la informacin temporal con que se trabaje, estas bases de datos se clasifican como Bases de datos tradicionales (Snapshot), Bases de datos de tiempo de transaccin (BDTT), Bases de datos de tiempo vlido (BDTV) y Bases de datos bitemporales (BDBT). Una descripcin de cada una de ellas es presentada en este trabajo; asimismo, se ilustran estas descripciones con ejemplos. Tambin han sido propuestos lenguajes temporales de consulta, basados en SQL [1]. Es usual proponer una extensin que abarca totalmente su contraparte atemporal [4]. Las bases de datos temporales han sido bien tratadas en el mbito acadmico, mientras que comercialmente es difcil encontrar formas de gestin eficientes; a pesar de que existe un cierto nmero de aplicaciones en las que por su naturaleza el tiempo realiza un rol determinante. Existen herramientas, como EDTTDT [7]: sistema experto dirigido al diseo de transacciones, que aunque se emplean de manera eficiente y segura, su manejo puede resultar sumamente complejo a usuarios no familiarizados con la aplicacin de herramientas para la gestin de bases de datos y sus variantes temporales. Esta herramienta est basada e implementada en Prolog y su mayor ventaja radica en la factibilidad de la integracin de los sistemas basados en el conocimiento.

48

TimeDB [9] es una herramienta que acta como capa intermedia entre las aplicaciones usuarias y SGBD convencional, se ejecuta como un front-end de Oracle, que implementa el lenguaje de demandas ATSQL e incorpora ideas de TSQL2 y ChronoLog; el resultado es el nuevo lenguaje ATSQL2. Las sentencias de ATSQL2 (demandas, actualizaciones y aserciones) son compiladas en sentencias de SQL-92, que son ejecutadas por el backend del SGBD. Sin embargo, el lenguaje de consulta que utiliza est limitado, pues no puede aceptar en su totalidad todas las operaciones necesarias para la gestin eficiente de los datos, en funcin del tiempo; adems, la gramtica del lenguaje presenta algunos problemas de ambigedad [8]. En el presente trabajo se exponen cuestiones bsicas de la investigacin, la cual est referida a la administracin de la informacin almacenada en bases de datos temporales; tiene como objetivo general desarrollar una herramienta de software, interfaz para la gestin de bases de datos temporales (IGBDT), que permita la ejecucin de consultas que tengan en cuenta aspectos temporales, como lo son el tiempo vlido, sobre la base de datos temporales.

Tipos de bases de datos relacionales extendidas a consideraciones de tiempo Antes de entrar en el anlisis de los modelos temporales de datos y los lenguajes de consultas para los mismos, es necesario analizar la asociacin que existe entre tiempo y hechos, la cual resulta ser el ncleo fundamental del almacenamiento temporal de datos. Los modelos de base de datos y el almacenamiento de la informacin de una parte de la realidad se definen como realidad modelada o mini-mundo, mientras que las partes de este mini-mundo son representadas en una base de datos por una variedad de estructuras que se denominan entidades de la base de datos. Se emplea el trmino hecho para todas aquellas sentencias lgicas a las que se les puede asignar como valor lgico: verdadero o falso. De manera general, los tiempos estn asociados con las entidades de la base de datos. Resultan de gran inters los hechos registrados por las entidades de la base de datos y la relacin que tienen con aspectos temporales. El ms importante es el tiempo vlido, que no es ms que la coleccin de tiempos -ya sean pasados, presentes o futuros- en la que el hecho tiene asociado como valor lgico: verdadero. El tiempo vlido captura todos los estados variantes en el tiempo dentro del mini-mundo. Por definicin, todos los hechos tienen un tiempo vlido; sin embargo, el tiempo vlido no necesariamente tiene que ser conocido ni 49

almacenado en la base de datos, si no es relevante para la aplicacin. Si en una base de datos se modelan varios mini-mundos, puede haber varios tiempos vlidos para cada uno de sus respectivos hechos. Otro aspecto temporal que se relaciona con los hechos de una base de datos es el tiempo de transaccin. El tiempo de transaccin de un hecho en la base de datos es el momento en que el hecho es actual (es registrado) dentro de la base de datos. A diferencia del tiempo vlido, el tiempo de transaccin puede estar asociado con las entidades de la base de datos y no solo con los hechos. El tiempo de transaccin puede estar asociado con valores y objetos que no son necesariamente hechos; por ejemplo, el valor 63 puede almacenarse en una base de datos, pero no denota una sentencia lgica. Esto quiere decir que el tiempo de transaccin est asociado con 63, pero no es un tiempo vlido, de manera que todas las entidades tienen un tiempo de transaccin asociado. Este tiene un perodo de duracin, ya sea durante una insercin, eliminacin; o mltiples inserciones o eliminaciones para una misma entidad. El tiempo de transaccin de un hecho de la base de datos puede ser F; si el tiempo vlido asociado a dicho hecho es F est actualizado en la base de datos, lo cual indicara que tratar el tiempo de transaccin como un aspecto separado es redundante. Como una consecuencia de la semntica del tiempo de transaccin, la eliminacin de una entidad no la saca fsicamente de la base de datos, sino que simplemente no formar parte del estado actual de esta. Es importante destacar que el tiempo de transaccin, debido a su especial semntica y caractersticas, es abarcado y tratado de manera automtica por el SGBD. Los valores de tiempo vlido y tiempo de transaccin de las entidades de una base de datos pueden tener el mismo valor desde algunos dominios de tiempo apropiado. Percibir el tiempo en la realidad y cmo representarlo en una base de datos no es trivial. Existen varios esquemas para manejar informacin temporal en sistemas de gestin de bases de datos, mediante la incorporacin de uno o ms atributos temporales. En dependencia de la informacin temporal que pueden manejar los esquemas de relacin, se clasifican [1] como: instantneas (snapshot), de tiempo de transaccin (rollback), de tiempo de vlido (histrica), y bitemporales. Adicionalmente, se estudian las bases de datos multitemporales, donde coexisten relaciones de diferentes categoras. Una relacin instantnea se corresponde con cualquiera de las relaciones en una base de datos tradicional, en que no se contempla el tiempo. Un estado o instancia de la relacin es 50

su contenido corriente, que no necesariamente refleja el estado actual del mundo que modela. Bases de datos snapshot o instantneas son aquellas bases de datos convencionales en las que no se tiene en cuenta ni el tiempo vlido ni el tiempo de transaccin. A travs de las operaciones de insercin, modificacin o borrado se actualiza el estado de la base de datos. Los estados pasados son obviados y olvidados; no obstante, existen situaciones en las que no es suficiente contar con una base de datos de este tipo, ya que no es posible: Conocer el estado de una determinada informacin concerniente a ciertas unidades de tiempo en el pasado. Conocer la ocurrencia de cambios en los ltimos aos. Registrar algn cambio con carcter retroactivo dentro de la base de datos. Registrar en la base de datos que un cambio ser valido en un tiempo futuro.

Una aproximacin para resolver las deficiencias enumeradas anteriormente consiste en almacenar todos los estados pasados; es decir, las distintas instantneas indexadas por el tiempo. Las relaciones con tiempo de transaccin marcan el momento en que la informacin fue almacenada en la base de datos. El tiempo de transaccin no se registra generalmente en instantes de tiempo, sino en duraciones, y es consistente con el orden de serializacin de las transacciones sobre la base de datos. Esta marca de tiempo es suministrada por el SGBD, en los momentos en que las transacciones son confirmadas. De esta forma, una relacin de este tipo puede considerarse como una secuencia de relaciones instantneas. Las BDT, caracterizadas por contener relaciones de este tipo, son conocidas como bases de datos rollback o bases de datos de tiempo de transaccin (BDTT). En BDTT es posible responder a consultas del tipo: Cul era la informacin que se tena del mundo modelado hace un tiempo atrs? La limitacin que tiene este tipo de base de datos est dada por el hecho de que registra ms la historia de las actividades de la base de datos que la historia propia de los datos modelados. Una tupla se conoce tan pronto como es ingresada en alguna relacin de la base de datos. No es posible registrar informacin retroactiva o a posteriori, ni corregir errores del pasado. Las modificaciones de los datos solo pueden ser realizadas sobre la relacin instantnea ms reciente. Una relacin con tiempo vlido utiliza el concepto de tiempo vlido como marca de tiempo, los hechos son registrados en el momento en que realmente ocurren en el mundo modelado. 51

La semntica del tiempo vlido est fuertemente relacionada con la realidad, por lo tanto es ms compleja que la semntica del tiempo de transaccin. As, las bases de datos de tiempo vlido o bases de datos histricas necesitan de operaciones sofisticadas para manejar adecuadamente la compleja semntica del tiempo vlido. A diferencia de las BDTT, el SGBD para las bases de datos de tiempo vlido (BDTV) soporta modificaciones arbitrarias. Un sistema de bases de datos con tiempo vlido representa el conocimiento corriente del mundo modelado. La mayor desventaja que reportan las BDTV es que al no mantenerse los estados previos de la base de datos, no es posible conocerse detalles de su estado en el pasado y no se lleva el registro de los errores que han sido corregidos. Las relaciones bitemporales combinan los beneficios de las de tiempo de transaccin y las de tiempo vlido en una relacin que las soporta a ambas. Una relacin bitemporal puede ver tuplas vlidas en un momento, tal como se conocan en algn otro momento, capturando completamente la historia de los cambios. En una relacin bitemporal el usuario puede examinar informacin histrica desde el punto de vista de un estado previo de la relacin; en una consulta pueden manejarse ambos tipos de tiempo. Cada transaccin causa la creacin de un nuevo estado histrico. Este tipo de relacin puede verse como una secuencia de estados rollback, en donde cada uno de estos constituye una relacin histrica completa. La operacin de rollback en una relacin bitemporal selecciona un estado histrico particular, sobre el cual es posible ejecutar una consulta histrica. Se conceptan como bases de datos bitemporales aquellas que contienen relaciones bitemporales.

Propuesta de herramienta realizada en el presente trabajo Dentro del mundo acadmico, son pocos los trabajos publicados que abarcan aspectos relacionados con la implementacin de herramientas que posibiliten la administracin y recuperacin de informacin almacenada en bases de datos temporales. La herramienta que se propone, IGBDT, para gestionar bases de datos temporales permite a los usuarios manejar los valores de tiempo vlido para una determinada aplicacin, por medio de interfaces amigables y de fcil manejo, con la extensin de la funcionalidad del SGBD existente a travs de dicha herramienta.

52

En el trabajo se adaptan extensiones a un conjunto de operadores del lgebra relacional, sobre la base de aspectos temporales tales como el tiempo vlido, para luego ortogonalmente extenderlo a tiempo de transaccin. Se definen para tiempo vlido las versiones de los operadores del lgebra relacional (unin, diferencia, interseccin, producto cartesiano, seleccin, proyeccin, -encuentro, encuentro natural y encuentro).

La figura 1 muestra los mdulos que conforman la arquitectura de la aplicacin realizada.

Figura 1. Arquitectura de la interfaz IGBDT

A continuacin se explica brevemente las funciones de cada mdulo de IGBDT: Explorador: En este mdulo el usuario especifica las sentencias SQL con aspectos temporales que desea ejecutar. Estas sentencias reciben un anlisis lexicogrfico, luego se genera una lista de smbolos (tokens) que sern posteriormente entregados al mdulo Parser para su ulterior anlisis. Parser: Realiza el anlisis sintctico, por lo que detecta si la sentencia SQL especificada constituye una sentencia legal del lenguaje. En caso de existir algn error sintctico, se muestra la correspondiente notificacin y se detiene el proceso de traduccin. En caso de no existir error, se genera un rbol sintctico que es recibido por el mdulo Traductor. Traductor: Chequea si todas las tablas y atributos referenciados en la sentencia existen actualmente. En caso de ser una consulta temporal, en este mdulo se comprueba adems si todas las tablas tienen incluidos los valores de tiempos vlidos o de transaccin, o ambos. Chequeador: Es un mdulo auxiliar del Traductor, cuya funcin principal es la de proveer todas las operaciones para realizar los distintos chequeos, tales como la existencia o no de una tabla referenciada en la consulta, que los tipos de los atributos sean vlidos, entre otros. 53

En caso de existir algn error, se notifica por medio del mensaje correspondiente y se detiene el proceso de traduccin. Evaluador: Ejecuta una expresin basada en el lgebra temporal sobre un SGBD relacional, posteriormente enva el resultado al mdulo Explorador. Los resultados intermedios que se obtienen son almacenados en tablas auxiliares, que sern creadas y eliminadas de forma automtica por el sistema. Entre las principales opciones operativas que brinda la herramienta estn: Creacin bases de datos temporales por adicin de tablas temporales. Visualizacin de bases de datos temporales. Ejecucin de consultas temporales, que incluyen las sentencias temporales de insercin (insert), actualizacin (update) y eliminacin (delete). Todo ello conlleva al soporte de los valores de tiempo vlido y tiempo de transaccin. Estos valores de tiempo son tratados ortogonalmente, lo cual quiere decir que para cada sentencia que involucre el tiempo vlido existir un correspondiente tiempo de transaccin. Se pretende que pueda soportar ms de un SGBD, sobre todo aquellos que sean los de mayor demanda. La figura 2 muestra la pantalla principal de la aplicacin.

Figura 2. Pantalla principal de IGBDT

54

La aplicacin tiene con una interfaz amigable y de fcil manejo. Es posible contar con varias bases de datos disponibles en un momento dado. Posee una seccin para el procesamiento de las tablas de una determinada base de datos, tambin pueden crearse nuevas tablas, as como modificar o eliminar las ya existentes. La herramienta posibilita, adems, la transformacin de alguna de estas tablas en su correspondiente tabla temporal, con la adicin de los nuevos campos para el manejo de la informacin temporal, ya sea el tiempo vlido o el tiempo de transaccin, segn el usuario determine. Para la ejecucin de las consultas posee un asistente que agiliza y facilita el trabajo de aquellos usuarios no familiarizados con el lenguaje de consulta. Estas pueden ejecutarse adems en Vista Diseo (ver Figura 3). La herramienta notifica al usuario sobre la deteccin de los posibles errores encontrados a la hora de ejecutar determinada consulta. Las tablas resultantes de la ejecucin de una consulta pueden exportarse, de manera que pueden persistir.

Figura 3. Pantalla para la ejecucin de consultas temporales

CONCLUSIONES En el presente trabajo se han expuesto las principales facilidades de la interfaz para la gestin de bases de datos temporales, en su primera versin. Con la misma se pretende dotar a varios SGBD convencionales, de extensiones para el manejo de aspectos 55

temporales. Se defini un lgebra relacional que tiene en cuenta el tiempo, lo cual sirvi de base para la definicin de un lenguaje de consulta, apto para tratar con bases de datos temporales, dotado de capacidad para evaluar expresiones temporales en sus clusulas; en las cuales se han introducido predicados, constructores y operadores, todos ellos tambin temporales y que pueden ser combinados con los elementos lgicos, para tratar con eventos, intervalos y otros conceptos propios de los sistemas temporales. Lo anterior facilit la implementacin de la herramienta IGBDT, que permite la administracin y recuperacin de informacin almacenada en bases de datos temporales mediante la ejecucin de consultas temporales, en particular para tiempo vlido. En estos momentos se trabaja para incluir las consideraciones de tiempo de transaccin, que son ms sencillas y de tratamiento ortogonal con respecto al tiempo vlido.

REFERENCIAS BIBLIOGRFICAS
1. Tansel, J. Clifford, S. Gadia, S. Jajodia, A. Segev, and R. Snodgrass, editors (1993): Temporal Data Bases - Theory, Design and Implementation. The Benjamin Cummings Pub.Co., California, 1993. 2. Castro F., Grandi M., Scalas R. (1995): On schema versioning in temporal databases. In: Recent Advances in Temporal Databases, J. Clifford, A. Tuzhilin (Eds). Springer Verlag, 1995, p.272-291. 3. Jensen C.S. and Snodgrass R.T. (2008): Temporal Database Entries for the Springer Encyclopedia of Database Systems. 2008 4. Jensen C.S. et al. (1998): The consensus glossary of temporal database concepts February 1998 Version. In Temporal Databases Research and Practice. O. Etzion, S. Jajodia and S. Sripada (Eds), Springer Verlag, p. 367-405. 5. Melto J. and Simon A. R.(1993): Understanding the New SQL: A Complete Guide. Morgan Kaufman Publishers, Inc, San Mateo, CA, 1993. 6. Ben M. S. and Feldman R. (2007) Visual Query and Exploration System for Temporal Relational Database. Advances in Data Mining. Theoretical Aspects and Applications, 7th Industrial Conference, ICDM 2007, Leipzig, Germany, July 14-18, 2007. 7. Qutaishat M. (2000): EDTTDT: an expert design tool for temporal database transaction. Expert Systems with Applications, Volume 19, Number 2, August 2000, pp. 133-142. 8. Steiner A. (1997): A Generalisation Approach to Temporal Data Models and Their Implementations, PhD Thesis, Department Informatik, ETH Zurich, Switzerland. 9. TIME DB, a temporal relational DBMS. TimeConsult: http://www.timeconsult.com/Software/Software.html. Visitado el 14 de agosto de 2009.

56

S-ar putea să vă placă și