Como o próprio nome informa, banco de dados temporal está relacionado ao tempo, oferecem a possibilidade de armazenar informações históricas a respeito de um determinado objeto que nele está sendo mantido (EDELWEISS, 1998, TANSEL, 1997).

Os banco de dados relacionais atuais (alguns), apenas são para armazenamento de um instante de tempo dos registros nele guardados, ou seja, apenas armazenam informações do estado presente do registro.


Para que serve o banco de dados Temporal?

Para a maioria dos sistemas comerciais isso não é importante, mas podemos citar áreas em que este conceito é extremamente valido:

  • Área médica: Quadro clinico de pacientes, diagnósticos, histórico do paciente.
  • Área empresarial: Tomadas de decisão, planejamento de orçamentos.
  • Sistemas de informação geográfica: Crescimento demográfico, desmatamento.
  • Controle acadêmico: Alunos graduados, histórico.
  • Sistema de reservas: Empresas aéreas, hotéis.
As principais diferenças entre banco de dados Convencional e banco de dados Temporal são as seguintes:

Banco de dados Convencional:

  • Representação do estado presente de um dado
  • Gerenciamento temporal a cargo da aplicação

Banco de dados Temporal:

  • Representação dos estados passados, presente e futuros de dado
  • Gerenciamento temporal é controlado pelo banco de dados.

Para entender melhor ainda vamos ver os seguintes pontos:

  • Tipo de tempo
  • Ordem do tempo
  • Rótulos temporais

Tipos de Tempo

Classificação: Instantâneo, transação, validade, bitemporal.

Tempo Instantâneo:

Característico do banco de dados convencional, registra apenas o dado valido no momento atual, veja a figura 1:

Demonstração do tempo instantâneo

Figura 1: Demonstração do tempo instantâneo.

Tempo de uma transação:

Tempo de definição de um dado no banco de dados por uma transação.

  • Tempo fornecido pelo SGBD (timestamp)
  • Características de banco de dados de tempo de transação ou banco de dados rollback.

Exemplo: uma operação bancaria, temos o acesso ao estado anterior do saldo da conta, veja a figura 2:

Demonstração do tempo de uma transação

Figura 2: Demonstração do tempo de uma transação.

Tempo de validade:

Tempo em que o dado é valido no mundo real.

  • O tempo é fornecido pelo usuário.
  • Possui características de banco de dados de tempo de validade ou banco de dados histórico.

Exemplo: quadro clínico de um paciente ou histórico de transações bancarias, veja a figura 3:

Demonstração do tempo de validade

Figura 3: Demonstração do tempo de validade.

Tempo bitemporal:

Manutenção conjunta do tempo de transação e do tempo de validade.

  • Não necessariamente ambos coincidem.

Exemplo: reserva aérea, veja a figura 4:

Demonstração do tempo bitemporal

Figura 4.Demonstração do tempo bitemporal.

Ordem do tempo

Existem três tipos de ordem do tempo:

  • Linear
  • Ramificada
  • Circular

Ordem Linear

  • Forma mais usual de ordenação temporal.
  • Um dado com no máximo um sucessor e um predecessor.

Exemplo: evolução do salário de um empregado.

Ordem Ramificada

  • Um dado pode ter vários sucessores e/ou predecessores

Exemplos: alternativas para futuro estado de um paciente que já possui um histórico de passagens no hospital por uma determinada doença (futuro ramificado). Hipótese para a evolução do homem até os dias de hoje (passado ramificado).

Ordem Circular

  • Um conjunto de dados se repete periodicamente em uma certa ordem.

Exemplo: períodos de promoção de uma loja, verão, pascoa, dia das mães, outono-inverno, dias dos pais, natal, queima de estoque.

Rótulos temporais

Como podemos representar os atributos temporais?

  • Instante
  • Intervalo
  • Elemento temporal

Instante

  • Representação de um ponto no tempo.
  • Ele está relacionado a alguma ocorrência de evento, O instante caracteriza-se por um ponto específico no decorrer do tempo contínuo do registro do banco de dados.

Intervalo

Tempo decorrido entre dois instantes, é definido como sendo o tempo decorrido entre dois instantes de tempo diferentes e conhecidos, tal que se sabe a sua duração, mas não se sabe necessariamente quando o mesmo começa ou termina.

Elemento temporal

É união finita de intervalos, representação mais expressiva que intervalo, evita a fragmentação de um dado em várias tuplas, uma para cada intervalo, útil para modelar um fato que pode apresentar os mesmos valores em períodos distintos de tempo.

Com isso finalizo mais um artigo bem mais informativo do que técnico. Esse assunto é bastante complexo e espero que tenham gostado da forma como o assunto foi tratado. Obrigado e até o próximo.