SlideShare a Scribd company logo
1 of 37
Download to read offline
Bases de Datos Temporales




                         Aragón Asenjo, Pablo
                        Iturrate Gil, Iñaki Asier


              “Cualquier tiempo pasado fue anterior”
                                       Les Luthiers
Índice

      –   Definición de Base de Datos Temporal (BDT)

      –   Motivación de las BDT

      –   Relaciones bitemporales (Ejemplo)

      –   Operaciones

      –   Problemas

      –   Implementación

      –   Sistemas de Gestión de BDT (TimeDB)

      –   Conclusiones

2                                                 Bases De Datos Temporales
¿Qué NO es una Base de Datos Temporal?

       Si insertamos información en la Base de Datos y jamás la
        modificamos ni la borramos, tenemos una Base de Datos Histórica.




       Si la Base de Datos sólo contiene
        datos actuales, tenemos una Base
        de Datos Instantánea. Cuando la
        información de los datos deja de ser
        cierta se actualiza o se elimina el
        registro anterior.



3                                                  Bases De Datos Temporales
¿Qué es una Base de Datos Temporal?



     Una Base de Datos Temporal
     es aquella que almacena datos
        históricos y datos actuales.


4                              Bases De Datos Temporales
Motivación

       Muchas de las aplicaciones de tecnología de bases
        de datos son temporales por naturaleza.

       Desarrollar un modelo que potencie la gestión
        temporal de la información:

        –   Finanzas: Cotizaciones bursátiles, contabilidad, cuentas bancarias...
        –   Reservas: Vuelos, trenes, hoteles...
        –   Ciencia: Monitorización meteorológica...
        –   Recursos humanos
        –   Registros sanitarios
        –   …

5                                                            Bases De Datos Temporales
Ejemplo: Bernardo (I)
       Bernardo Sabina nació un soleado 6 de marzo de 1985 en Zaragoza.
        Su madre registró su nacimiento al día siguiente.

       Tras acabar sus estudios de Ingeniería el 15 de junio de 2007,
        Bernardo se mudó ese mismo día a Torrevieja a vender
        hamburguesas con queso.

       Sin embargo, no registró su mudanza hasta el 25 de junio, ya que
        tenía una competición nacional de tenis de mesa.

       Pese a tener un futuro prometedor, Bernardo murió el 20 de
        septiembre 2012 de un baldosazo en la cabeza en el CPS, cuando iba
        a ver la presentación del PFC de su hermano. El equipo forense CpSI
        registró su muerte el mismo día.


6                                                    Bases De Datos Temporales
Ejemplo: Bernardo (II)




        ¿Qué transacciones SQL se
      realizarían con una base de datos
                convencional?



7                             Bases De Datos Temporales
Ejemplo: Bernardo (III)

     Fecha         Hecho ocurrido       Acción de la BD        Vista en la BD

    6/03/1985    Nace Bernardo.                  -                     -

                 Se registra su              Inserción:       Bernardo vive en
    7/03/1985
                 nacimiento.            (Bernardo,Zaragoza) Zaragoza.
                 Bernardo se muda a                           Bernardo vive en
    15/06/2007                                    -
                 Torrevieja.                                  Zaragoza.
                 Bernardo registra la      Actualización:     Bernardo vive en
    25/06/2007
                 mudanza.               (Bernardo,Torrevieja) Torrevieja.
                 Bernardo muere; se           Borrado:
    20/09/2012                                                          -
                 registra el hecho.          Bernardo
       […]                […]                   […]                   […]


8                                                       Bases De Datos Temporales
Ejemplo: Bernardo (IV)

       Tiempo de Validez (TV): se define como el
        periodo en el que un hecho es cierto en el
        mundo real.

          Por ejemplo, el TV de (Bernardo, Zaragoza) es
          06/03/85-15/06/07.




9                                        Bases De Datos Temporales
Ejemplo: Bernardo.TablaTV (I)

        Nombre     Ciudad       TVI               TVF
       Bernardo   Zaragoza   06/03/1985             ∞




10                                    Bases De Datos Temporales
Ejemplo: Bernardo.TablaTV (II)

        Nombre      Ciudad        TVI               TVF
       Bernardo   Zaragoza     06/03/1985             ∞

        Nombre      Ciudad         TVI              TVF
       Bernardo   Torrevieja   15/06/2007            ∞




11                                      Bases De Datos Temporales
Ejemplo: Bernardo.TablaTV (III)

        Nombre      Ciudad        TVI               TVF
       Bernardo   Zaragoza     06/03/1985             ∞

        Nombre      Ciudad         TVI              TVF
       Bernardo   Torrevieja   15/06/2007            ∞

        Nombre      Ciudad        TVI               TVF
       Bernardo   Zaragoza     06/03/1985 15/06/2007
       Bernardo   Torrevieja   15/06/2007             ∞

12                                      Bases De Datos Temporales
Ejemplo: Bernardo (V)

        Tiempo de Transacción (TT): se define como el
         tiempo en el que se ha incluido el hecho en la base
         de datos.

        Datos bitemporales: son aquellos que combinan
         (almacenan) TV y TT
         –   Tiempo de validez inicial (TVI)
         –   Tiempo de validez final (TVF)
         –   Tiempo de transacción inicial (TTI)
         –   Tiempo de transacción final (TTF)


13                                                 Bases De Datos Temporales
Ejemplo: Bernardo.TablaTT (I)

     Registro   Nombre   Ciudad       TVI      TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85   ∞           07/03/85          uc




14                                                   Bases De Datos Temporales
Ejemplo: Bernardo.TablaTT (II)

     Registro   Nombre   Ciudad       TVI        TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85      ∞          07/03/85          uc

     Registro   Nombre   Ciudad       TVI        TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85      ∞          07/03/85      25/06/07
            2 Bernardo   Zaragoza   06/03/85   15/06/07      25/06/07          uc
            3 Bernardo Torrevieja   15/06/07      ∞          25/06/07          uc




15                                                     Bases De Datos Temporales
Ejemplo: Bernardo.TablaTT (III)

     Registro   Nombre   Ciudad       TVI        TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85      ∞          07/03/85          uc

     Registro   Nombre   Ciudad       TVI        TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85      ∞          07/03/85      25/06/07
            2 Bernardo   Zaragoza   06/03/85   15/06/07      25/06/07          uc
            3 Bernardo Torrevieja   15/06/07      ∞          25/06/07          uc

     Registro   Nombre   Ciudad       TVI        TVF            TTI           TTF
            1 Bernardo   Zaragoza   06/03/85      ∞          07/03/85      25/06/07
            2 Bernardo   Zaragoza   06/03/85   15/06/07      25/06/07          uc
            3 Bernardo Torrevieja   15/06/07      ∞          25/06/07      20/09/12

16          4 Bernardo Torrevieja   15/06/07   20/09/12      20/09/12          uc
                                                       Bases De Datos Temporales
Posible aplicación

        Una aplicación inmediata de este tipo de Bases de
         Datos es aquella que se ejecuta en un entorno
         donde se aplican cambios en Tiempo Real.
            Por ejemplo, las transacciones bancarias incluyen tiempo
            inicial de transacción y tiempo final de transacción.


        Son BD llamadas de Restauración o Rollback, ya
         que permiten retroceder al estado de la BD en un
         instante de tiempo pasado, recuperando todas las
         versiones anteriores.


17                                                   Bases De Datos Temporales
Operaciones de escritura

        Inserción: Se crea una versión actual del
         dato, TVI correspondiente y TVF = ∞.

        Eliminación: Actualiza el TVF del dato y
         pasa a ser histórico (sin ningún registro
         actual).

        Modificación: Eliminación + Inserción.

18                                     Bases De Datos Temporales
Problemas: claves y restricciones

        Las claves primarias ya no son válidas.
           ¿Qué claves primarias usamos en BDT?


        Aparecen nuevas restricciones.
           ¿Cuáles son y cómo las tratamos?




19                                       Bases De Datos Temporales
Claves (I): Intervalo

        Un intervalo es una tupla del tipo:
         –   [inicial, final]
         –   En nuestro caso: [fecha inicial, fecha final]


        Debe cumplir las siguientes restricciones:
         –   Existencia de un ordenamiento total.
         –   Existencia de inicio y fin; inicio <= fin.
         –   Función sucesora (¿granularidad?)

20                                                Bases De Datos Temporales
Claves (II): Granularidad

        Granularidad: es una partición en grupos de elementos
         ordenados en un dominio temporal.

        Gránulo: es un valor dentro de la granularidad elegida
         para un propósito.

        Para que nos entendamos…
         –   Gránulo: día.   No distinguirá entre fechas de un mismo día.
         –   Gránulo: mes.   No distinguirá entre fechas de un mismo mes.

21                                               Bases De Datos Temporales
Claves (III)

        Si usamos una BD convencional, utilizaríamos
         como clave “Nombre” (Bernardo).
        Una clave primaria en BDT debe incluir:
         –   Características de clave primaria de BD convencional
         –   Un intervalo (y por tanto sus restricciones)
         –   Restricciones de contigüidad y solapamiento.
                 Si insertas un nuevo dato con un intervalo no contiguo,
                  ERROR!
                 Si insertas un nuevo dato con un intervalo que se solapa con
                  otro, ERROR!
        Una buena clave para Bernardo es:
                                 (Nombre, TVI, TVF)
22                                                       Bases De Datos Temporales
Implementación (I)

     1.   Una sola tabla contiene todas las tuplas actuales e
          históricas.

     2.   Partición horizontal: crear dos tablas, una para la
          información válida y otra para la información
          histórica.

     3.   Partición vertical: se distribuyen los atributos de la
          relación temporal en distintas relaciones, los
          atributos que se actualizan a la vez se ponen en la
          misma relación.

23                                            Bases De Datos Temporales
Implementación.operadores(I)
        Al igual que existen operadores de entidades para el álgebra
         relacional existen operadores para tratar intervalos:

         –   START(I): primer valor del intervalo I

         –   END(I): ultimo valor del intervalo I

                                     START (I) <= END(I)

         –   IN(I): si s es un valor que cumple que s IN(i)=TRUE, si y sólo si se
             cumple:
                             ((START(I) <= s) AND (s <= END(I))

     ¡Por definición siempre hay al menos un punto I en un intervalo!

24                                                         Bases De Datos Temporales
Implementación.operadores(II)
     Operadores de comparación:
     Sean I1= [i1, f1]; I2=[i2, f2] ; intervalos de tipo INTERVAL (tp), donde I1= I2 si y sólo si i1= i2 y f1=f2

          I1 BEFORE I2:          es cierto si y sólo si f1< i2 es verdadero [i1,f1][i2,f2]

          I1 MEETS I2:           es cierto si y sólo si i2 = f1+1 ó i1 = f2+1, es decir, alguno es
                                 verdadero [i1, f1][i2=f1+1, f2] ó [i2, f2][i1=f2+1,f1])

          I1 OVERLAPS I2: es cierto si y sólo si i1 <= f2 y i2 <= f1 son ambos ciertos. Es
                          decir [i2 [i1, f1] f2] o [i1[i2, f1] f2]

          I1 DURING I2:          es cierto si y sólo si i2 <= i1 y f2 >= f1 son ambos verdaderos [i2 [i1, f1]f2]

          I1 START I2:           es cierto si y sólo si i1 = i2 y f1 <= f2 son ambos verdaderos [i1=i2,f1]f2]

          I1 FINISHES I2:        es cierto si y sólo si f1 = f2 y i1 >= i2 son ambos verdaderos [i2[i1,f1=f2]



25                                                                                    Bases De Datos Temporales
Implementación.operadores(III)
     Más operadores de comparación:
        I1 MERGES I2:      es cierto si y sólo si I1 MEETS I2 es verdadero ó I1

        OVERLAPLS I2:      es verdadero

        I1 CONTAINS I2:    es verdadero si y sólo si I2 DURING I1 es verdadero.

        DURATION (I1):     devuelve la cantidad de puntos que hay en el intervalo I1

     Operadores de intervalos que producen intervalos
        I1 UNION I2:       produce [MIN (i1,i2),MAX (f1,f2)] cuando I1 MERGES I2 es verdadero y en caso contrario
                           indefinido

        I1 INTERSECT I2:   produce [MAX(i1,i2), MIN(f1,f2)] cuando I1 OVERLAPS I2 es verdadero y queda indefinido
                           en otro caso.

     Operadores sobre conjuntos de intervalos
        UNFOLD:            desglosa intervalos en unidades menores

        COALESCE:          agrupo intervalos en unidades mayores

26                                                                           Bases De Datos Temporales
Sistemas de Gestión de BDT


       Los SGBD comerciales (Oracle,
       Sybase, Informix, O2…) NO son
          capaces de realizar gestión
           temporal en validez y en
        transacción simultáneamente.

27                         Bases De Datos Temporales
Sistemas de Gestión de BDT (II)

     Existen varias estrategias desarrolladas:

        Extensiones temporales a lenguajes existentes
         –   TSQL2


        Auténticos SGBD temporales
         –   TimeDB
         –   Tiger
         –   Time Series Cartridge

28                                         Bases De Datos Temporales
TSQL2

        TSQL2 es una extensión temporal a
         SQL92, posiblemente, la más conocida

        En 1994 un comité encabezado por
         Richard T. Snodgrass (Universidad de
         Arizona)    produjo  el   lenguaje   de
         especificación ACM SIGMOD Record,
         semilla de TSQL2, que fue diseñado en el
         mismo año

        Las construcciones e ideas de TSQL2 han
         sido propuestas para ser incorporadas a
         SQL3
29                                                  Bases De Datos Temporales
TimeDB (I)

        TimeDB es un SGBDT basado en SQL

        Fue desarrollado por Andreas Steiner
         (Instituto Federal Suizo de Tecnología,
         Zurich) en su Ph.D

        Su última versión (2.0) está basada en
         Java, usa JDBC, posee una API y ofrece
         mayor funcionalidad

        Soporta TSQL2

30                                             Bases De Datos Temporales
TimeDB (II): Ejemplos

        Queremos crear la Tabla Temporal que
         almacene a Bernardo.

           CREATE TABLE PERSONA
           (Nombre char[20], Ciudad char[20])
           AS VALIDTIME AND TRANSACTIONTIME.

           Notar que el SG debería permitir opcionalmente especificar
           la granularidad (hora, día, mes…).

31                                               Bases De Datos Temporales
TimeDB (III): Ejemplos

        Queremos insertar una fila:

           VALIDTIME PERIOD ’06/03/85-forever’
           INSERT INTO PERSONA (‘Bernardo’, ‘Zaragoza’)

           Notar que el TT debería calcularlo el SG automáticamente




32                                              Bases De Datos Temporales
TimeDB (IV): Ejemplos

        Queremos realizar una consulta:

           VALIDTIME
           SELECT CIUDAD FROM Persona
           WHERE NOMBRE=‘BERNARDO’

           Datos actuales: dónde vive Bernardo ahora.


33                                        Bases De Datos Temporales
TimeDB (V): Ejemplos

        Queremos realizar una consulta:

           TRANSACTIONTIME
           SELECT CIUDAD FROM Persona
           WHERE NOMBRE=‘BERNARDO’

           Datos históricos: dónde ha vivido Bernardo en el
           pasado.


34                                         Bases De Datos Temporales
TimeDB (VI): Ejemplos

        Queremos realizar una consulta:

           VALIDTIME AND TRANSACTIONTIME
           SELECT CIUDAD FROM Persona
           WHERE NOMBRE=‘Bernardo’

           Datos actuales e históricos: dónde ha vivido
           Bernardo en el pasado, y dónde vive ahora.


35                                         Bases De Datos Temporales
Conclusiones

        Las SGBDT amplían la potencia de muchos de los tipos
         de SGBD existentes en la actualidad.

        Podríamos crear una BDR a partir de una BDT.

        Sin embargo, si no se desea una gestión temporal,
         podríamos estar usando recursos innecesariamente.

        ¿Y si se consigue eficiencia máxima en el tratamiento
         de las fechas?
           ¿Desaparición de las BDR?
36                                          Bases De Datos Temporales
Preguntas




37               Bases De Datos Temporales

More Related Content

What's hot

Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionJosé Antonio Sandoval Acosta
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
Capitulo 1 Base de Datos
Capitulo 1 Base de DatosCapitulo 1 Base de Datos
Capitulo 1 Base de DatosAndres Andrades
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datosMaria Barrios
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidadFundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidademilio_ambrosio
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)José Toro
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Empresas con BDOO
Empresas con BDOOEmpresas con BDOO
Empresas con BDOOtec lerdo
 
Etapas en el diseño de Base de Datos
Etapas en el diseño de Base de DatosEtapas en el diseño de Base de Datos
Etapas en el diseño de Base de DatosAnielka Reyes
 

What's hot (20)

Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Capitulo 1 Base de Datos
Capitulo 1 Base de DatosCapitulo 1 Base de Datos
Capitulo 1 Base de Datos
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datos
 
Bases de Datos Multimedia
Bases de Datos MultimediaBases de Datos Multimedia
Bases de Datos Multimedia
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Fundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidadFundamentos de base de datos 1a. unidad
Fundamentos de base de datos 1a. unidad
 
Indices 1
Indices 1Indices 1
Indices 1
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Ejercicios del 1 al 9
Ejercicios del 1 al 9Ejercicios del 1 al 9
Ejercicios del 1 al 9
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Empresas con BDOO
Empresas con BDOOEmpresas con BDOO
Empresas con BDOO
 
Ejercicio 2
Ejercicio  2Ejercicio  2
Ejercicio 2
 
Etapas en el diseño de Base de Datos
Etapas en el diseño de Base de DatosEtapas en el diseño de Base de Datos
Etapas en el diseño de Base de Datos
 

Viewers also liked

DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redes
DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redesDatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redes
DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redesPablo Aragón
 
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...Pablo Aragón
 
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...Pablo Aragón
 
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide Madrid
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide MadridFrom Citizen Data to the Wisdom of the Crowds: The Case Study of Decide Madrid
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide MadridPablo Aragón
 
UAB: Análisis de redes sociales
UAB: Análisis de redes socialesUAB: Análisis de redes sociales
UAB: Análisis de redes socialesPablo Aragón
 
Elecciones 20n en Twitter
Elecciones 20n en TwitterElecciones 20n en Twitter
Elecciones 20n en TwitterPablo Aragón
 
Desarrollo de una herramienta de planificación social media
Desarrollo de una herramienta de planificación social mediaDesarrollo de una herramienta de planificación social media
Desarrollo de una herramienta de planificación social mediaPablo Aragón
 
Biographical social networks on Wikipedia
Biographical social networks on WikipediaBiographical social networks on Wikipedia
Biographical social networks on WikipediaPablo Aragón
 
Análisis de datos para la democracia
Análisis de datos para la democraciaAnálisis de datos para la democracia
Análisis de datos para la democraciaPablo Aragón
 
Not all paths lead to Rome: Analysing the network of sister cities
Not all paths lead to Rome: Analysing the network of sister citiesNot all paths lead to Rome: Analysing the network of sister cities
Not all paths lead to Rome: Analysing the network of sister citiesAndreas Kaltenbrunner
 
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...Pablo Aragón
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaPablo Aragón
 
Datactic, Data with Tactics
Datactic, Data with TacticsDatactic, Data with Tactics
Datactic, Data with TacticsPablo Aragón
 
Who are my Audiences? Evolution of Target Audiences in Microblogs
Who are my Audiences? Evolution of Target Audiences in MicroblogsWho are my Audiences? Evolution of Target Audiences in Microblogs
Who are my Audiences? Evolution of Target Audiences in MicroblogsRuth Garcia Gavilanes
 
The missing link between Network Science and the Social Media Monitoring indu...
The missing link between Network Science and the Social Media Monitoring indu...The missing link between Network Science and the Social Media Monitoring indu...
The missing link between Network Science and the Social Media Monitoring indu...Pablo Aragón
 
Assessing inter-cultural patterns through ranking biographiesBiographies
Assessing inter-cultural patterns through ranking biographiesBiographiesAssessing inter-cultural patterns through ranking biographiesBiographies
Assessing inter-cultural patterns through ranking biographiesBiographiesPablo Aragón
 
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...Pablo Aragón
 
Spanish indignados and the evolution of #15M: Towards networked para-institut...
Spanish indignados and the evolution of #15M: Towards networked para-institut...Spanish indignados and the evolution of #15M: Towards networked para-institut...
Spanish indignados and the evolution of #15M: Towards networked para-institut...Pablo Aragón
 

Viewers also liked (20)

DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redes
DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redesDatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redes
DatAnalysis15M: Evolución del sistema-red 15m a través de la topología de redes
 
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...
Tweeting the campaign: Evaluation of the Strategies performed by Spanish Poli...
 
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...
Graph Visualization Tool for Twittersphere users based on a high-scalable Ext...
 
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide Madrid
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide MadridFrom Citizen Data to the Wisdom of the Crowds: The Case Study of Decide Madrid
From Citizen Data to the Wisdom of the Crowds: The Case Study of Decide Madrid
 
UAB: Análisis de redes sociales
UAB: Análisis de redes socialesUAB: Análisis de redes sociales
UAB: Análisis de redes sociales
 
3t presentation
3t presentation3t presentation
3t presentation
 
Elecciones 20n en Twitter
Elecciones 20n en TwitterElecciones 20n en Twitter
Elecciones 20n en Twitter
 
Desarrollo de una herramienta de planificación social media
Desarrollo de una herramienta de planificación social mediaDesarrollo de una herramienta de planificación social media
Desarrollo de una herramienta de planificación social media
 
Smmart for partners
Smmart for partnersSmmart for partners
Smmart for partners
 
Biographical social networks on Wikipedia
Biographical social networks on WikipediaBiographical social networks on Wikipedia
Biographical social networks on Wikipedia
 
Análisis de datos para la democracia
Análisis de datos para la democraciaAnálisis de datos para la democracia
Análisis de datos para la democracia
 
Not all paths lead to Rome: Analysing the network of sister cities
Not all paths lead to Rome: Analysing the network of sister citiesNot all paths lead to Rome: Analysing the network of sister cities
Not all paths lead to Rome: Analysing the network of sister cities
 
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...
When a Movement Becomes a Party: Computational Assessment of New Forms of Pol...
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consola
 
Datactic, Data with Tactics
Datactic, Data with TacticsDatactic, Data with Tactics
Datactic, Data with Tactics
 
Who are my Audiences? Evolution of Target Audiences in Microblogs
Who are my Audiences? Evolution of Target Audiences in MicroblogsWho are my Audiences? Evolution of Target Audiences in Microblogs
Who are my Audiences? Evolution of Target Audiences in Microblogs
 
The missing link between Network Science and the Social Media Monitoring indu...
The missing link between Network Science and the Social Media Monitoring indu...The missing link between Network Science and the Social Media Monitoring indu...
The missing link between Network Science and the Social Media Monitoring indu...
 
Assessing inter-cultural patterns through ranking biographiesBiographies
Assessing inter-cultural patterns through ranking biographiesBiographiesAssessing inter-cultural patterns through ranking biographiesBiographies
Assessing inter-cultural patterns through ranking biographiesBiographies
 
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...
To Thread or Not to Thread: The Impact of Conversation Threading on Online Di...
 
Spanish indignados and the evolution of #15M: Towards networked para-institut...
Spanish indignados and the evolution of #15M: Towards networked para-institut...Spanish indignados and the evolution of #15M: Towards networked para-institut...
Spanish indignados and the evolution of #15M: Towards networked para-institut...
 

More from Pablo Aragón

A preliminary approach to knowledge integrity risk assessment in Wikipedia p...
A preliminary approach to knowledge integrity  risk assessment in Wikipedia p...A preliminary approach to knowledge integrity  risk assessment in Wikipedia p...
A preliminary approach to knowledge integrity risk assessment in Wikipedia p...Pablo Aragón
 
Civic Technologies: Research, Practice, and Open Challenges
Civic Technologies: Research, Practice, and Open ChallengesCivic Technologies: Research, Practice, and Open Challenges
Civic Technologies: Research, Practice, and Open ChallengesPablo Aragón
 
Characterizing Online Participation in Civic Technologies - PhD
Characterizing Online Participation in Civic Technologies - PhDCharacterizing Online Participation in Civic Technologies - PhD
Characterizing Online Participation in Civic Technologies - PhDPablo Aragón
 
The DECODE Ecosystem: Tools for citizens’ data sovereignty in Barcelona
The DECODE Ecosystem: Tools for citizens’ data sovereignty in BarcelonaThe DECODE Ecosystem: Tools for citizens’ data sovereignty in Barcelona
The DECODE Ecosystem: Tools for citizens’ data sovereignty in BarcelonaPablo Aragón
 
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...Pablo Aragón
 
DECODE project: Barcelona pilots
DECODE project: Barcelona pilotsDECODE project: Barcelona pilots
DECODE project: Barcelona pilotsPablo Aragón
 
Generative models of online discussion threads (ASONAM 2018 tutorial)
Generative models of online discussion threads (ASONAM 2018 tutorial)Generative models of online discussion threads (ASONAM 2018 tutorial)
Generative models of online discussion threads (ASONAM 2018 tutorial)Pablo Aragón
 
Online Petitioning Through Data Exploration and What We Found There: A Datase...
Online Petitioning Through Data Exploration and What We Found There: A Datase...Online Petitioning Through Data Exploration and What We Found There: A Datase...
Online Petitioning Through Data Exploration and What We Found There: A Datase...Pablo Aragón
 
Decidim: Visualización de datos para la innovación democrática
Decidim: Visualización de datos para la innovación democráticaDecidim: Visualización de datos para la innovación democrática
Decidim: Visualización de datos para la innovación democráticaPablo Aragón
 
Data Science in the era of Fake News
Data Science in the era of Fake NewsData Science in the era of Fake News
Data Science in the era of Fake NewsPablo Aragón
 
Datos para la participación
Datos para la participaciónDatos para la participación
Datos para la participaciónPablo Aragón
 
Decidim en redes sociales
Decidim en redes socialesDecidim en redes sociales
Decidim en redes socialesPablo Aragón
 
The dynamics of a social convention
The dynamics of a social conventionThe dynamics of a social convention
The dynamics of a social conventionPablo Aragón
 
Discussions and decisions on Decidim Barcelona
Discussions and decisions on Decidim BarcelonaDiscussions and decisions on Decidim Barcelona
Discussions and decisions on Decidim BarcelonaPablo Aragón
 
Computational Framework for the Assessment of New Forms of Political Organiza...
Computational Framework for the Assessment of New Forms of Political Organiza...Computational Framework for the Assessment of New Forms of Political Organiza...
Computational Framework for the Assessment of New Forms of Political Organiza...Pablo Aragón
 
4th Databeers BCN - When a movement becomes a party
4th Databeers BCN - When a movement becomes a party4th Databeers BCN - When a movement becomes a party
4th Databeers BCN - When a movement becomes a partyPablo Aragón
 

More from Pablo Aragón (19)

A preliminary approach to knowledge integrity risk assessment in Wikipedia p...
A preliminary approach to knowledge integrity  risk assessment in Wikipedia p...A preliminary approach to knowledge integrity  risk assessment in Wikipedia p...
A preliminary approach to knowledge integrity risk assessment in Wikipedia p...
 
Civic Technologies: Research, Practice, and Open Challenges
Civic Technologies: Research, Practice, and Open ChallengesCivic Technologies: Research, Practice, and Open Challenges
Civic Technologies: Research, Practice, and Open Challenges
 
Characterizing Online Participation in Civic Technologies - PhD
Characterizing Online Participation in Civic Technologies - PhDCharacterizing Online Participation in Civic Technologies - PhD
Characterizing Online Participation in Civic Technologies - PhD
 
The DECODE Ecosystem: Tools for citizens’ data sovereignty in Barcelona
The DECODE Ecosystem: Tools for citizens’ data sovereignty in BarcelonaThe DECODE Ecosystem: Tools for citizens’ data sovereignty in Barcelona
The DECODE Ecosystem: Tools for citizens’ data sovereignty in Barcelona
 
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...
Sistema interactivo para el descubrimiento de temas y propuestas de Decide Ma...
 
DECODE project: Barcelona pilots
DECODE project: Barcelona pilotsDECODE project: Barcelona pilots
DECODE project: Barcelona pilots
 
Labmeeting18
Labmeeting18Labmeeting18
Labmeeting18
 
Generative models of online discussion threads (ASONAM 2018 tutorial)
Generative models of online discussion threads (ASONAM 2018 tutorial)Generative models of online discussion threads (ASONAM 2018 tutorial)
Generative models of online discussion threads (ASONAM 2018 tutorial)
 
Online Petitioning Through Data Exploration and What We Found There: A Datase...
Online Petitioning Through Data Exploration and What We Found There: A Datase...Online Petitioning Through Data Exploration and What We Found There: A Datase...
Online Petitioning Through Data Exploration and What We Found There: A Datase...
 
Decidim: Visualización de datos para la innovación democrática
Decidim: Visualización de datos para la innovación democráticaDecidim: Visualización de datos para la innovación democrática
Decidim: Visualización de datos para la innovación democrática
 
Data Science in the era of Fake News
Data Science in the era of Fake NewsData Science in the era of Fake News
Data Science in the era of Fake News
 
Uk seminar
Uk seminarUk seminar
Uk seminar
 
Datos para la participación
Datos para la participaciónDatos para la participación
Datos para la participación
 
Lab metadecidim
Lab metadecidimLab metadecidim
Lab metadecidim
 
Decidim en redes sociales
Decidim en redes socialesDecidim en redes sociales
Decidim en redes sociales
 
The dynamics of a social convention
The dynamics of a social conventionThe dynamics of a social convention
The dynamics of a social convention
 
Discussions and decisions on Decidim Barcelona
Discussions and decisions on Decidim BarcelonaDiscussions and decisions on Decidim Barcelona
Discussions and decisions on Decidim Barcelona
 
Computational Framework for the Assessment of New Forms of Political Organiza...
Computational Framework for the Assessment of New Forms of Political Organiza...Computational Framework for the Assessment of New Forms of Political Organiza...
Computational Framework for the Assessment of New Forms of Political Organiza...
 
4th Databeers BCN - When a movement becomes a party
4th Databeers BCN - When a movement becomes a party4th Databeers BCN - When a movement becomes a party
4th Databeers BCN - When a movement becomes a party
 

Recently uploaded

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Recently uploaded (16)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Bases de datos temporales

  • 1. Bases de Datos Temporales Aragón Asenjo, Pablo Iturrate Gil, Iñaki Asier “Cualquier tiempo pasado fue anterior” Les Luthiers
  • 2. Índice – Definición de Base de Datos Temporal (BDT) – Motivación de las BDT – Relaciones bitemporales (Ejemplo) – Operaciones – Problemas – Implementación – Sistemas de Gestión de BDT (TimeDB) – Conclusiones 2 Bases De Datos Temporales
  • 3. ¿Qué NO es una Base de Datos Temporal?  Si insertamos información en la Base de Datos y jamás la modificamos ni la borramos, tenemos una Base de Datos Histórica.  Si la Base de Datos sólo contiene datos actuales, tenemos una Base de Datos Instantánea. Cuando la información de los datos deja de ser cierta se actualiza o se elimina el registro anterior. 3 Bases De Datos Temporales
  • 4. ¿Qué es una Base de Datos Temporal? Una Base de Datos Temporal es aquella que almacena datos históricos y datos actuales. 4 Bases De Datos Temporales
  • 5. Motivación  Muchas de las aplicaciones de tecnología de bases de datos son temporales por naturaleza.  Desarrollar un modelo que potencie la gestión temporal de la información: – Finanzas: Cotizaciones bursátiles, contabilidad, cuentas bancarias... – Reservas: Vuelos, trenes, hoteles... – Ciencia: Monitorización meteorológica... – Recursos humanos – Registros sanitarios – … 5 Bases De Datos Temporales
  • 6. Ejemplo: Bernardo (I)  Bernardo Sabina nació un soleado 6 de marzo de 1985 en Zaragoza. Su madre registró su nacimiento al día siguiente.  Tras acabar sus estudios de Ingeniería el 15 de junio de 2007, Bernardo se mudó ese mismo día a Torrevieja a vender hamburguesas con queso.  Sin embargo, no registró su mudanza hasta el 25 de junio, ya que tenía una competición nacional de tenis de mesa.  Pese a tener un futuro prometedor, Bernardo murió el 20 de septiembre 2012 de un baldosazo en la cabeza en el CPS, cuando iba a ver la presentación del PFC de su hermano. El equipo forense CpSI registró su muerte el mismo día. 6 Bases De Datos Temporales
  • 7. Ejemplo: Bernardo (II) ¿Qué transacciones SQL se realizarían con una base de datos convencional? 7 Bases De Datos Temporales
  • 8. Ejemplo: Bernardo (III) Fecha Hecho ocurrido Acción de la BD Vista en la BD 6/03/1985 Nace Bernardo. - - Se registra su Inserción: Bernardo vive en 7/03/1985 nacimiento. (Bernardo,Zaragoza) Zaragoza. Bernardo se muda a Bernardo vive en 15/06/2007 - Torrevieja. Zaragoza. Bernardo registra la Actualización: Bernardo vive en 25/06/2007 mudanza. (Bernardo,Torrevieja) Torrevieja. Bernardo muere; se Borrado: 20/09/2012 - registra el hecho. Bernardo […] […] […] […] 8 Bases De Datos Temporales
  • 9. Ejemplo: Bernardo (IV)  Tiempo de Validez (TV): se define como el periodo en el que un hecho es cierto en el mundo real. Por ejemplo, el TV de (Bernardo, Zaragoza) es 06/03/85-15/06/07. 9 Bases De Datos Temporales
  • 10. Ejemplo: Bernardo.TablaTV (I) Nombre Ciudad TVI TVF Bernardo Zaragoza 06/03/1985 ∞ 10 Bases De Datos Temporales
  • 11. Ejemplo: Bernardo.TablaTV (II) Nombre Ciudad TVI TVF Bernardo Zaragoza 06/03/1985 ∞ Nombre Ciudad TVI TVF Bernardo Torrevieja 15/06/2007 ∞ 11 Bases De Datos Temporales
  • 12. Ejemplo: Bernardo.TablaTV (III) Nombre Ciudad TVI TVF Bernardo Zaragoza 06/03/1985 ∞ Nombre Ciudad TVI TVF Bernardo Torrevieja 15/06/2007 ∞ Nombre Ciudad TVI TVF Bernardo Zaragoza 06/03/1985 15/06/2007 Bernardo Torrevieja 15/06/2007 ∞ 12 Bases De Datos Temporales
  • 13. Ejemplo: Bernardo (V)  Tiempo de Transacción (TT): se define como el tiempo en el que se ha incluido el hecho en la base de datos.  Datos bitemporales: son aquellos que combinan (almacenan) TV y TT – Tiempo de validez inicial (TVI) – Tiempo de validez final (TVF) – Tiempo de transacción inicial (TTI) – Tiempo de transacción final (TTF) 13 Bases De Datos Temporales
  • 14. Ejemplo: Bernardo.TablaTT (I) Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 uc 14 Bases De Datos Temporales
  • 15. Ejemplo: Bernardo.TablaTT (II) Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 uc Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 25/06/07 2 Bernardo Zaragoza 06/03/85 15/06/07 25/06/07 uc 3 Bernardo Torrevieja 15/06/07 ∞ 25/06/07 uc 15 Bases De Datos Temporales
  • 16. Ejemplo: Bernardo.TablaTT (III) Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 uc Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 25/06/07 2 Bernardo Zaragoza 06/03/85 15/06/07 25/06/07 uc 3 Bernardo Torrevieja 15/06/07 ∞ 25/06/07 uc Registro Nombre Ciudad TVI TVF TTI TTF 1 Bernardo Zaragoza 06/03/85 ∞ 07/03/85 25/06/07 2 Bernardo Zaragoza 06/03/85 15/06/07 25/06/07 uc 3 Bernardo Torrevieja 15/06/07 ∞ 25/06/07 20/09/12 16 4 Bernardo Torrevieja 15/06/07 20/09/12 20/09/12 uc Bases De Datos Temporales
  • 17. Posible aplicación  Una aplicación inmediata de este tipo de Bases de Datos es aquella que se ejecuta en un entorno donde se aplican cambios en Tiempo Real. Por ejemplo, las transacciones bancarias incluyen tiempo inicial de transacción y tiempo final de transacción.  Son BD llamadas de Restauración o Rollback, ya que permiten retroceder al estado de la BD en un instante de tiempo pasado, recuperando todas las versiones anteriores. 17 Bases De Datos Temporales
  • 18. Operaciones de escritura  Inserción: Se crea una versión actual del dato, TVI correspondiente y TVF = ∞.  Eliminación: Actualiza el TVF del dato y pasa a ser histórico (sin ningún registro actual).  Modificación: Eliminación + Inserción. 18 Bases De Datos Temporales
  • 19. Problemas: claves y restricciones  Las claves primarias ya no son válidas. ¿Qué claves primarias usamos en BDT?  Aparecen nuevas restricciones. ¿Cuáles son y cómo las tratamos? 19 Bases De Datos Temporales
  • 20. Claves (I): Intervalo  Un intervalo es una tupla del tipo: – [inicial, final] – En nuestro caso: [fecha inicial, fecha final]  Debe cumplir las siguientes restricciones: – Existencia de un ordenamiento total. – Existencia de inicio y fin; inicio <= fin. – Función sucesora (¿granularidad?) 20 Bases De Datos Temporales
  • 21. Claves (II): Granularidad  Granularidad: es una partición en grupos de elementos ordenados en un dominio temporal.  Gránulo: es un valor dentro de la granularidad elegida para un propósito.  Para que nos entendamos… – Gránulo: día. No distinguirá entre fechas de un mismo día. – Gránulo: mes. No distinguirá entre fechas de un mismo mes. 21 Bases De Datos Temporales
  • 22. Claves (III)  Si usamos una BD convencional, utilizaríamos como clave “Nombre” (Bernardo).  Una clave primaria en BDT debe incluir: – Características de clave primaria de BD convencional – Un intervalo (y por tanto sus restricciones) – Restricciones de contigüidad y solapamiento.  Si insertas un nuevo dato con un intervalo no contiguo, ERROR!  Si insertas un nuevo dato con un intervalo que se solapa con otro, ERROR!  Una buena clave para Bernardo es: (Nombre, TVI, TVF) 22 Bases De Datos Temporales
  • 23. Implementación (I) 1. Una sola tabla contiene todas las tuplas actuales e históricas. 2. Partición horizontal: crear dos tablas, una para la información válida y otra para la información histórica. 3. Partición vertical: se distribuyen los atributos de la relación temporal en distintas relaciones, los atributos que se actualizan a la vez se ponen en la misma relación. 23 Bases De Datos Temporales
  • 24. Implementación.operadores(I)  Al igual que existen operadores de entidades para el álgebra relacional existen operadores para tratar intervalos: – START(I): primer valor del intervalo I – END(I): ultimo valor del intervalo I START (I) <= END(I) – IN(I): si s es un valor que cumple que s IN(i)=TRUE, si y sólo si se cumple: ((START(I) <= s) AND (s <= END(I)) ¡Por definición siempre hay al menos un punto I en un intervalo! 24 Bases De Datos Temporales
  • 25. Implementación.operadores(II) Operadores de comparación: Sean I1= [i1, f1]; I2=[i2, f2] ; intervalos de tipo INTERVAL (tp), donde I1= I2 si y sólo si i1= i2 y f1=f2 I1 BEFORE I2: es cierto si y sólo si f1< i2 es verdadero [i1,f1][i2,f2] I1 MEETS I2: es cierto si y sólo si i2 = f1+1 ó i1 = f2+1, es decir, alguno es verdadero [i1, f1][i2=f1+1, f2] ó [i2, f2][i1=f2+1,f1]) I1 OVERLAPS I2: es cierto si y sólo si i1 <= f2 y i2 <= f1 son ambos ciertos. Es decir [i2 [i1, f1] f2] o [i1[i2, f1] f2] I1 DURING I2: es cierto si y sólo si i2 <= i1 y f2 >= f1 son ambos verdaderos [i2 [i1, f1]f2] I1 START I2: es cierto si y sólo si i1 = i2 y f1 <= f2 son ambos verdaderos [i1=i2,f1]f2] I1 FINISHES I2: es cierto si y sólo si f1 = f2 y i1 >= i2 son ambos verdaderos [i2[i1,f1=f2] 25 Bases De Datos Temporales
  • 26. Implementación.operadores(III) Más operadores de comparación: I1 MERGES I2: es cierto si y sólo si I1 MEETS I2 es verdadero ó I1 OVERLAPLS I2: es verdadero I1 CONTAINS I2: es verdadero si y sólo si I2 DURING I1 es verdadero. DURATION (I1): devuelve la cantidad de puntos que hay en el intervalo I1 Operadores de intervalos que producen intervalos I1 UNION I2: produce [MIN (i1,i2),MAX (f1,f2)] cuando I1 MERGES I2 es verdadero y en caso contrario indefinido I1 INTERSECT I2: produce [MAX(i1,i2), MIN(f1,f2)] cuando I1 OVERLAPS I2 es verdadero y queda indefinido en otro caso. Operadores sobre conjuntos de intervalos UNFOLD: desglosa intervalos en unidades menores COALESCE: agrupo intervalos en unidades mayores 26 Bases De Datos Temporales
  • 27. Sistemas de Gestión de BDT Los SGBD comerciales (Oracle, Sybase, Informix, O2…) NO son capaces de realizar gestión temporal en validez y en transacción simultáneamente. 27 Bases De Datos Temporales
  • 28. Sistemas de Gestión de BDT (II) Existen varias estrategias desarrolladas:  Extensiones temporales a lenguajes existentes – TSQL2  Auténticos SGBD temporales – TimeDB – Tiger – Time Series Cartridge 28 Bases De Datos Temporales
  • 29. TSQL2  TSQL2 es una extensión temporal a SQL92, posiblemente, la más conocida  En 1994 un comité encabezado por Richard T. Snodgrass (Universidad de Arizona) produjo el lenguaje de especificación ACM SIGMOD Record, semilla de TSQL2, que fue diseñado en el mismo año  Las construcciones e ideas de TSQL2 han sido propuestas para ser incorporadas a SQL3 29 Bases De Datos Temporales
  • 30. TimeDB (I)  TimeDB es un SGBDT basado en SQL  Fue desarrollado por Andreas Steiner (Instituto Federal Suizo de Tecnología, Zurich) en su Ph.D  Su última versión (2.0) está basada en Java, usa JDBC, posee una API y ofrece mayor funcionalidad  Soporta TSQL2 30 Bases De Datos Temporales
  • 31. TimeDB (II): Ejemplos  Queremos crear la Tabla Temporal que almacene a Bernardo. CREATE TABLE PERSONA (Nombre char[20], Ciudad char[20]) AS VALIDTIME AND TRANSACTIONTIME. Notar que el SG debería permitir opcionalmente especificar la granularidad (hora, día, mes…). 31 Bases De Datos Temporales
  • 32. TimeDB (III): Ejemplos  Queremos insertar una fila: VALIDTIME PERIOD ’06/03/85-forever’ INSERT INTO PERSONA (‘Bernardo’, ‘Zaragoza’) Notar que el TT debería calcularlo el SG automáticamente 32 Bases De Datos Temporales
  • 33. TimeDB (IV): Ejemplos  Queremos realizar una consulta: VALIDTIME SELECT CIUDAD FROM Persona WHERE NOMBRE=‘BERNARDO’ Datos actuales: dónde vive Bernardo ahora. 33 Bases De Datos Temporales
  • 34. TimeDB (V): Ejemplos  Queremos realizar una consulta: TRANSACTIONTIME SELECT CIUDAD FROM Persona WHERE NOMBRE=‘BERNARDO’ Datos históricos: dónde ha vivido Bernardo en el pasado. 34 Bases De Datos Temporales
  • 35. TimeDB (VI): Ejemplos  Queremos realizar una consulta: VALIDTIME AND TRANSACTIONTIME SELECT CIUDAD FROM Persona WHERE NOMBRE=‘Bernardo’ Datos actuales e históricos: dónde ha vivido Bernardo en el pasado, y dónde vive ahora. 35 Bases De Datos Temporales
  • 36. Conclusiones  Las SGBDT amplían la potencia de muchos de los tipos de SGBD existentes en la actualidad.  Podríamos crear una BDR a partir de una BDT.  Sin embargo, si no se desea una gestión temporal, podríamos estar usando recursos innecesariamente.  ¿Y si se consigue eficiencia máxima en el tratamiento de las fechas? ¿Desaparición de las BDR? 36 Bases De Datos Temporales
  • 37. Preguntas 37 Bases De Datos Temporales