Consulta a Banco de Dados

Esta página apresenta uma visão geral de bancos de dados relacional (SGDB), com ênfase às questões da ligação entre o SPRING e um gerenciador de bancos de dados relacional, como o CODEBASE, ACCESS e ORACLE. O SPRING faz conexão com estes gerenciadores de forma nativa, e não via ODBC (Open Database Communication) como em outros sistemas.

Quando se cria um banco de dados no SPRING, deve-se definir qual dos gerenciadores será utilizado. Para o gerenciador CODEBASE as tabelas são compatíveis com tabelas padrão DBase 4, com extensão *.dbf. Para o ACCESS (da Microsoft), todas as tabelas estão em um único arquivo "spring.mdb". Já um banco de dados do SPRING, que utilize o gerenciador ORACLE, as tabelas serão armazenadas no próprio gerenciador, e o usuário deverá  ter  permissão   para  criar suas tabelas.

Para entender as aplicações das tabelas, para cada categoria de dados do sistema, assim como para cada objeto, o usuário deve estar familiarizado com o modelo de dados do SPRING.

Consulte também:
Programação em LEGAL
Análise Geográfica no SPRING.
Como obter informações conceituais do sistema.
Como definir o Visual de uma Categoria ou Classe temática ?
Como definir os Atributos de uma Categoria ou Classe temática ?
Sobre o Modelo de Dados do SPRING


Outras opções de análise geográfica no Spring


Bancos de Dados Relacionais

A idéia de bancos de dados relacionais foi apresentada pela primeira vez por Codd, pesquisador da IBM, em 1972. Codd partiu da noção matemática de relação. Numa visão intuitiva, pode-se entender uma relação como um conjunto de atributos associado à uma entidade do mundo real. Por exemplo, para descrever um "cadastro urbano" podemos utilizar a relação:

<número_lote, dono, endereço, area, IPTU>

Uma relação pode ser representada através de uma tabela. Assim, por exemplo, a tabela abaixo apresenta a relação "cadastro urbano" com seus atributos e exemplos de valores para estes atributos.

Exemplo de Atributos para "Cadastro Urbano"

Num_lote

dono

endereço

area (m2)

IPTU (R$)

195689 Guimarães, M.

Clóvis Bevilacqua, 768

900

350

Codd propôs ainda um conjunto de operações sobre relações, por ele denominado "álgebra relacional", que incluía as operações de projeção, seleção, união, intersecção e produto cartesiano. Mostrou ainda que estas operações eram fechadas; isto é, a aplicação de uma operação desta álgebra à uma relação gera sempre outra relação.

O modelo relacional mostrou-se bastante útil para lidar com os problemas de bancos de dados para aplicações administrativas e comerciais e hoje, é a tecnologia mais difundida na área. Sua formulação rigorosa permitiu a definição de uma linguagem de consulta padronizada SQL (Strutured Query Language).

No ambiente PC, a maior parte dos gerenciadores também segue o padrão relacional, inclusive os sistemas DBASE, ORACLE e ACCESS.



Consulta a Banco de Dados - índice


Modelo de Dados Geo-Relacional

A forma usual de ligação entre um sistema de informação geográfica e um banco de dados relacional é através de um SGBDR (Sistema Gerenciador de Banco de Dados Relacional) - chamado modelo "geo-relacional" , onde os componentes espacial e descritivo do objeto geográfico são armazenados separadamente. Os atributos convencionais são guardados no banco de dados (na forma de tabelas) e os dados espaciais são tratados por um sistema dedicado. A conexão é feita por identificadores (id) de objetos.

Para recuperar um objeto, os dois subsistemas devem ser pesquisados e a resposta é uma composição de resultados. Esta arquitetura é ilustrada na figura a seguir.



Figura - Modelo de dados geo-relacional.

Consulta a Banco de Dados - índice


SGBD Relacionais e o SPRING

O SPRING foi concebido como um banco de dados geográfico e projetado desde o início para operar eficientemente em conjunto com um sistema gerenciador de bancos de dados (SGBD). Assim, utiliza o modelo de dados geo-relacional descrito na seção anterior.

Em nossa definição, um banco de dados geográfico é o repositório de dados de um SIG, que armazena e recupera dados geográficos em suas diferentes geometrias (imagens, vetores, grades), bem como as informações descritivas (atributos não-espaciais), que são armazenadas em tabelas no caso de SGBD relacionais.

Assim, no SPRING, todas as informações descritivas sobre os dados geográficos são guardadas em tabelas do SGBD relacional associado ao sistema. Nesta versão, estão disponíveis os sistemas gerenciadores nativos de bancos de dados CODEBASE (gerenciador compatível com o DBASE IV), ACCESS (sistema de banco de dados da Microsoft - é necessário ter o gerenciador instalado, ou os drive JET (3.4 ou 4.0 - bibliotecas necessárias para o SPRING criar um banco *.mdb) e ORACLE (necessário ter o gerenciador de banco de dados instalado remotamente ou local).

OBS: Encontra-se em desenvolvimento a conexão via ODBC para os gerenciadores de BD que necessitam deste aplicativo.


O gerenciador de banco de dados ORACLE deve ser aquirido separadamente pelo usuário. O uso do SGBD é controlado a partir da criação de um banco de dados no SPRING.


Consulta a Banco de Dados - índice


Atributos de Geo-Campos e de Geo-Objetos

No SPRING, cada categoria de dados geográficos está associada à uma tabela, que contém os atributos descritivos dos tipos de dados. Cada geo-objeto e geo-campo recebe um identificador único (o chamado "geoid"), que é mantido automaticamente pelo sistema e não deve ser modificado pelo usuário.

O SPRING utiliza o SGBD relacional corrente (definido na criação do banco) para armazenar todos os atributos descritivos dos dados geográficos, bem como todas as tabelas auxiliares do sistema. Deste modo, todas estas informações são visíveis externamente, através do uso do SGDB correspondente.

Consulta a Banco de Dados - índice



Entrada de Atributos de Dados Geográficos

A definição de atributos de dados geográficos é descrita em detalhe no Modelo de Dados do SPRING. Em geral, cada categoria pode ter associada uma relação (expressa na forma de uma tabela). O botão "Atributos..." associado ao menu "Modelo de Dados..." localizado no item " Arquivo" permite a entrada dos atributos da relação (tabela) associada.

No caso de categorias que sejam especilizações de MAPA TEMÁTICO, cada classe temática (também chamada de geo-classe) pode ter associada uma relação (tabela).

Para incluir uma tabela externa (já existente) no banco de dados do SPRING, o usuário poderá criar ou importar uma para o modelo Não-espacial e posteriormente associá-la a uma tabela do tipo objeto. Veja como editar uma tabela não espacial e como fazer a ligação entre tabelas.

Os exemplos seguintes ilustram a associação de atributos a geo-campos e geo-objetos no SPRING.

OBS: Somente a utilização de tabelas de Objetos e tabelas Não-espaciais está   implementada na versão atual do SPRING.


Atributos de Geo-Objetos no SPRING

No SPRING, os geo-objetos são definidos de forma independente de sua representação gráfica. Para estabelecer a ligação entre os geo-objetos e suas representações (em nosso exemplo, entre lotes e suas localizações num mapa de lotes) é preciso seguir os seguintes passos:



Figura - Associação de geo-objetos a representações geométricas.

NOTA: Veja a seguir como consultar objetos cadastrais a partir dos atributos definidos pelo usuário.

Consulta a Banco de Dados - índice


Consulta a Mapa de Objetos - Cadastrais ou Redes

Os recursos de visualização de mapas, no SPRING, em geral, são feitos pelo "Painel de Controle" (veja detalhes de como operar), o qual possui um bom controle para a exibição de imagens, mapas temáticos e modelos numéricos de terrenos. Porém, quando trata-se de um mapa de objetos (cadastrais ou redes) o "Painel de Controle" controla apenas a seleção do PI e de todos os objetos dentro deste, sem permitir analisar estes objetos, em função de seus atributos ou relacionamentos espaciais.

Os recursos de consulta a mapas cadastrais ou redes no SPRING vão além de uma simples apresentação da categoria de objetos. Como veremos neste capítulo, os objetos poderão ser consultados considerando o seus atributos descritivos (por exemplo: "Apresente todos as escolas que tenham mais de 1500 alunos e sejam do segundo grau" - onde os atributos número de alunos e grau da escola estão na própria tabela do objeto escola) ,ou ainda, o relacionamento espacial com outros objetos (por exemplo: "Quais as escolas que estão dentro do bairro Ipiranga e estão a 2000 metros do posto policial" - neste caso, a comparação é feita com um mapa de objetos bairros e outro objeto que represente postos de polícias).

Muitas vezes a manipulação de uma tabela com todos os geo-objetos pode tornar-se lenta em função do volume de dados. Assim, foi criado o conceito de coleção de objetos. Uma coleção permite extrair da tabela de objetos somente aqueles de interesse para o usuário, criando uma tabela auxiliar. Como exemplo, o usuário pode pedir para o sistema criar uma coleção dos polígonos de Lotes, que tenham valores de IPTU maiores que 1500, e a partir desse novo universo de objetos poderá fazer outras consultas, por exemplo, consultas espaciais, por agrupamentos ou mesmo por outros atributos.



NOTA: Veja aqui modos de como utilizar o modelo cadastral no SPRING.

Módulos de Consulta dos Objetos

As funções de consultas sobre um mapa cadastral se iniciam com uma seleção no "Painel de Controle", passando pela criação de uma Coleção de Objetos e Controle de Visualização. A partir do Controle de Visualização o usuário terá acesso aos módulos de Consulta, Consulta Espacial, Agrupamento e Tabela. Com os objetos na Tela de Visualização o usuário pode ainda consultar o módulo Atributos do objeto (com apresentação de Atributos convencionais, além de Foto, Multimídia e URL).

A figura abaixo mostra o relacionamento entre esses módulos, assim como os possíveis caminhos que o usuário pode seguir ao realizar uma consulta sobre seus objetos. Observe que existe uma dependência e uma seqüência a ser seguida entre os módulos de consulta.



A figura acima mostra que existe uma seqüência a ser seguida e uma dependência entre os módulos de consulta. A seguir descreve-se como o usuário deve proceder:

  1. No "Painel de Controle" o usuário deve definir quais serão os PI's a serem apresentados na área de desenho e especialmente qual o PI cadastral a ser consultado;
  2. Sobre o PI ativo escolhido deve-se escolher uma categoria de objeto a ser consultada. Desta categoria, pode-se trabalhar com todos (opção ALL) objetos presentes no mapa ou se desejar crie uma coleção;
  3. No módulo de Controle de Visualização de Objetos tem a função de comandar a visualização das categorias de objetos contidas em um PI cadastral ou redes. Caso uma coleção seja definida e aplicada, somente a categoria de objetos correspondente estará disponível neste módulo. Basicamente, se controla como e quais objetos serão visualizados. Além destes controles, este módulo é responsável pelo controle de exibição de legendas e pelo controle de ordenamento da seqüência de apresentação gráfica, assim como, para determinar qual categoria de objetos deve ser consultada, agrupada ou visualizada em forma tabular. O módulo também determina qual categoria de objetos está ativa para ser apontada e analisada sobre a tela.
  4. Os módulos de Consulta, Consulta Espacial, Agrupamento, Tabela e Atributos modificam a forma de apresentação gráfica do objeto consultado. Observe na figura acima que todos os módulos refletem uma apresentação na tela do monitor, que pode ser a partir da coleção de objetos ou da pré-seleção por outro módulo. A sequencia de operações é importante para obter o resultado desejado, a menos do módulo Atributos que pode ser consultado a qualquer momento, independente dos demais.



Procedimento inicial de uma consulta sobre um mapa cadastral

Apresentamos os primeiros passos para entrar no módulo de consulta do mapa de objetos. No caso, um exmplo de um mapa cadastral com quadras de Brasília.

Visualização de um mapa de objetos:


Veja a seguir maiores detalhes de como operar cada um dos módulos:



Cancelar uma consulta anterior

O sistema armazena sempre a última consulta que foi executada, memo que o usuário encerre o "spring" e retorne posteriormente. Pode-se escolher qual módulo deseja limpar, ou mesmo todos.

Limpar uma consulta depende da tela (1 a 5) em que o dado está apresentado. É uma operação que só tem efeito para mapas do tipo cadastral ou rede.

As opções de limpar consultas são:


Limpando consultas de mapas de objetos:


Consulta a Banco de Dados - índice