• Nenhum resultado encontrado

BANCO DE DADOS TEMPORAL

No documento 2011.2 TCC Final (páginas 33-38)

O tempo é um dos aspectos mais difíceis de lidar em aplicações que incorporam

características do mundo real, como sistemas de banco de dados. Hoje não há grande

suporte às características temporais da informação em linguagem de consulta para

gerenciamento de dados. Muitas extensões temporais do modelo relacional foram

propostas e algumas delas são implementadas. (MAHMOOD; BURNEY; AHSAN,

2010)

Para a implementação de um sistema baseado em armazenamento PIMS,

podem ser utilizadas as estratégias de modelagem propostas no trabalho de Oliveira

(2001) - Temporal Entidade Relacionamento (TempER), e no trabalho de Mahmood,

Burney & Ahsan (2010). Em resumo, são variações do modelo de banco de dados

relacional com associação de atributos temporais.

O modelo de dados relacional só suporta funcionalidades para acesso a um

único estado do mundo real (o mais recente), conjunto chamado snapshot. No entanto,

existem muitas aplicações que precisam ter acesso não só ao estado mais recente,

mas também ao passado, como em históricos de pacientes e em análises financeiras.

A noção de permanência dos dados deve ser alargada para todo o período histórico

abrangendo todos os seus estados.

Para superar essa desvantagem, o modelo

relacional foi estendido para uma forma que suporte a história em aplicações no

mundo real, trazendo gestão de dados em tempo variável.

Esta nova perspectiva possui aplicações diversas, como financeiras, sistemas

de inventário, pedidos de seguro, reserva de sistemas, sistemas de gestão da saúde,

bases de dados para assistência médica e sistemas de apoio à decisão. Esforços

para incorporar o domínio temporal em sistema de gestão de banco de dados estão

em curso há mais de um década e dezenas de modelos temporais foram propostos.

(MAHMOOD; BURNEY; AHSAN, 2010)

Segundo Oliveira (2001), a diferença básica entre um banco de dados relacional

e um banco de dados temporal é a dimensão do tempo. No banco de dados relacional

as tabelas se desenvolvem em duas dimensões: as linhas (instâncias dos dados)

e as colunas (atributos). A dimensão temporal traz a associação do timestamp a

cada valor. Desta forma, o que era alterado, geralmente perdendo o valor no modelo

tradicional, agora é armazenado como uma nova linha onde a informação é associada

a um tempo, o que faz com que seja armazenado todo o histórico do determinado

atributo, dando uma terceira dimensão, temporal, ao banco de dados. Isso não quer

dizer que no modelo temporal os dados não podem ser alterados, mas quando ocorrer

serão corrigidos em um ou mais instantes na linha do tempo.

Dados temporais têm a sua própria semântica e organização, requerendo

algumas modificações do modelo relacional. Atributos em uma relação podem ser

variáveis no tempo (temporais) ou não variáveis no tempo (atemporais). Por exemplo,

para o atributo salário de um empregado existe uma associação de tempo variável,

pois, geralmente, os valores salariais mudam com o passar do tempo. O atributo

de sexo do empregado, ao contrário, não se associa a um tempo, não variando.

(MAHMOOD; BURNEY; AHSAN, 2010)

As figuras 12 e 13 traduzem o conceito de dimensão temporal. Na primeira, o

dado é mostrado sem a dimensão do tempo; na segunda, a cada momento, o dado é

armazenado com valores diferentes criando um histórico dos dados com o passar do

tempo.

Figura 12: Dado relacional

Fonte: Edelweiss (2011)

Até agora o modelo relacional é o método mais eficaz para a organização de

grandes quantidades de dados e ainda é a tecnologia amplamente aceita entre os

fornecedores e empresas em todo o mundo.

A abordagem de inserção de datas em tuplas foi adotada na definição do

modelo temporal para manter a simplicidade e essência do modelo relacional, pois

desta forma é possível manter a característica relacional com o armazenamento das

variações do dado no tempo. A proposta lógica do modelo de dados temporal é

composto por três construções principais, ou seja, a entidade (temporal ou atemporal),

Figura 13: Dado temporal

Fonte: Edelweiss (2011)

atributo (variável no tempo e não variável no tempo) e relação n-ária (temporal,

não-temporal ou semi-temporal).

Seguem-se algumas restrições para garantir a consistência do esquema:

• Tipo de entidade Temporal pode combinar atributos variáveis e

não variáveis no tempo.

• A Tupla pode ser composta por atributo variável no tempo mais a chave primária que é um atributo não variável.

• Uma relação n-ária determina se o esquema é atemporal, se os atributos de duas tabelas relacionadas não variam no tempo; temporal se os atributos de duas tabelas relacionadas variam no tempo; ou semi relacional-temporal se o atributo de somente uma das tabelas varia no tempo;(MAHMOOD; BURNEY; AHSAN, 2010)

Um dos modelos temporais propostos como base para este projeto é o

TempER que, segundo Oliveira (2001) "surge com a intenção de suprimir os pontos

desfavoráveis identificados nas propostas de modelagem temporal pesquisadas na

literatura". O modelo TempER, como outros modelos temporais, agrega a dimensão

temporal a um objeto simplesmente relacional apresentando entidades, relações e

atributos.

A primitiva temporal utilizada é o elemento temporal, um valor de tempo discreto

sempre associado ao valor que é alterado naquele instante de tempo. Uma das

características que aproximam o modelo de PIMS e o TempER é o eixo do tempo,

existe somente uma linha do tempo onde são armazenados os valores no momento

da alteração. Não existe tempo de validade ou de transação para uma informação.

O valor sofre alteração em instantes no tempo, se mantendo nessa condição

até a próxima modificação. Diferente de outras abordagens, que devem garantir o

período no tempo em que o valor existe ou é válido, sendo necessário armazenar uma

tempo inicial e um final para cada alteração.

Uma vantagem do modelo é a capacidade de associar tanto entidades

temporalizadas, quanto não temporalizadas, apesar de todas as entidades nesse

modelo apresentarem a dimensão temporal.

Para fazer a diferenciação entre as

entidades que mudam ou não com o tempo são feitas duas classificações. Transitórias,

são entidades temporalizadas que existem com suas modificações durante todo um

período de tempo, "são aquelas cuja validade temporal é um subconjunto de pontos

do tempo do eixo temporal". (OLIVEIRA, 2001)

As entidades e relações perenes apresentam características fixas, sem

modificações durante o tempo e sem armazenamento dos dados temporalizados.

Segundo Oliveira (2001) "São aquelas cuja validade temporal é exatamente igual a

todo o eixo temporal."... "a sua validade temporal inicia no primeiro ponto do eixo

temporal e se estende até o último. Normalmente as entidades que o modelador não

necessita ou não deseja associar ao tempo são consideradas como perenes".

Em relacionamentos temporais são relacionadas duas entidades no âmbito da

dimensão temporal, "este tipo de relacionamento serve para modelar as associações

das quais se necessita conhecer a validade temporal. Os relacionamentos temporais

só são válidos nos momentos especificados pelos seus rótulos temporais” (OLIVEIRA,

2001). Já os relacionamentos atemporais não levam em consideração o tempo, não

apresentando momento inicial ou final.

Os relacionamentos temporais se diferenciam dos antemporais por apresentar

restrições de cardinalidade com base no tempo. A cardinalidade é demonstrada por

Oliveira (2001). Para relacionamentos intemporais:

(0,1) a entidade pode não participar em relacionamentos; se participa, limita-se a no máximo uma vez;

(0,N) a entidade pode não participar em relacionamento, ou pode participar mais de uma vez;

(1,1) a entidade participa uma única vez do relacionamento;

(1,N) a entidade participa no mínimo uma vez no relacionamento, podendo participar mais vezes.

Para relacionamentos temporais:

(0,1) a entidade pode não participar em relacionamentos; se participa, limita-se a no máximo uma vez a cada momento do tempo;

(0,N) a entidade pode não participar em relacionamento, ou pode participar mais de uma vez a cada momento do tempo;

(1,1) a entidade participa uma única vez do relacionamento, a cada momento do tempo;

(1,N) a entidade participa no mínimo uma vez em relacionamento, podendo participar mais vezes a cada momento do tempo.

A figura 14 descreve a notação utilizada para modelagem pelo TempER.

Enquanto um modelo relacional apresenta um retângulo como entidade e um losango

como relacionamento, o TempER adiciona a estas marcas, sendo ’Tr’ para um

elemento transitório e ’P’ para um elemento perene.

Figura 14: Notação para modelagem TempER

Fonte: Oliveira (2001)

Os atributos temporais são aqueles que armazenam as mudanças ocorridas

na linha do tempo.

Eles armazenam todo o histórico de alterações dos valores,

associando a cada mudança uma marca de tempo.

Os atributos atemporais

armazenam valores que podem ser alterados sem a preservação os antigos, como

no modelo convencional Entidade Relacionamento.

Em geral as entidades devem possuir um identificador, que deve ser único

e normalmente utilizado como chave primária. Independente do tipo, as entidades

podem combinar atributos transitórios e perenes. Já nas relações, ou se utilizam

atributos transitórios ou perenes, de acordo com a sua característica de temporalidade.

Como explicado anteriormente, em sistemas temporais o tempo de validade

da informação não é considerado. Os dados temporais serão representados como

pontos na linha do tempo mostrando o momento de atualização da informação. A

granularidade na linha do tempo é variável, ou seja, o tempo entre dois dados

consecutivos pode variar de segundos a anos, assim como em sistemas PIMS.

3

METODOLOGIA

Esta seção descreve a metodologia do desenvolvimento do projeto do sistema,

sendo apresentados os modelos que basearam esse processo de desenvolvimento.

Para as etapas de análise e projeto foi criada uma modelagem do sistema em Unified

Modeling Language (UML, traduzindo, Linguagem de modelagem unificada), que é

um padrão de modelagem amplamente aceito e empregado na demonstração dos

padrões e interações de software antes do desenvolvimento. Essa modelagem é

apresentada nesta seção, assim como a modelagem do banco de dados utilizado

e a visão geral do sistema(OMG, 2010)

No documento 2011.2 TCC Final (páginas 33-38)

Documentos relacionados