IBM DB2: SQL con soporte a consultas temporales.

La nueva version de la base de datos de IBM DB2, viene con soporte para consultas temporales, lo que permite modelar mucho mejor aplicaciones que tengan que mantener vigencias en las tablas.

Por ejemplo, la tabla de PAISES, es bastante estatica, pero cambia cada tanto en los nombres de los mismos.
Tambien se crean nuevos paises y algunos paises se dividen en dos y dejan de existir.

Para modelar esto, generalmente se agrega un rango de fechas (FechaInicial-FechaFinal, o VIGENCIA) donde sus atriibutos secundarios son validos.

En DB2, ahora se pueden escribir sentencias de la forma

UPDATE paises FOR PORTION OF BUSINESS_TIME FROM '2007-03-01' TO '2009-04-01' SET paisnombre = 'Checoslovaquia' WHERE PaisID = 123;

que solo va a valer en ese rango de fechas establecidas.

De esta forma las aplicaciones podrían ejecutar en el momento actual (como hacemos ahora) y también en el futuro o en el pasado, o sea cambiando la FECHA_VALOR o FECHA_EJECUCION, permitiendo que si reimprimo un documento de 6 meses atrás, tome las descripciones validas en esa fecha.

Estaría muy bueno poder desarrollar aplicaciones que tenga las vigencias en forma natural, haciendo mucho mas sencillo el desarrollo.

Links Relaicionados:

Comentarios

  1. Muy interesante, más si no queda limitado a DB2 y va por el camino de la estandarización como dice el paper. Podría abstraer y simplificar la gestión tributaria/impositiva, tan dependiente de la fecha valor de un cobro, un evento administrativo, etc.

    Pero más que eso, a nivel de diseño relacional esto va a dar vuelta la manera en que pensamos los históricos de entidades más complejas. Espero que de aquí a pocos años GX lo aborde, mientras lo iremos experimentando en forma nativa.

    saludos,
    Mariano

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.