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)