Bancos de Dados Temporais
Gustavo Gomes
Matheus Aguiar
Yure Guajajara
BANCO DE DADOS II - 2019.1
UFMA - DEINF
Sumário
1. Introdução
2. Banco de Dados Temporais
3. Conceitos básicos da Representação Temporal
4. Ordem do Tempo
5. Tipos de Tempo
6. Operações básicas no Banco de Dados Temporal
7. Implementação de um Banco de Dados Temporal
2
Introdução e
Conceitos
PARTE #1
3
Introdução
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.
Os SGBDs convencionais não oferecem suporte a estas informações
Nas últimas décadas, muitas pesquisas na área de Bancos de Dados Temporais
vêm sendo realizadas, com o objetivo de definir conceitos e estratégias para tratar
de informações históricas.
4
Banco de Dados Temporais
Trabalham com dados relacionados ao tempo, com histórico para análise
posterior.
A diferença com os bancos de dados convencionais está na representação do
dado no tempo presente apenas.
Enquanto que os BDs temporais realizam um histórico de dados apartir do
tempo.
Usados em área médica, área empresarial, sistemas de reservas de passagens, ...
5
Conceitos Básicos da Representação Temporal
● Instante Temporal;
● Intervalo Temporal;
● Elemento Temporal;
● Duração Temporal.
6
Ordem e
Tipos
de Tempo
7
PARTE #2
Ordem do Tempo
● Ordem Linear:
Apenas um predecessor e um sucessor. Ex.: Salário de um Funcionário.
● Ordem Ramificada:
Vários predecessores e/ou vários sucessores. Ex.: Hipótese da evolução da
espécie humana (passado); Alternativas de emprego para um programador
(futuro).
● Ordem Circular:
Conjuntos de dados que se repetem periodicamente e em certa ordem. Ex.:
Períodos de promoções anuais em uma loja, como Dia das Mães ou Natal.
8
Tipos de Tempo
● Tempo absoluto:
Específico, definido com uma granularidade fixa e associado a um fato. Exemplo:
Yure entrou na UFMA em 2016.
● Tempo relativo:
Válido somente porque outro evento relacionado é válido. Exemplo: O dia das
mães ocorre no segundo domingo de maio. (Segundo domingo de maio é válido.)
Dos dois, o Absoluto pode ser considerado o mais comum. Em bancos de dados
temporais, podemos ter os dois tipos. O relativo aparece quando temos um
dado com maior necessidade de confirmação.
9
10
Tipos de Tempo
● Tempo de uma transação:
Fornecido pelo SGBD. É o tempo em que o fato é válido no banco. Quando um
dado for inserido, modificado ou excluído do banco, ele recebe um tempo de
transação. Marca o início e o fim de sua validade no banco.
● Tempo válido/de validade:
Conjunto de Instantes em que o dado é válido no universo do banco de dados.
Tem de ser informado pelo usuário. Todo fato tem um tempo de validade.
● Tempo Bitemporal
Quando se possui os dois tipos de tempo acima. Não precisam coincidir.
Operações e
Implementação
11
PARTE #3
Operações Básicas no Banco de Dados Temporal
No BDT, as informações não podem ser substituídas por outras, uma vez que
todo o passado dos dados deve ficar armazenado. A exclusão, em um BDT,
pode ser de duas formas: exclusão lógica e física.
# Exclusão Lógica: Encerrando-se a “Vida” da Informação
# Exclusão Física: Quando se deseja remover fisicamente uma informação que
não é mais relevante.
Esta operação é conhecida por vacuuming.
12
Implementação de um Banco de Dados 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.
13
Implementação de um Banco de Dados 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.
14
Implementação de um Banco de Dados 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)
15
16
Implementação de um Banco de Dados Temporal
Implementação de um Banco de Dados Temporal
17
Os atributos
Nome e
Localização são
TEMPORAIS
pois podem
apresentar
valores
diferentes em
cada data.
Implementação de um Banco de Dados Temporal
18
Fazendo uma busca
Implementação de um Banco de Dados Temporal
- 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.
19
Atualização dos Dados
20
Concluindo...
Claramente pudemos observar aqui como o Banco de Dados Temporal é uma
importante alternativa quando o objetivo é guardar informações de diferentes
períodos de tempo de forma coesa e precisa, agregando diferentes conceitos de
representação temporal e trazendo uma nova dimensão ao armazenamento de
elementos.
Fontes
https://docplayer.com.br/1602416-Banco-de-dados-temporais-teoria-e-pratica.html
https://www.devmedia.com.br/entendendo-sobre-banco-de-dados-temporais/24840
https://www.diegomacedo.com.br/banco-de-dados-temporais/
21
Muito obrigado pela
compreensão!

Banco de Temporais

  • 1.
    Bancos de DadosTemporais Gustavo Gomes Matheus Aguiar Yure Guajajara BANCO DE DADOS II - 2019.1 UFMA - DEINF
  • 2.
    Sumário 1. Introdução 2. Bancode Dados Temporais 3. Conceitos básicos da Representação Temporal 4. Ordem do Tempo 5. Tipos de Tempo 6. Operações básicas no Banco de Dados Temporal 7. Implementação de um Banco de Dados Temporal 2
  • 3.
  • 4.
    Introdução A maior partedas 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. Os SGBDs convencionais não oferecem suporte a estas informações Nas últimas décadas, muitas pesquisas na área de Bancos de Dados Temporais vêm sendo realizadas, com o objetivo de definir conceitos e estratégias para tratar de informações históricas. 4
  • 5.
    Banco de DadosTemporais Trabalham com dados relacionados ao tempo, com histórico para análise posterior. A diferença com os bancos de dados convencionais está na representação do dado no tempo presente apenas. Enquanto que os BDs temporais realizam um histórico de dados apartir do tempo. Usados em área médica, área empresarial, sistemas de reservas de passagens, ... 5
  • 6.
    Conceitos Básicos daRepresentação Temporal ● Instante Temporal; ● Intervalo Temporal; ● Elemento Temporal; ● Duração Temporal. 6
  • 7.
  • 8.
    Ordem do Tempo ●Ordem Linear: Apenas um predecessor e um sucessor. Ex.: Salário de um Funcionário. ● Ordem Ramificada: Vários predecessores e/ou vários sucessores. Ex.: Hipótese da evolução da espécie humana (passado); Alternativas de emprego para um programador (futuro). ● Ordem Circular: Conjuntos de dados que se repetem periodicamente e em certa ordem. Ex.: Períodos de promoções anuais em uma loja, como Dia das Mães ou Natal. 8
  • 9.
    Tipos de Tempo ●Tempo absoluto: Específico, definido com uma granularidade fixa e associado a um fato. Exemplo: Yure entrou na UFMA em 2016. ● Tempo relativo: Válido somente porque outro evento relacionado é válido. Exemplo: O dia das mães ocorre no segundo domingo de maio. (Segundo domingo de maio é válido.) Dos dois, o Absoluto pode ser considerado o mais comum. Em bancos de dados temporais, podemos ter os dois tipos. O relativo aparece quando temos um dado com maior necessidade de confirmação. 9
  • 10.
    10 Tipos de Tempo ●Tempo de uma transação: Fornecido pelo SGBD. É o tempo em que o fato é válido no banco. Quando um dado for inserido, modificado ou excluído do banco, ele recebe um tempo de transação. Marca o início e o fim de sua validade no banco. ● Tempo válido/de validade: Conjunto de Instantes em que o dado é válido no universo do banco de dados. Tem de ser informado pelo usuário. Todo fato tem um tempo de validade. ● Tempo Bitemporal Quando se possui os dois tipos de tempo acima. Não precisam coincidir.
  • 11.
  • 12.
    Operações Básicas noBanco de Dados Temporal No BDT, as informações não podem ser substituídas por outras, uma vez que todo o passado dos dados deve ficar armazenado. A exclusão, em um BDT, pode ser de duas formas: exclusão lógica e física. # Exclusão Lógica: Encerrando-se a “Vida” da Informação # Exclusão Física: Quando se deseja remover fisicamente uma informação que não é mais relevante. Esta operação é conhecida por vacuuming. 12
  • 13.
    Implementação de umBanco de Dados 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. 13
  • 14.
    Implementação de umBanco de Dados 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. 14
  • 15.
    Implementação de umBanco de Dados 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) 15
  • 16.
    16 Implementação de umBanco de Dados Temporal
  • 17.
    Implementação de umBanco de Dados Temporal 17 Os atributos Nome e Localização são TEMPORAIS pois podem apresentar valores diferentes em cada data.
  • 18.
    Implementação de umBanco de Dados Temporal 18 Fazendo uma busca
  • 19.
    Implementação de umBanco de Dados Temporal - 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. 19 Atualização dos Dados
  • 20.
    20 Concluindo... Claramente pudemos observaraqui como o Banco de Dados Temporal é uma importante alternativa quando o objetivo é guardar informações de diferentes períodos de tempo de forma coesa e precisa, agregando diferentes conceitos de representação temporal e trazendo uma nova dimensão ao armazenamento de elementos.
  • 21.
  • 22.