Banco de Dados Temporais - Temporal DataBase

Post on 17-Dec-2014

7.297 views 3 download

description

Developed in www.inforium.com.br Bacharelado em Sistemas de Informação Brasil - MG Sergeduardo

Transcript of Banco de Dados Temporais - Temporal DataBase

Um banco de dados armazena dados transacionais relevantes de umaorganização, sejam eles estáticos ou dinâmicos . Para cada caso existe uma abordagem de retenção de dados.

São elas,• Banco de Dados Convencionais .• Banco de Dados Temporais .

A implementação de um desses modelos é decidida de acordo com a necessidade do cliente/aplicação.

Porém a necessidade de controle da informação coloca o BD temporalcomo a melhor das opções em uma organização.

Banco de Dados:

Banco de Dados Convencionais:

Os Bancos de Dados convencionais buscam uma visão estática da realidade ocasionando:

• Perda do histórico de atualizações.• Falta de controle das Informações.• Impossível a analise de evolução.

Ou seja, a evolução histórica da realidade não é armazenada, desta forma os dados atualizados não persistem.

Modelo query de Consulta de Dados,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’

Definição:

Linha

Col

una

Tempo

Os Bancos de Dados temporais retém a informação de forma dinâmica , possui 3 dimensões [Linha, Coluna e tempo ], permitindo uma consulta histórica da evolução dos dados.Seja ela baseada em,

• Tempo de Transação. (timestamp)• Tempo de Validade. (byuser)

ou• Bitemporal - (Tempo Validade + Transação).

Modelo query de Consulta de Dados,select saláriofrom Empregadoswhere nome = ‘Maria’and period ‘[01/07/02,31/12/02]’

Predicados e Funções Temporais:

• INCLUDES– contém

• OVERLAPS– sobrepõe (intersecção)

• PRECEDS / BEFORE– precede no tempo

• FOLLOWS / AFTER– sucede no tempo

• MEETS– “casa” (encontro no tempo)

• VACUUM– Exclusão física

• INTERSECT– Entre dois pontos

• ... (para todos, exige-se chronons¹ iguais)

¹Chronons – Intervalos temporais consecutivos em uma dada linha de tempo.

Banco de Dados Convencional x Banco de Dados Tempor al

IBM System Storage DS3400

21.6TBIBM XIV Storage System

180TB

Além da abordagem sobre a capacidade ou não de contextualizar o ‘tempo’ histórico dos dados, uma outra característica marcante quando um BD convencional e um BD temporal são comparados é sem dúvida o armazenamento de dados.

• Um BD temporal requer maior espaço de armazenamento.• Armazena a informação antiga.• Possuí crescimento acelerado.

• Um BD convencional não necessita de um espaço grande.• Sobrescreve os dados, descartando os antigos.• Seu crescimento pode ser previsto, ou controlado.

Aspectos Temporais:

O tempo é um aspecto essencial na ocorrência dos fatos e pode ser classificado em diversos ordens, como:

• Ordem Linear: presume-se que o tempo flui de forma linear, entre dois pontos, do passado ao futuro.

• Ordem Ramificada: um dado pode ter diversos sucessores ou predecessores. Ex: Uma certa decisão pode gerar um entre diversas opções de resultados.

• Ordem Circular: são dados que se repetem ao longo de um período de tempo. Ex: datas de promoções vendas em determinadas épocas do ano.

Classificação de Banco de Dados:

• Banco de Dados Instantâneos • Banco de Dados de Tempo de Transação

• Banco de Dados de Tempo de Validade • Banco de Dados Bi temporais

Aplicações:

Algumas aplicações onde o controle e acesso a informações temporais são fundamentais:

• Área Médica• Área Empresarial

� Aplicações Financeiras� Controle de Produção� Gerenciamento de Vendas� Gestão de Pessoas

• Controle Acadêmico• Sistemas de Informações Geográficas• Sistema de Reservas• (...)

Linguagem - TSQL2 (Temporal Structured Query Language):

TSQL2 – Definida em 1995 após uma lista de discussão por emails criada em 1992.A linguagem é baseada em SQL e foi acrescida de outras funções:

• suporte a períodos de tempo• suporte a múltiplas granularidades (um chronon)• suporte a múltiplas representações• suporte a múltiplas linguagens• suporte a múltiplos calendários

(lunar – acadêmico – fiscal – eras geográficas)

• suporte a tempo indeterminado• suporte a tempo histórico

Não é possível encontrar um SGBD totalmente Temporal, algumas funcionalidades podem ser encontradas mas não em sua totalidade.

Como solução existem as camadas de softwares que simulam um Banco de Dados Temporal, permitindo consultas escritas.

SGBDs que suportam TSQL2:• Oracle (PTV – Pacote de Tempo de Validade + TSQL2)• PostgreSQL (TSQL2 + Btpgsql(Bi temporal) + EMap)• MySQL (EMap adaptado UFGRS/UPF)

Linguagem - TSQL2 (Temporal Structured Query Language):

Listar o nome de todos os empregados que trabalharam na empresa ao mesmo tempo em que João esteve no departamento de brinquedos.

SELECT E1.NomFROM Empregado E1, Empregado E2WHERE E2.Nom = João AND E2.Dept = “Brinquedos”AND VALID(E1) OVERLAPS VALID(E2)

Linguagem - TSQL2 (Temporal Structured Query Language):

Modelagem ER:

TempER x ER Convencional:

Considerações Finais:

A utilização de um BD Temporal se faz necessária em tempos onde a riqueza de dados é fundamental para a analise e obtenção de informações, ampliando a capacidade de sistemas que tem como “matéria prima” o cruzamento de dados/informações, como os,

• SIGs (Sistemas de Informações Gerenciais)• Dataminer (mineração de dados)• Data Warehousing

Sistemas de Suporte a decisão como,• BI (Business Intelligence)

dentre vários outros.Apesar do custo de armazenamento ser alto, os benefícios são relevantes como a consistência, permitindo consultas históricas com alta recuperabilidade de dados.

Fonte:[Universidade do Arizona] Disponível em,ftp://ftp.cs.arizona.edu/tsql/tsql2/bookspec.pdf (EN-US)http://www.cs.arizona.edu/people/rts/tsql2.html (EN-US)Acesso em 12 Jun.2009

[Ferramenta para Suporte a Consultas Temporais em SGBDs convencionais.]http://www.projetos.unijui.edu.br/erbd2009/arquivo/52075.pdfAcesso em 13 Jun.2009

[Nina Krahe Edelweiss]http://www.inf.ufrgs.br/~nina/Acesso em 13 Jun.2009

[Oliveira, Alex Martins de]http://www.lume.ufrgs.br/bitstream/handle/10183/6040/000435641.pdfAcesso em 13 Jun.2009