Base de datos temporal


Una base de datos temporal almacena datos relacionados con instancias de tiempo. Ofrece tipos de datos temporales y almacena información relacionada con el tiempo pasado, presente y futuro. Las bases de datos temporales pueden ser unitemporales, bitemporales o tritemporales.

Más específicamente, los aspectos temporales suelen incluir tiempo válido , tiempo de transacción o tiempo de decisión .

Las bases de datos temporales contrastan con las bases de datos actuales (que no deben confundirse con las bases de datos disponibles actualmente), que almacenan solo hechos que se cree que son ciertos en el momento actual.

Las bases de datos temporales admiten la gestión y el acceso a datos temporales al proporcionar una o más de las siguientes características: [1] [2]

Con el desarrollo de SQL y su uso asociado en aplicaciones de la vida real, los usuarios de bases de datos se dieron cuenta de que cuando agregaban columnas de fecha a los campos clave, surgían algunos problemas. Por ejemplo, si una tabla tiene una clave principal y algunos atributos, agregar una fecha a la clave principal para realizar un seguimiento de los cambios históricos puede dar lugar a la creación de más filas de las previstas. Las eliminaciones también deben manejarse de manera diferente cuando las filas se rastrean de esta manera. En 1992, se reconoció este problema, pero la teoría estándar de las bases de datos aún no estaba a la altura de resolver este problema, ni tampoco el estándar recién formalizado en ese momento.

Richard Snodgrass propuso en 1992 que las extensiones temporales de SQL fueran desarrolladas por la comunidad de bases de datos temporales. En respuesta a esta propuesta, se formó un comité para diseñar extensiones a la edición de 1992 del estándar SQL (ANSI X3.135.-1992 e ISO / IEC 9075: 1992); esas extensiones, conocidas como TSQL2, fueron desarrolladas durante 1993 por este comité. [3] A finales de 1993, Snodgrass presentó este trabajo al grupo responsable del Estándar Nacional Estadounidense para el Lenguaje de Base de Datos SQL, el Comité Técnico ANSI X3H2 (ahora conocido como NCITS H2). La especificación preliminar del lenguaje apareció en el Registro ACM SIGMOD de marzo de 1994. Con base en las respuestas a esa especificación, se realizaron cambios en el lenguaje y la versión definitiva de la Especificación del lenguaje TSQL2 se publicó en septiembre de 1994.[4]


Ejemplo de modelo de dimensión que cambia lentamente (SCD)
(haga clic en la imagen para verla)