kamila t. lyra karina c. s. nishimura thiago p. colonhezi william s. strafacce banco de dados...

31
KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

Upload: internet

Post on 18-Apr-2015

113 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

KAMILA T. LYRAKARINA C . S . N ISHIMURA

THIAGO P. COLONHEZIWILL IAM S . STRAFACCE

Banco de Dados Temporais (BDT)

Page 2: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM 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

Page 3: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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].

Page 4: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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.

Page 5: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 6: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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.

Page 7: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 8: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 9: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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.

Page 10: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 11: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 12: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 13: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 14: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 15: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 16: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 17: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 18: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 19: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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.

Page 20: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 21: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 22: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

Linguagem de consulta visual

Page 23: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

Linguagem de consulta visual

Page 24: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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;

Page 25: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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.

Page 26: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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)

Page 27: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 28: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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)

Page 29: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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;

Page 30: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

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

Page 31: KAMILA T. LYRA KARINA C. S. NISHIMURA THIAGO P. COLONHEZI WILLIAM S. STRAFACCE Banco de Dados Temporais (BDT)

Desvantagens

Numero elevado de relacionamentos

Redundância no armazenamento dos dados

Grande volume de dados a serem armazenados