• Nenhum resultado encontrado

Implementação de um Modelo Conceitual Temporal e Espacial Utilizando o SGBD Oracle

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de um Modelo Conceitual Temporal e Espacial Utilizando o SGBD Oracle"

Copied!
14
0
0

Texto

(1)

Implementação de um Modelo Conceitual

Temporal e Espacial Utilizando o SGBD Oracle

Sandro Favin Pinheiro ( ULBRA )

sandrofp@portoweb.com.br

Miguel Rodrigues Fornari ( ULBRA )

fornari@ieee.org

Resumo. O processo de modelagem de dados na construção de sistemas nada mais é do que o mapeamento de informações do mundo real para um ambiente computacional. Deste modo, a importância da inserção de informações temporais aos dados em sistemas de informação é inquestionável. Apesar de existirem diversos modelos conceituais com características temporais para SIGs, a sua implementação em um modelo lógico de banco de dados ainda é tarefa difícil por falta de um SGBD comercial que possa colocar isso em prática. Este artigo visa aproximar os modelos conceituais para SIGs ao modelo lógico, utilizando o Time Series Cartridge, combinado com as facilidades de tratamento de dados espaciais existentes no Oracle Spatial. O artigo descreve a aproximação dos modelos conceitual e lógico através da criação de uma dimensão temporal em SIGs implementados sobre SGBDs relacionais. O Time Series Cartridge é um cartucho de tempo inserido na versão 8i do Oracle, é formado de objetos, procedimentos e funções que viabilizam a inserção e administração de séries de tempo.

Palavras-chave: Bancos de dados temporais, bancos de dados espaciais.

1 Introdução

Bancos de dados temporais permitem armazenar e recuperar todos os estados de um objeto, registrando sua evolução ao longo do tempo (Edelweiss, 1998). As informações relativas ao tempo são associadas aos dados de forma implícita, através do tempo de transação e do tempo de validade, ou de forma explícita, através de um tempo definido pelo usuário (Jensen, 1998). Bancos de dados que suportam tempo de transação e tempo de validade são necessários para realizar a modelagem completa da realidade, que possibilite o acesso a todos os estados dos objetos armazenados. Estes bancos de dados são denominados bancos de dados bi-temporais.

Um Sistema Gerenciador de Bancos de Dados Geográficos (SGBDG) é caracterizado por armazenar e manipular dados cuja geometria está referenciada à superfície planetária. Os SGBDG são fundamentais para o desenvolvimento de aplicações que envolvam a utilização do ambiente, como, planejamento urbano e rural, previsão climatológica e cadastramento de terras. Estudos sobre a importância da inserção de informações temporais em Sistemas de Informação Geográficas (SIGs) não são recentes. Langran (1992) já determinava requisitos técnicos para o desenvolvimento de um SIG temporal. Alguns modelos para SIGs

(2)

temporais foram criados, mas a inexistência de um SGBD temporal comercial é o principal empecilho para que os modelos conceituais estudados possam ser aplicados.

Atualmente SGBDs como o Postgres ou a ferramenta Time Series Cartridge inserida no Oracle, oferecem recursos para que informações temporais posam ser inseridas aos dados em banco de dados. Este artigo utiliza a ferramenta Time Series Cartridge, para a manipulação de informações temporais servindo de suporte a implementação do modelo conceitual para SIGs.

Conforme estudos realizados, muitos são os requisitos de um modelo conceitual temporal de SIG (Rocha, 2001). Este artigo tem por objetivo verificar o quão possível é a implementação do modelo conceitual espacial temporal no Oracle 8i utilizando os recursos do Time Series Cartridge.

O artigo está organizado da seguinte maneira. Na seção 2 é apresentada uma introdução sobre banco de dados temporais e descritos os mecanismos de administração de informações temporais, bem como as funcionalidades do Time Series Cartridge. Na Seção 3 é apresentada uma introdução sobre SGBDG e o Oracle Spatial. Na seção 4 são relacionados requisitos de um modelo conceitual temporal de SIG. Na seção 5 são descritos mecanismos de utilização do Time Series Cartridge com os SIGs. Na seção 6 é feita uma analise sobre a implementação do modelo conceitual de SIGs sobre o Time Series Cartridge. Por último são tiradas algumas conclusões.

2 Banco de dados Temporais

Diferentemente de bancos de dados (BD) convencionais onde a realidade é representada apenas pelo estado presente de um objeto, os bancos de dados temporais (BDT) permitem armazenar e recuperar todos os estados do objeto ao longo do tempo (Edelweiss , 1994 e Özsoyoglu, 1995).

Normalmente, em aplicações do mundo real estão presentes informações temporais que são relevantes na especificação de sistemas, informações que tiveram, têm ou terão seus valores alterados. Os bancos de dados temporais são usados para armazenar aspectos temporais de informações do mundo real, ou simplesmente apresentam alguma forma de representação de informações temporais (Edelweiss , 1994).

Informações temporais são representadas em BDs através de datas, períodos, intervalos temporais e duração da validade de informações. A associação entre as informações temporais e os dados, ou simplesmente a inserção de tempo a um dado, é possível através do acréscimo de uma dimensão temporal ao banco de dados. Com esta dimensão é possível identificar quando uma informação foi definida e qual o tempo em que ela é válida (Edelweiss, 1998). Esta dimensão temporal associa um tempo a um atributo de forma que se o valor do atributo for alterado, o valor anterior não é perdido.

(3)

2.1 Time Series Cartridge

Time Series Cartridge é uma extensão do SGBD Oracle, que foi inserida a partir da versão 8, para possibilitar o armazenamento e a recuperação de dados temporais (Oracle8i, 2002). É formado por um conjunto de procedimentos, funções e objetos com características próprias, que foram adaptadas ao modelo relacional. Uma série de tempo é o conjunto de dados de entrada de rótulos temporais (timestamps). Cada atributo ou coluna em uma tabela tem associado um rótulo temporal, uma marca que situa o dado ou objeto no tempo.

2.2 Modelos de séries de tempo

O Time Series utiliza conceitos próprios para tratar informações temporais. Aplicações de banco de dados temporais são implementadas de duas formas: com o uso de calendários ou sem calendários. Calendários são objetos do Time Series que permitem vincular as informações a datas ou a períodos de tempo definidos (Oracle8i, 2002).

O uso de calendários é necessário quando o rótulo temporal não tiver um padrão ou quando tiver um padrão, mas este não estiver correto. Conforme (Oracle8i, 2002), toda série de tempo que não é associada a um calendário é chamada de série de tempo irregular. Freqüentemente em séries de tempo irregulares os dados chegam de formas imprevisíveis, podendo ocorrer longos períodos sem inserção de dados ou dados sendo inseridos a todo o momento.

Utilizam-se calendários quando for conhecido o momento da inserção dos dados, através de intervalos de tempos pré-definidos associados a um rótulo temporal padrão. Os calendários são utilizados também para validar a inserção de dados, definindo períodos, datas limites e datas não válidas para a inserção, como feriados, por exemplo.

3 Sistemas Gerenciadores de Bancos de Dados

Geográficos

Os Sistemas de Gerenciadores de Bancos de Dados Geográficos (SGBDGs) permitem manter dados georeferenciados, sendo fundamentais para o desenvolvimento de aplicações em várias áreas, como controle sobre os processos ambientais, econômicos e sociais (Aronoff, 1989). O que diferencia os SGBDGs dos demais sistemas capazes de manipular dados espaciais como, por exemplo, softwares de CAD, é a capacidade de realizar operações complexas de análise sobre dados espaciais (Goodchild, 1990).

Geralmente a modelagem de um SGBDG consiste em referenciar objetos representados em mapas. Estes objetos podem ser constituídos de informações espaciais e informações não espaciais. As informações espaciais estão georeferenciadas, como a local de uma área de plantação, e as não espaciais representam as informações descritivas, como o tipo de cultura plantada na área e o nome do proprietário. A figura 1 mostra objetos sendo referenciados em um mapa, utilizando atributos espaciais e não espaciais.

(4)

22

Mapas dos Lotes

Cadas_IPTU Endereco Dono geoid 136017 Av. Icarai, Guimaraes, 25 330256 R. Ipe, Silva, 22 Cadas_IPTU Endereco Dono geoid 136017 Av. Icarai, Guimaraes, 25 330256 R. Ipe, Silva, 22 Lotes

Figura 1. Representação de objetos referenciados em um mapa

4 Requisitos de um modelo temporal de SIGs

Desde o inicio da década de 90 já havia estudos sobre a necessidade da inserção de informações temporais em SIGs. Em (Langran, 1992) foram analisados requisitos técnicos para que pudesse inserir o tempo em SIGs: um modelo conceitual de trocas espaciais; tratamento de atributos espaciais; processamento logístico dos dados; um método de acesso a dados espaço-temporal ; um algoritmo que possa operar os dados espaço-temporais.

Apesar das muitas pesquisas realizadas, a implementação de um SIG temporal ainda não foi concretizada, por dificuldades como o grande volume de dados armazenados em aplicações geográficas e a falta de ferramentas para gerenciamento de informações temporais.

O mapeamento de informações do mundo real para um ambiente computacional é realizado através do processo de modelagem conceitual de dados. Para que um modelo do mundo real possa ser modelado de forma completa, torna-se necessário à intorna-serção de informações temporais. Em SIGs não é diferente, e conforme Rocha (2001) alguns aspectos que um modelo conceitual temporal para SIG deve apresentar são:

• temporalidade em atributos, objetos e relacionamentos: é importante que alguns atributos, objetos e relacionamentos apresentem a dimensão temporal;

• restrições de integridade: deveriam ser temporizadas pois são regras que possuem uma validade apenas em um determinado período;

• tempo discreto: representação de intervalos do tempo através de intervalos regulares de mesma duração (chronos);

• tempo de validade, tempo futuro: considerar no mínimo o tempo em que a informação é válida no mundo real;

• tempo de transação: considerar quanto a ordem em que os eventos ocorreram. É importante no processo de análise das informações;

(5)

• granularidade do tempo: é necessário que na mesma aplicação de SIG seja possível considerar diferentes granularidades;

• tempo impreciso: ou tempo indeterminado, caracteriza uma informação que não se sabe quando ocorreu, como por exemplo “entre 2 e 4 horas”; • tempo relativo: é o tempo relativo a outro tempo, como por exemplo

“este acidente ocorreu na semana passada”;

• duração das trocas de estados: é necessário registrar a duração entre a troca de estados de um objeto.

A complexidade da implementação de um SIG temporal tem inicio no processo de modelagem, onde se questiona: como associar o tempo à localização de um objeto bem como nas suas características; como representar as trocas na forma espacial, qual característica de banco de dados temporal a ser utilizado, de tempo de validade de transação ou bi-temporal e qual a granularidade necessária (Rocha, 2001). Outro aspecto a ser analisado é como gerenciar as informações de tempo, tipo o armazenamento, a recuperação, a atualização e a consistência dos dados de tempo.

Embora este trabalho não se baseie em um modelo conceitual específico, foi desenvolvido considerando os recursos existentes no GeoFrameT, que é um

framework conceitual que fornece um diagrama de classes para auxiliar o projetista

na modelagem conceitual de dados geográficos. Inicialmente, proposto por Lisboa (2000), foi estendido por Rocha para incorporar aspectos temporais (Rocha, 2001).

5 Mecanismos de utilização do Time Series Cartridge com

o Oracle Spatial.

Conforme Pinheiro (2001), o Time Series Cartridge não pode ser considerado um SGBD temporal, entretanto pode ser classificado como uma ferramenta de manipulação e armazenamento de informações temporais de tempo de transação em SGBDs Objeto-Relacional.

Este cartucho fornece várias funcionalidades que facilitam o gerenciamento, armazenamento, recuperação e consistência dos dados de tempo. Por esse motivo acredita-se que possa ser usado para implementar modelos conceituais para SIGs temporais. Alguns aspectos desejáveis para um modelo conceitual temporal para SIGs, vistos na seção 4, podem ser facilmente implementados usando o cartucho de tempo, mas outras devem ser melhor analisadas. Abaixo estão relacionados aspectos temporais da implementação de SIGs sobre o Time Series Cartridge:

5.1 Granularidade temporal

Os SIGs exigem diferentes níveis de granularidade para uma mesma aplicação, para possibilitar uma maior flexibilidade na representação da realidade geográfica. A especificação de diferentes níveis de granularidade de um sistema implementado sobre o Time Series Cartridge é alcançado através dos calendários. No calendário são definidas as características temporais que serão associadas às

(6)

tabelas onde serão armazenadas as informações temporais como a granularidade temporal. Desta maneira é possível definir mais de uma granularidade temporal para um mesmo sistema, apenas definindo outros calendários. O Time Series não permite definir novas unidades de tempo, mas suporta 11 granularidades diferentes, descritas em (Oracle8i, 2002 e Pinheiro, 2001).

5.2 Tempo de Transação

O tempo de transação, em um SGBDG parece não ser necessário, já que o sistema trata fenômenos naturais. Porém, em sistemas de acompanhamento de fenômenos naturais em tempo real, como o registro automático de condições climáticas em um certo local, o momento de inserção do dado é essencial para estudos posteriores e previsões climatológicas, por exemplo. Neste caso, se a medição é realizada a cada hora, não é correto afirmar que a temperatura foi de 24ºC durante uma hora, o que ocorreria se fosse utilizado tempo de validade. O correto é modelar que a amostragem das 10:00 horas foi 24ºC e, às 11:00 horas, 25,4ºC. Um modelo matemático poderá realizar uma interpolação para estimar a temperatura a cada instante de tempo, se for necessário. O tempo de transação, neste caso, pode ainda ser útil para descobrir o tempo de duração da troca de estados de objetos.

O controle de tempo de transação em um SIG implementado sobre o Time Series é simples e direto, já que o processo de inserção de um rótulo temporal aos dados é feito automaticamente bastando especificar uma granularidade no calendário. Deste modo, através dos rótulos temporais (time stamping), é possível a recuperação de informações sobre o ciclo de vida de tempo de transação de um objeto. No Time Series foram incluídas características que estendem o simples controle do tempo de transação. Pode-se definir um padrão para o tempo de transação, ou seja, em que instantes (dependendo da granularidade especificada) o tempo de transação será válido. Além disso, podem ser especificadas exceções para o padrão, que são instantes de tempo que não foram definidos (offexceptions) ou foram definidos (onexceptions), mas não são válidos.

5.3 Tempo de Validade

O tempo de validade não é tratado pelo Time Series, deste modo, pode-se inseri-lo em SIGs em forma de um atributo convencional, ao invés de um rótulo temporal. Entretanto, o Time Series fornece recursos para o gerenciamento de informações temporais baseando-se no rótulo temporal. Deste modo, o tempo de validade pode ser administrado pelo usuário através de recursos do SGBD. O ponto forte do Time Series Cartridge são as funções e procedimentos para o tratamento de informações temporais. Estas funções auxiliam desde a especificação do modelo como a granularidade, padrões e exceções, até a recuperação das informações temporais, possibilitando comparações, agrupamentos, derivações e administração. As funções específicas para tratar o tempo foram desenvolvidas para serem aplicadas sobre atributos que representam o rótulo temporal (timestamp). No

(7)

entanto, a implementação de um SIG temporal pode ser viabilizada utilizando o tempo de validade como um atributo convencional. Uma opção de armazenamento utilizando o tempo de transação e o tempo de validade é mostrado na tabela 1.

ID TimeStamp TvalidadeI TvalidadeF Devastação_hectares

Area 1 02/08/1999 10/10/1980 15/09/2000 500,00

Area 2 03/08/1999 20/01/1997 null 100,00

Area 3 03/08/1999 05/10/1999 10/05/2005 1.500,00

…….. ………….. ………….. ………….. ...

Área N 02/01/2000 02/01/2000 07/12/2000 400,00

Tabela 1. Armazenamento de séries de tempo para SIGs utilizando o modelo de banco de dados bitemporal

5.4 Tempo Discreto

O tempo é isomórfico com os números reais, ou seja, entre dois períodos de tempo quaisquer, sempre haverá um outro período de menor valor. Deste modo é necessário para a implementação de um SIG que o tempo possa ser representado em intervalos consecutivos de mesma duração.

O tempo discreto, ou seja, a representação do tempo em intervalos regulares, é utilizada para facilitar o processo de implementação de sistemas temporais no SGBD. Este aspecto é implementado no Time Series, especificando-se intervalos regulares consecutivos de mesma duração (chronos), sem que haja perda de informações temporais. Nenhum valor pode ser inserido em intervalos diferentes dos especificados em um calendário, que por sua vez são associados às tabelas do BD, obedecendo a granularidade definida.

5.5 Tempo Impreciso e Tempo Relativo

É comum em SIGs a existência de informações imprecisas de tempo indeterminado, ou de informação de fenômenos em que o tempo esta associado ao tempo de existência de outros fenômenos. Desta forma é imprescindível o armazenamento deste tipo de informação.

No Time Series Cartridge todos os aspectos e restrições temporais da modelagem de um sistema são declarados em calendários. São fornecidos recursos para manipulação de séries de tempo previsíveis, ou seja, as restrições e definições de entrada de informações temporais devem ter sido declaradas no calendário, inclusive exceções. Deste modo, o tempo impreciso, ou seja, informações como “de quatro a cinco anos” ou “por volta do meio do mês” não podem ser tratadas. Exatamente pelo mesmo motivo do tempo impreciso, ocorre com o tempo relativo. Apesar de que o Time Series fornece mecanismos de associação e comparação entre informações temporais ou períodos de tempo, informações como “este acidente ocorreu na semana passada”, também não pode ser tratada.

(8)

5.6 Duração das trocas de estado

Em um SIG é importante o registro da duração entre a troca de estados de um objeto. Esta informação é útil, por exemplo, para saber o tempo que levou uma determinada barragem a baixar o nível da água de 10m para 5m.

A premissa de banco de dados temporais é a possibilidade de registrar todos os estados de um objeto. Desta maneira o aspecto de duração de trocas de estado em SIGs pode ser realizado pela própria aplicação, uma vez que informações como o estado anterior, atual e posterior de um objeto possam ser recuperadas. Várias podem ser as formas de recuperar a duração das trocas de estado. Uma forma para recuperar a duração das trocas de estados é a subtração do tempo de transação atual ou futuro pelo tempo de transação do estado anterior do objeto.

6 Implementação do modelo conceitual de SIGs

temporais sobre o Time Series Cartridge.

A implementação de um modelo conceitual de uma aplicação que envolve características temporais e geográficas, desenvolvido por um projetista, para uma base de dados deve procurar manter todas as características identificadas no modelo, além de otimizar os aspectos de desempenho do sistema. A seguir estão descritas as alternativas encontradas para modelar estas características utilizando Oracle Spatial e Time Series, combinando-os.

6.1 Objetos e Regras Temporais para SIGs

Segundo Rocha (2001), um objeto de SIG temporal tem um ciclo de vida. O tempo de validade indica quando o objeto existe na realidade modelada e o tempo de transação indica quando o objeto existe no banco de dados. Todo objeto tem uma informação temporal referente ao inicio do ciclo de vida, mesmo que seja imprecisa, no entanto nem todo objeto tem uma informação de fim do ciclo de vida. Abaixo o ciclo de vida de um objeto em SIG é analisado para os tipos de tempo:

de transação : O ciclo de vida de um objeto no que se refere ao tempo de

transação tem como inicio no instante da inserção da informação no banco de dados, tempo (t1), e como fim em uma nova inserção em outro instante de tempo (t2). A remoção do objeto do banco de dados, não representa o ciclo de vida final, pois, se esta operação for executada é como se o objeto nunca tivesse existido. Em modelos conceituais de sistemas temporais de SIGs, o tempo de transação pode ser modelado como indefinido, indicando que não existe valor definido para o ciclo de vida de transação. Independentemente do modelo conceitual da aplicação de SIG, no Time Series Cartridge o tempo de transação será considerado. A premissa do Time Series Cartridge é o controle temporal utilizando o tempo de transação, deste modo o tempo de transação terá o papel de controlar o acesso e a manipulação de qualquer informação inserida no banco de dados.

(9)

de validade : O ciclo de vida de um objeto referenciado através do tempo

de validade é representado por valores inicial e final de sua existência no mundo real. Em modelos conceituais de SIGs temporais o tempo de validade pode ser indefinido e ter como valor algo como “undefined”. O tempo de validade pode ser modelado inserindo extremos de valores representando o ciclo de vida. Os extremos seriam desde um passado remoto até o futuro indeterminado. Rocha (2001) sugere usar como valores de atributos de extremos (begining, forever). O Time Series Cartridge não trata o tempo de validade, que deverá ser inserido em forma de atributo, sob controle da aplicação. Desta forma, a modelagem conceitual do SIG temporal pode ser implementada como um todo, sem maiores problemas, inclusive inserindo valores como “undefined”, “beginning” e “forever”. No entanto, esta inserção do tempo de validade em forma de atributos, ocasiona um excessivo trabalho em termos de gerenciamento e administração destas informações as quais devem ser implementadas através da aplicação ou de triggers e stored procedures. Diferentemente do tempo de transação que é gerenciado pelo Oracle através do cartucho de tempo.

6.2 Consistência em Banco de Dados

Um aspecto muito importante em banco de dados é manter a consistência dos dados. Quando inserido uma ou mais dimensões temporais aos dados o SGBD deve garantir que estes permaneçam consistentes durante todo o ciclo de permanência da informação no banco de dados. Segundo (Oracle8i, 2002), para que uma série de tempo seja consistente é necessário que as seguintes condições sejam verdadeiras:

• todos os rótulos temporais sejam ordenados em ordem crescente; • não existam rótulos temporais duplicados;

• todos os rótulos temporais tenham a mesma freqüência definida no calendário;

• não exista rótulo temporal que não estão compreendidos entre a mindate e a maxdate definidas no calendário;

• que os dados da série de tempo sejam contíguos, ou seja, entre o maior e o menor valor do rótulo temporal deve haver dados para todos os valores válidos para rótulos temporais, mesmo que sejam nulos.

Como estas condições referem-se ao tempo de transação, estas deverão ser levadas em consideração no modelo conceitual do SIG a ser implementado.

O Oracle Time Series não garante a consistência dos dados temporais. As regras de consistência podem ser quebradas a partir de ações conscientes ou ações acidentais de usuários. Um exemplo da possibilidade de perda da integridade dos dados em uma série de tempo é uma simples execução de um comando de exclusão de dados no meio de uma série de tempo. O Time Series Cartridge não faz restrição a este tipo de operação, sendo que qualquer outro tipo de controle de integridade pode ser feito através funções de usuários como gatilhos, ou funções próprias do Oracle.

(10)

Para realizar o controle de integridade, optou-se por associar gatilhos (triggers) nas operações de inserção, atualização e remoção de tuplas em todas tabelas onde necessário. Desta forma, o controle de integridade foi realizado através de programação específica para cada tabela/aplicação, constituindo-se em uma solução correta, mas não genérica.

6.3 Inserção da dimensão temporal ao SIG utilizando o Time Series

Cartridge

Um banco de dados para SIG não temporal é representado e implementado em uma tabela plana armazenando dados espaciais e não-espaciais. A tabela 2 representa uma tabela não temporal que armazena informações sobre lotes, com o respectivo comando de criação da tabela. O atributo area é representado por uma geometria, no Oracle Spatial o tipo SDO_GEOMETRY. Não há como limitar a geometria a um determinado tipo, no caso polígonos, e não linhas, devendo a aplicação garantir a correção dos dados inseridos no atributo. Poderia haver mais de um atributo do tipo geométrico na tabela. Os demais atributos da tabela são descritivos, podendo ser mapeados para tipos comuns, como VARCHAR e NUMBER.

NumCad Proprietário Endereço Área

(polígono) IPTU (R$) 19568 Silva, M. R.Irai, 768 350 19583 Souza, S. R. Ipê,8 120 19592 Pereira, S. P. Esplanada 600

CREATE TABLE lotes

( numcad NUMBER PRIMARY KEY, proprietario VARCHAR2(32) NOT NULL, endereco VARCHAR2(70),

area MDSYS.SDO_G OMETRY, E iptu NUMBER(10,2));

Tabela 2. Tabela de SIG não temporal

Na modelagem de um SIG temporal, nem sempre os atributos temporais estão associados somente aos atributos espaciais. Assim, o tempo de validade poderá estar associado ao atributo proprietário, que não é espacial, mas um mesmo lote de terra pode ter diversos proprietários durante o seu ciclo de vida. O atributo IPTU pode ser associado ao tempo de validade, no entanto o tempo de validade no mundo real para o valor de IPTU é muito pequeno, geralmente de 1 ano, o que significaria um novo lançamento a cada ano para cada atributo, ocasionando em pouco tempo uma grande quantidade de dados armazenados. Para resolver este problema o atributo IPTU pode ser associado ao tempo de transação, o qual é

(11)

gerenciado pelo Time Series. Desta forma foi criado o modelo como é apresentado na tabela 3. Tabela Lotes Time Stamp Validade Inicial Validade Final Num

Cad Proprietário Endereço area IPTU

(R$) 05/11/2001 10/10/1999 undefined 19568 Silva, M. R.Irai, 768 350 17/11/2001 15/08/1980 25/12/2005 19583 Souza, S. R. Ipê,8 120 18/11/2001 Begining 25/12/2005 19592 Pereira, S. P. Esplanada 600

CREATE TABLE lotes

( numcad NUMBER PRIMARY KEY, tstamp DATE NOT NULL, TvalidadeI DATE, TvalidadeF DATE,

proprietario VARCHAR2(32) NOT NULL, endereco VARCHAR2(70),

area MDSYS.SDO_G OMETRY, E iptu NUMBER(10,2));

Tabela 3. Tabela de SIG temporal não normalizada.

Para otimizar o espaço de armazenamento, a tabela de lotes pode ser dividida como mostra a tabela 4. Como o tempo de validade não é tratado pelo Time Series, o seu uso não é obrigatório, podendo em uma mesma modelagem existir tabelas que utilizam ou não o tempo de validade. Desta forma, nesta modelagem o atributo IPTU que pode ter seu valor alterado todo o ano, é associado apenas a um tempo de transação. Este procedimento minimiza o espaço de armazenamento, já que evita que um novo objeto (tupla) temporal seja criada para todos os atributos, inclusive os que não tiveram o seu valor alterado.

Tabela IPTU

TimeStamp NumCad IPTU (R$)

05/11/2001 195689 350

17/11/2001 195831 120

18/11/2001 195920 600

Tabela 4. Tabela de SIG temporal para IPTU

No Time Series, a granularidade temporal é associada a uma serie de tempo, desta maneira, na modelagem representada acima, utilizando as tabelas de IPTU e

(12)

de Lotes, pode-se definir granularidades diferentes, criando um calendário para cada tabela. Para a tabela IPTU, foi criada uma granularidade de ANO, e para a tabela LOTE uma granularidade de DIA. A figura 2 mostra a criação de um calendário com granularidade de DIA para a tabela LOTE. Este procedimento valida o aspecto temporal para SIGs referente ao tempo discreto, ou seja, impõem um valor mínimo de tempo entre duas datas ou períodos de tempo.

-- criação da tabela de dados temporais (TABELA LOTE) CREATE TABLE calendario_lote of ORDSYS.ORDTCalendar (

Pk_lote CONSTRAINT NumCad PRIMARY KEY -- inserir o calendário a tabela

INSERT INTO calendario_lote VALUES (

ORDSYS.ORDTCalendar( 0, -- tipo do Calendario (0 = Standard)

‘Lotes’, -- nome do Calendário

4, -- freqüência para o Dia (granularidade) ORDSYS.ORDTPattern ( -- definição do Padrão (exigido) ORDSYS.ORDTPatternBits(0,1,1,1,1,1,1),

TO_DATE(’15/08/2001’,’DD/MM/YYYY’) ),

NULL, -- sem limite p/ data inicial

NULL, -- sem limite p/ data final

NULL, NULL ) -- sem exceções );

Figura 2. Inserção de Calendário com Granularidade de Dia para a Tabela Lote utilizando o Time Series Cartridge.

O Time Series inicia o gerenciamento das informações temporais a partir da definição de um calendário e sua associação às tabelas. A partir deste momento todas as operações realizadas sobre o rótulo temporal, como: inserção, alteração, consultas serão processadas pelo Time Series. As operações que envolverem os atributos que representam o tempo de validade deverão ser operadas pela aplicação ou por recursos não temporais fornecidos pelo SGBD.

7 Conclusões

A complexidade que envolve a implementação de um modelo conceitual temporal de SIGs sobre um SGBD que não implementa todas as características temporais é muito grande. A falta de um SGBD temporal comercial, faz com que funções de administração e gerenciamento de informações temporais sejam absorvidos pela aplicação. A utilização do Time Series Cartridge para a implementação de um modelo para SIG temporal minimiza o serviço do desenvolvedor, mas não é suficiente. O principal motivo é a falta do gerenciamento de informações de tempo de validade, pois são raríssimos os modelos de SIGs temporais que não necessitem da inserção do tempo de validade.

Um aspecto desfavorável da implementação de SIGs temporais sobre Time Series é o mecanismo de controle de informações de tempo de transação, onde

(13)

todos os objetos temporais são associados ao tempo de transação, isso ocasiona o armazenamento desta informação mesmo que não foi modelado no sistema.

Mesmo que existisse um SGBD temporal comercial, a complexidade da implementação de um modelo de SIG temporal não seria pequena. Todos os conceitos para SGBDs temporais tratam o tempo como um dado preciso e previsível, valores que estão presentes em uma linha de tempo e que possam ser representados através de valores reais. Em SIGs, o conceito de tempo imprevisível existe e são conceituados como tempo impreciso e tempo relativo. Este tipos de tempo são muito utilizados em SIGs e dificilmente podem ser representados em SGBD temporais, a não ser como atributos não espaciais e não temporais.

Referências bibliográficas

ARONOFF. S. Geographic Information Systems: A Management Perspective. Canada: WDL Publications, 1989.

CAMARA, Gilberto. Anatomia de Sistemas de Informação geográfica: Visão

Atual e Perspectivas de Evolução. São Paulo, 1993. IN: SIMPOSIO

BRASILEIRO DE GEOPROCESSAMENTO, 2. Anais., USP.

EDELWEISS, Nina; OLIVEIRA, José Palazzo M. Modelagem de aspectos

temporais de sistemas de informação. Recife, 1994. Livro texto da Escola de

Computação, 9. Universidade Federal de Pernambuco

EDELWEISS, N. Bancos de Dados Temporais: Teoria e Prática. Recife, 1998. In:XVII Jornada de Atualização em Informática, do XVIII Congresso Nacional da Sociedade Brasileira de Computação, v.2. Ed.: H.P. MOURA. Anais. p.225-282. GOODCHILD, Michael F.; KEMP, Karen K. (Eds.) NCGIA Core Curiculum:

Issues in GIS. Santa Barbara, 1990. National Center for Geographic Information

and Analysis (NCGIA), University of California.

JENSEN, C.S. et al. The Consensus Glossary of Temporal Database Concepts – February, 1998 Version. Temporal Databases Research and Practice . O. Etzion, S. Jajodia and S. Sripada (eds.) Springer-Verlag. Berlin Heidelberg. pp. 367-405. LANGRAN, G.; Time IN Geographic Informqation System. London: Taylor & Francis, 1992.

LISBOA FILHO, J. Projeto Conceitual de Banco de Dados Geográficos através

da Reutilização de Esquemas, utilizando Padrões de Análise e um Framework Conceitual. Porto Alegre, 2000. Tese de doutorado PPGC-UFRGS.

(14)

ORACLE8i Time Series User’s Guide, Release 8.1.5 A67294-01, http://technet.oracle.com/doc/inter.815/a67294/toc.htm. Acesso em 01 ago. 2002. ÖZSOYOGLU, G,; SNODGRASS, R. T. Temporal and real-time databases: a

survey. New York, Aug. 1995. IEEE Transactions on Knowledge and Data

Engineering, v.7, n.4, p.513.

PINHEIRO, Sandro Favin. Estudo dos Mecanismos de Administração e

Processamento de Informações Temporais fornecidos pelo Oracle8i Time

Series Cartridge. Porto Alegre, 2001. Trabalho Individual do curso de Mestrado.

Universidade Federal do Rio Grande do Sul.

ROCHA, Luciana Vargas. GeoFrame-T: um Framework Conceitual Temporal

para Aplicações de Sistemas de Informação Geografia. Dissertação de

Referências

Documentos relacionados

Para aquisição por permuta serão obedecidos os seguintes critérios:  Materiais doados por permuta e que não serão incorporados ao acervo, serão. enviados para outras

Para saber como o amostrador Headspace 7697A da Agilent pode ajudar a alcançar os resultados esperados, visite www.agilent.com/chem/7697A Abund.. Nenhum outro software

Considerando a formação da equipe de trabalho, o tempo de realização previsto no projeto de extensão e a especificidade das necessidades dos catadores, algumas

Ligar o cabo dentro da braçadeira ou substituí-lo Há um obstáculo no meio da fotocélula ou não funciona Verificar a ligação, remover qualquer obstáculo Para um comando com

“Uma vez realizada uma generalização, somente pode ser descrita como boa ou má, não como certa ou errada, uma vez que as alterações introduzidas na informação têm

disciplinas cursadas na condição de aluno especial em curso de mesmo nível, da aluna AMANDA 159. ALMEIDA BERGAMASCHI, orientanda

Por este motivo, os custos da FIV por nascimento efectivo são 3  vezes mais altos para mulheres com 40 anos (ou mais velhas) quando comparado com os  vezes mais altos para mulheres

Desenvolvimento de projeto de sistema de Business Intelligence usando Data Warehouse.. DATA ANALYTICS - 80