Banco de Dados Temporais (BDT) KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Linguagem TSQL2 Extensão do SQL; 1995 - Linguagem padrão para tratar aspectos temporais; Suporte a: Tipo de dados; Linhas de tempo; Suporte para tempo transação e para tempo de validade; Linguagem TSQL2 Tipo de dados; Date time e interval – instants, intervals e spans; Surrogate – utilizado como identificador único para objetos que possuem atributos temporais, mas não substitui a chave da tabela; Seus valores não podem ser visto pelo usuário. Linguagem TSQL2 Linhas de tempo; Tres linhas de tempo: Tempo definido pelo usuário; Tempo de validade – inicio e fim do tempo de validade (begginning e forever); Tempo de transação – inception (quando a tupla é criada) e until changed (quando ocorre uma alteração na tupla) Linguagem TSQL2 Suporte para tempo transação e para tempo de validade; Cada tupla é rotulada com um elemento temporal; Nome Salário Begginning Forever Inception Ana 20000 01/01/1991 - 15/01/1991 Antonio 10000 01/01/1992 01/01/2000 20/01/1992 Antonio 15000 01/01/2000 - 01/01/2000 Until Changed 02/01/2000 Linguagem TSQL2 Não é possível encontrar um SGBD totalmente temporal, algumas funcionalidades podem ser encontradas outras não; Como solução existem as camadas de software que simulam essa funcionalidade; Linguagem TSQL2 Exemplo de consulta: Listar o nome de todos os colaboradores que trabalharam na empresa ao mesmo tempo que João esteve no departamento de brinquedos. SELECT C1.nome FROM Colaborador C1, Colaborador C2 WHERE C2.nome = “João” AND C2.Dept = “Brinquedos” AND valid(C1) OVERLAPS valid(C2)