KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados...

Post on 18-Apr-2015

113 views 1 download

Transcript of KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados...

KAMILA T. LYRAKARINA C . S . N ISHIMURA

THIAGO P. COLONHEZIWILL IAM S . STRAFACCE

Banco de Dados Temporais (BDT)

BDT - Introdução

Bancos de dados convencionais: Manter dados atuais

Bancos de dados temporais: Manter evolução temporal dos dados

Informações históricas Associar informações temporais aos

dados rótulos temporais associados aos objetos

do banco de dados temporal

BDT - Introdução

Bancos de dados temporais permitem armazenar e recuperar todos os estados de uma aplicação (atual, passado e futuro previsto), registrando sua evolução com o passar do tempo [Edelweiss,1998].

BDT – Conceitos de Tempo (1/3)

Dimensão TemporalTipos de dados temporais:

Instante: momento em que ocorre um evento.

Período: intervalo entre dois instantes diferentes e conhecidos

Intervalo: tempo entre dois instantes diferentes. Sabe-se sua duração, mas não quando começa ou termina.

BDT – Conceitos de Tempo (2/3)

Tipos de Tempo Transação

Tempo no qual o fato é registrado no banco de dados.

Validade Tempo em que o valor é válido na realidade

modelada. Definido pelo usuário

propriedades temporais definidas explicitamente pelos usuários em um domínio temporal e manipuladas pelos programas da aplicação

BDT – Conceitos de Tempo (3/3)

Ordem no tempo Linear

Presume-se que o tempo flui linearmente, entre dois pontos, do passado para o futuro.

Ramificada Um dado pode ter diversos sucessores ou predecessores. Ex: Uma certa decisão pode gerar um entre diversas

opções de resultados. Circular

Dados que se repetem ao longo de um período de tempo. Ex: Datas de promoções de vendas que se repetem todo

ano.

BDT – Classificações (1/4)

Bancos de Dados Instantâneos Apenas armazena o estado presente SQL tradicional Para aplicar controle temporal:

Criação explícita de atributos definindo as datas associadas ao registro.

Controle destes atributos deverá ser feito manualmente pelo desenvolvedor da aplicação

BDT - Classificações (2/4)

Bancos de Dados de Tempo de Transação Adicionar um rótulo com a data de cada transação

realizada sobre um registro Transparente ao desenvolvedor (implícito) Não apaga registros anteriores à transação Presente e Passado

BDT - Classificações (3/4)

Bancos de Dados de Tempo de Validade Armazena a data de validade do registro (quando

os dados passarão a ser válidos no sistema), cujo controle é responsabilidade do usuário

A partir da data 15/07/04 o salário do José passa a ser R$900,00.

BDT - Classificações (4/4)

Bancos de Dados Bitemporais Associa tanto o tempo de transação como o tempo de

validade ao registro. Fornece acesso a todo o histórico de alterações com

suas respectivas validades

Consultas a bancos de dados temporais.

BDT – Linguagem de consulta temporalDeve possibilitar a recuperação de

informações: Temporais Não temporais

Tirar real proveito da utilização da dimensão temporal

Enriquecida para manipular a dimensão temporal Deduzir valores não explicitamente armazenados

Consultas temporais. Exemplos

Recuperar valores de domínio temporal selecione o valor da propriedade Data_de_Nascimento

Referir-se a um instante ou intervalo selecione o valor do salario no dia 01/01/11

Recuperar valores com base no tempo selecionar todos os valores do salario antes do dia

01/01/11 Fornecer informações temporais(pontos,

intervalos) quando foi alterado o salário do funcionário

Problemas em consultas temporais

Necessidade de novos métodos de indexação grande volume de dados métodos tradicionais só servem para valores já

ordenadosManipulação de informações incompletas

incerteza sobre a existência de objetos eventos que não se sabe quando ocorreram

Tipos de BDTs e as consultas 1/2

Instantâneos: não permite consultas temporais, apenas armazena o

estado presente do BD.Tempo de transação:

permite consultar tempos atuais e passados ex: qual o salário do funcionário na data 01/01/1993

Tipos de BDTs e as consultas 2/2

Tempo de validade: permite recuperar valores de previsão para o futuro

que estejam armazenados ex: selecione o salário do funcionário em 01//02/2012

Bitemporais: permite consultar tempos passados, atuais e futuros:

história do BDT história presente historia passada: definir data de limite Desejo conhecer a história passada até o dia

20/09/2012

Consultas temporais

Componente de seleção: condição lógica Sobre os dados – condições estabelecidas somente

sobre os valores de dados. Ex: selecionar os empregados que nasceram antes de 01/01/1980

Temporal – somente as informações temporais são analisadas. Ex: selecionar todos os empregados da empresa durante 01/01/2000 a 31/12/2010

Consultas temporais

Mista – atua nos dados e nas informações. Ex: selecione todos os empregados que ganham mais que 2000 no período de 01/01/2000 a 31/12/2010

Consultas temporais

Componente de saída: valores solicitados De dados - retorna exclusivamente valores de dados.

Ex: selecionar os nomes dos funcionários do departamentos de entregas que entraram a partir do dia 01/01/2000

Temporais – traz informações temporais, pontos, intervalos. Ex: selecionar todos os períodos nos quais os funcionários do departamento de entregas ganharam mais que 2000

Consultas Temporais

Mistas – recuperam valores de dados e valores temporais. Ex: selecionar os valores do salário e os respectivos tempos de validade para o empregado chamado João

A única combinação que não pode ser utilizada é a de seleção temporal com saída temporal, devemos ter algum dado envolvido em pelo menos um dos componentes.

Consultas e orientação a objeto

As informações temporais no modelo e dados orientado a objetos são associadas aos objetos e aos atributos

requer propriedades especiais para a recuperação de informações

Linguagem de consulta visual

Linguagem de consulta textual: TSQL2 Exige que o usuário conheça sua sintaxe e o esquema

do BDT.Linguagem de consulta visual: Visual Query

System TF-ORM [97] Permite que o usuário faça a consulta utilizando

símbolos visuais e regras para utilizados Melhor percepção da realidade

Linguagem de consulta visual

Linguagem de consulta visual

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 Until Changed

Ana 20000 01/01/1991 - 15/01/1991

Antonio 10000 01/01/1992 01/01/2000

20/01/1992 02/01/2000

Antonio 15000 01/01/2000 - 02/01/2000

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)

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;

Vantagens

Histórico de manipulação de registros

Agilidade em consultas simultâneas

Relaciona ocorrência x tempo

Possibilita analisar dados históricos e prever um cenário futuro

Desvantagens

Numero elevado de relacionamentos

Redundância no armazenamento dos dados

Grande volume de dados a serem armazenados