38
Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Embed Size (px)

Citation preview

Page 1: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Alunos: Bruno Zacchi RausisGustavo Soares

Leonardo DefentiRodrigo Becker Rabello

Page 2: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

A maior parte das aplicações atuais têm a necessidade de manipular dados históricos - dados relativos a estados passado da aplicação.

O interesse em registrar a evolução dos estados de uma aplicação como o passar do tempo.

Page 3: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Os SGBDs convencionais não fornecem suporte a estas informações

Nas últimas décadas, muitas pesquisas na área de Bancos de Dados Temporais vem sendo realizadas, com o objetivo de definir conceitos e estratégias para tratar de informações históricas.

Page 4: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Bancos de Dados Temporais permitem armazenar todos os estados de uma aplicação (passado, presente e futuro), registrando sua evolução no tempo.

Bancos de Dados Temporais são aqueles que apresentam alguma forma implícita de representação de informações temporais.

Page 5: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Os modelos de dados tradicionais apresentam duas dimensões : As instâncias dos dados (linhas das tabelas) e os atributos de cada instancia (colunas das tabelas).

Nos modelos tradicionais , cada atributo de uma instância apresenta apenas um valor. Se for feito uma alteração deste valor, o anterior será perdido.

Page 6: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

• Os modelos de dados Temporais acrescentam uma dimensão em relação aos tradicionais, a dimensão temporal. Esta dimensão associa alguma informação temporal a cada valor.

• No caso de uma alteração de um valor de um atributo, o anterior não é perdido. O novo valor é acrescentado a tabela associado a alguma informação temporal.

• Deste modo, é possível analisar a evolução temporal dos valores de atributos.

Page 7: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

A dimensão temporal é composta por uma sequência de pontos consecutivos no tempo, que recebe o nome do eixo temporal.

O mais comum é que se assuma que o tempo flui linearmente. Em alguns casos pode ser considerado tempo ramificado, tanto com ramificação para o futuro como para o passado. Uma ultima forma de ordenação temporal é considerar o tempo circular.

Page 8: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Ordem Linear: Forma mais usada, cada dado possui no máximo um sucessor e no máximo um antecessor. Aplicações Usuais:

-evolução do salário de um empregado;

Page 9: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Ordem Ramificada: Um dado pode ter vários sucessores e/ou predecessores.Aplicações Usuais:

– alternativas para o capítulo final de uma novela(futuro ramificado);

– hipóteses para a evolução do homem até os dias de hoje (passado ramificado);

Page 10: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Ordem Circular: Um conjunto de dados se repete periodicamente em uma certa ordem

Aplicações Usuais: – períodos de promoção de uma loja: verão, páscoa,dia das mães, outono-inverno, dia dos pais;

Page 11: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Bancos de Dados de Tempo Instantâneo. Bancos de Dados de Tempo de

Transação. Bancos de Dados de Tempo de Validade. Bancos de Dados de Tempo Bitemporais.

Page 12: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Correspondem aos bancos de dados convencionais. Armazenam somente valores presentes. Se um valor de uma propriedade é modificado, o valor

anteriormente armazenado é apagado e somente o último valor fica disponível.

É o mais utilizado comercialmente.

Page 13: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

A alteração do valor de uma propriedade não destrói o seu valor anterior, ficando com todos os valores armazenados no banco de dados.

Associa aos dados o tempo em que à informação foi inserida no BD, sendo possível recuperar informações do passado e do presente.

Tempo fornecido automaticamente pelo SGBD(TIMESTAMP), sendo transparente para o usuário.

Page 14: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Esse tipo de banco de dados corresponde ao tempo em que uma informação é verdadeira no momento atual.

São definidos, geralmente, pelo próprio usuário. Associa aos dados o tempo em que a informação

será válida no BD.

Page 15: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

A forma mais completa de armazenar informações temporais.

Os tempos de transação e de validade são associados a cada informação.

É possível ter acesso a todos os estados passados do banco de dados.

Page 16: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Três formas usuais de representação: relação instantânea/temporal relação instantânea e relação temporal relação temporal delta

Page 17: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Mantém dados instantâneos e temporais em uma única relação

RID a1 ... an Tinicio Tfim

Page 18: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Vantagem– menor número de relações

Desvantagens–redundância de dados– baixo desempenho para consultas instantâneas

Page 19: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Mantém dados instantâneos e temporais em relações separadas

R-Inst

R-Temp

ID a1 ... an

ID a1 ... an Tinicio Tfim

Page 20: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Vantagem– melhor desempenho para consultas instantâneas

Desvantagens– redundância de dados– maior número de relações

Page 21: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Mantém relações temporais separadas para cada atributo– definidas apenas para atributos temporais

R-Inst

Ra1-Temp

Ran-Temp

ID a1 ... an

ID a1 Tinicio Tfim

ID an Tinicio Tfim

Page 22: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Vantagem– evita redundância

Desvantagem– baixo desempenho para consultas temporais– maior número de relações

Page 23: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello
Page 24: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

• Informações temporais estão presentes em grande número de aplicações no mundo real.

• Exemplos de Aplicações: - Aplicações Financeiras - Áreas Empresariais - Informações acadêmicas - Companhias Seguradoras - Sistemas de Reservas

Page 25: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

• Sistemas de Informação Geográfico são sistemas automatizados usados para armazenar, analisar, manipular e visualizar dados geográficos, ou seja, dados que representam objetos e fenômenos em que a localização geográfica é uma característica inerente a informação e indispensável para analisá-la [Câmara 96].

• Um dos aspectos fundamentais para a representação de dados geográficos é o momento ou intervalo de tempo em que a entidade geográfica existe ou é valida.

• Exemplos de evolução de entidades Geograficas : - Novas entidades Geográficas - Mutação em entidades - Fusão de entidades - Desaparecimento de entidades - Erosão do solo (contínua)

Page 26: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

• O registro do histórico do paciente é Fundamental para o Diagnóstico.

• Análise deste registro pode ser utilizado em diversas finalidades:

- pelo médico pessoal do paciente - pelo sistema de saúde - por pesquisadores

Os projetistas de sistemas de informação médica perceberam, há longo tempo, a necessidade de armazenar e manipular informações relacionadas com o tempo.

Page 27: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Os objetos constituintes de Banco de Dados Multimídias apresentam claramente uma dimensão temporal.

Exemplo: - um objeto X deve ser apresentado antes de um objeto Y - o objeto X deve ser apresentado simultaneamente ao

objeto Y Exemplo Relacionamento forte entre tempo e espaço

em uma mesma apresentação - “Encontre todas as seqüências de vídeos mas quais um

automóvel, após virar a esquerda vira para a direita”.

Page 28: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Fornecer valores que são temporais. Exemplo: fornecer o valor que armazena a data de nascimento de uma pessoa.

Se referir a um determinado instante ou intervalo no tempo. Exemplo: qual o valor do salário no dia 01/10/98.

Recuperar valores com base em restrições temporais. Exemplo: recuperar todos os valores do salário antes do dia 01/10/98.

Fornecer informações temporais (datas, intervalos). Exemplo: qual a data em que foi alterado o salário de um funcionário.

Page 29: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

O grande volume de dados armazenado em um banco de dados temporal implica na necessidade de novos métodos de indexação (estruturas e algoritmos de busca).

O grande volume de dados pode dificultar a execução de consultas, deixando-as mais lentas.

Informações podem ser inexistentes ou incompletas, pode ser devido à incerteza quanto à existência do valor em certos pontos do tempo ou em eventos cujo tempo em que ocorreu não é conhecido.

Page 30: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

RG Nome Função1 João Motorista2 Maria Secretária

... ... ... Salários

RG Salário Inicio Fim1 500,00 01/05/01 18/09/02

2 600,00 13/01/02 02/04/03

1 620,00 19/09/02 --

2 650,00 03/04/03 --

... ... ... ...

BD Convencional:select saláriofrom Empregados E, Salários Swhere S.RG = E.RGand E.nome = ‘Maria’and S.início >= ’01/07/02’and S.fim <= ’31/12/02’

BD Temporal:select saláriofrom Empregadoswhere nome = ‘Maria’and period ‘[01/07/02,31/12/02]’

Page 31: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

1. Tabela Instantânea do Departamento: contém as informações atuais de um departamento acadêmico;

2. Tabela Temporal – Nome do Departamento: contém as diferentes denominações do departamento acadêmico ao longo dos anos;

3. Tabela Espaço-Temporal – Localização do Departamento: contém a localização de um departamento acadêmico ao longo dos anos.

Page 32: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

1 – Criação de um modelo conceitual de representação através de um diagrama Entidade-Relacionamento que permita a localização de um atributo em tempo e espaço distintos;

2 – criação de um modelo de Banco de Dados Espaço-Temporal;

3 – definição de um Sistema Gerenciador de Banco de Dados – SGBD open source para se validar o modelo proposto (PostgreSQL)

4 – Validação do modelo proposto através de consultas no SGBD.

Page 33: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

Modelo de implementação temporal:

- O SGBD trabalha com “timestamps”.

- A cada alteração em um atributo é gerado um novo estado do BD.

- O mecanismo permanece transparente para o usuário.

-Para representar o tempo de transação, optou-se por acrescentar dois atributos adicionais:

- início do período de transação (DT_I)- final do tempo de transação (DT_F)

Page 34: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

Page 35: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

Os atributos Nome e Localização são TEMPORAIS pois podem apresentar valores diferentes em cada data.

Page 36: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

Implementação de um BD Temporal

Busca

Page 37: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

- BD Convencional: o dado é destruído e substituído por outro (visão do usuário).

- BD Temporal: o dado é armazenado com um “timestamp” da data que foi modificado de acordo com o tempo do SGBD (DT_I=NOW) até outra data indefinida (DT_F=NULL).- O dado antigo passa a fazer parte de um histórico e seu “timestamp” será (DT_I=data_da_ultima_mod.) e DT_F=NOW.

Implementação de um BD Temporal

Atualização dos Dados

Page 38: Alunos: Bruno Zacchi Rausis Gustavo Soares Leonardo Defenti Rodrigo Becker Rabello

http://www.inf.ufsc.br/~ronaldo/ine5342/