Françoıs Bafoıl – Burcu Görak Gıquel
SİYASETİN ÖNCELİĞİ VE BÜROKRASİNİN AĞIRLIĞ
As informações de um banco de dados convencional são relacionáveis e acessíveis e seu conteúdo reflete um instante da realidade. Portanto, à medida em que o tempo passa, um banco de dados convencionais se modifica conforme as mudanças do mundo
real, ou seja, suas informações vão se alterando a cada instante de acordo com o novo estado do mundo. Dessa maneira, todas as informações armazenadas anteriormente a uma mudança são perdidas.
Para algumas aplicações, talvez a maior parte delas, tanto o estado passado das informações como o estado presente são de extrema importância. Por exemplo, para o Centro de Pesquisa “Inovação” citado anteriormente, torna-se importante armazenar dados de hidrografia da década passada e da década atual. É necessário um armazenamento temporal desse tipo de dado para analisar sua evolução. Esse fato então limita o uso de BD convencionais, uma vez que estes não possuem recursos que permitam acessar os estados passados da hidrografia.
Nesse contexto, surge então um novo elemento na área de Banco de Dados Não- Convencionais: o tempo relacionado às informações. Esse novo elemento deu origem aos Bancos de Dados Temporais (BDT), que são bancos de dados que permitem armazenar e recuperar todos os estados de um objeto, registrando sua evolução ao longo do tempo (Edelweiss 1994, Etzion et al. 1998, Tansel 1993). Os bancos de dados temporais surgem para exercer funções que permitam tornar históricos os dados e utilizá-los como propulsores para projeções. Esse tipo de banco de dados mantém dados passados e atuais. Os aspectos do tempo são importantes para aplicações que necessitam do histórico de suas informações, ou seja, que precisam preservar o dado anterior a uma atualização. Isso é necessário para que possam ser processadas consultas referentes aos dados válidos no passado e no futuro (Almeida & Cordenozi 2001).
Uma maneira de representar essas informações temporais é a inserção de parâmetros determinando o tempo inicial e final da validade daquele dado. A idéia é adicionar uma nova linha (ou tupla) à tabela de dados (Elmasri & Navathe 2002). Tomando como exemplo os salários dos pesquisadores do Centro de Pesquisa “Inovação”, as informações temporais seriam assim (Tabela 2.1):
Tabela 2.1: Informação temporal com os salários dos funcionários.
Matrícula_Pesquisador Salário Início Fim
1001200 R$ 3.000,00 23/04/1992 25/09/1994
1001200 R$ 4.500,00 26/09/1994 ---
À medida que o salário do pesquisador 1001200 foi atualizado, o salário antigo continuou gravado na tabela, com a data de início e fim daquele valor e foi criada uma nova linha, com o valor do novo salário e a data que este começou a vigorar. Esse novo salário está sendo válido até os dias de hoje, visto que não tem nenhuma data final.
Agora, suponha que o Departamento de Pesquisas sobre Hidrografia tenha verificado que um determinado rio esteja diminuindo de tamanho com o passar do tempo. A Tabela 2.2 mostra essa variação de tamanho:
Tabela 2.2: Exemplo de tabela temporal.
Nome do Rio Comprimento Ano
Rio Ingá 330 m 1992
Rio Novo-Ingá 250 m 2000
Rio Novo-Ingá 240 m 2004
A Tabela 2.2 mostra que o nome do rio foi mudado e que seu tamanho está diminuindo ao longo dos anos. Essas informações temporais associadas aos dados são conhecidas como dimensões temporais (Edelweiss 2003). Sendo assim, a entidade tempo é peça-chave na modelagem e implementação de um banco de dados temporal.
O tempo é um aspecto importante de todo evento do mundo real. Todo BDT deve utilizar mecanismos que capturem de maneira eficiente a evolução temporal de seus objetos. O tempo tem grande importância no tratamento das informações, representando a duração dos eventos, previsões e o tempo de vida de documentos ou operações. Porém, devido ao fato de que a natureza temporal é extremamente variada, a introdução da dimensão tempo, em BD, não é tão simples. Deve-se fazer diversas escolhas no que se refere a unidades, estruturas e domínios temporais (Almeida & Cordenozi 2001).
Conceitualmente, pode-se representar o tempo através de diferentes estruturas, definidas, principalmente, com base em três aspectos da representação temporal: granularidade, variação e ordem no tempo (Pedrosa 2004). Esses três parâmetros podem ser melhor compreendidos na Figura 2.4 a seguir:
Figura 2.4 – Estruturas Temporais. Fonte: Worboys (1998).
A ordem temporal refere-se ao modo como o tempo flui. Neste caso, pode-se assumir que o tempo flui de forma linear, ramificada ou cíclica. No tempo linear considera-se que o tempo flui seqüencialmente, ou seja, existe uma ordem de precedência entre os pontos no tempo, de tal forma que cada ponto tenha apenas um sucessor e um antecessor. No tempo ramificado, múltiplos pontos podem ser os sucessores ou antecessores imediatos de um mesmo ponto (Figura 2.5). O tempo cíclico é utilizado para modelar eventos e processos recorrentes (Edelweiss 1994).
Figura 2.5 - Tempo Ramificado. Fonte: Edelweiss (2003).
Segundo Snodgrass (1995), três diferentes conceitos temporais podem ser identificados em aplicações de banco de dados:
(1) Tempo de transação: tempo no qual o fato é armazenado no banco de dados. O tempo de transação identifica o instante da transação que inseriu o fato no BD e a transação que removeu este fato do BD;
t t
hoje
Ramificado no passado Linear no passado Ramificado no passado Linear no futuro Ramificado no futuro e no futuro
(2) Tempo de validade: tempo em que o fato é válido (verdadeiro) na realidade modelada. O tempo válido de um evento é o tempo em que o mesmo ocorreu no mundo real, independente do registro deste evento no banco de dados;
(3) Tempo definido pelo usuário: propriedades temporais definidas explicitamente pelos usuários em um domínio temporal e manipuladas pelos programas da aplicação.
Os BDT armazenam os dados referenciando as datas. Nesse sentido, quando os dados são mostrados ao usuário, as perguntas podem ser sobre a evolução destes através do tempo e as mudanças acontecidas (Quintarelli 2004). Os BDT representam uma área ativa da pesquisa atual. A meta é encontrar modos eficientes de armazenar e manter a informação passada, presente e futura, desenvolver técnicas de buscar tais registros para compor a informação requerida e desenvolver linguagens para expressar as solicitações da informação temporal.