Академический Документы
Профессиональный Документы
Культура Документы
Cirano Iochpe
Universidade Federal do Rio Grande do Sul Instituto de Informtica - C.P. 15064 91501-970, Porto Alegre/RS - Brasil E-mail: ciochpe@inf.ufrgs.br
SUMRIO
&21&(,726 (0 6,67(0$6 '( %$1&2 '( '$'26 1.1 Banco de Dados (BD) 1.2 Sistema de Gerenciamento de Banco de Dados (SGBD) 1.3 Programa de Aplicao 1.4 Sistema de Banco de Dados (SBD) 1.5 Fases do Projeto de Banco de Dados 1.6 Modelos de Dados 12d(6 %6,&$6 '2 02'(/2 5(/$&,21$/ 2.1 Modelo Relacional 2.2 lgebra Relacional 2.3 SQL Linguagem de Consulta Estruturada 352-(72 '( %$1&2 '( '$'26 3.1 Processo de Modelagem Conceitual 3.2 Modelo Entidade-Relacionamento (E-R) 3.3 Projeto Lgico de Banco de Dados 3.4 Ferramentas CASE 352-(72 '( %$1&26 '( '$'26 *(2*5),&26 4.1 Dado, Informao e Fenmeno Geogrfico 4.2 Requisitos de Modelagem para Aplicaes de SIG 4.3 Modelos Conceituais de Dados para SIG 4.4 Modelando Banco de Dados Geogrficos com UML-GeoFrame 4.5 Projeto Lgico de Banco de Dados Geogrficos 4.6 Estudo de Caso %,%/,2*5$),$ 3 3 4 4 5 6 8 9 11 15 16 18 21 24 25 28 28 34 37
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
O componente de armazenamento de um Sistema de Informao Geogrfica (SIG), denominado sistema de banco de dados geogrficos, estrutura e armazena os dados de forma a possibilitar a realizao das operaes de anlise e consulta. Devido complexidade das aplicaes que so desenvolvidas a partir de um SIG, projetar o banco de dados geogrficos tem sido um dos grandes desafios para as organizaes usurias desses sistemas. O desenvolvimento de aplicaes de SIG tem sido feito, normalmente, de forma no metodolgica, tendo como resultado diversos problemas decorrentes de abordagens evolutivas desordenadas. O projeto de um banco de dados deve ser realizado com o apoio de um modelo de dados de alto nvel, tambm conhecido como modelo conceitual. Durante vrios anos, as pesquisas no campo dos modelos de dados para SIG centraram-se na busca por estruturas de dados para o armazenamento de dados georreferenciados, o que ficou conhecido como debate UDVWHUYHFWRU [COU 92]. Atualmente, sabe-se que para o projeto de banco de dados geogrficos so necessrios novos modelos conceituais. Essa necessidade foi identificada j no final da dcada de 80. Desde ento, diversos modelos especficos para modelagem de dados em aplicaes de SIG tm sido propostos na literatura. O objetivo deste curso apresentar uma metodologia atual para estruturao e modelagem conceitual de dados geogrficos, utilizando tcnicas bem consolidadas de projeto de banco de dados (ex.: Modelo E-R) e, tambm, tcnicas mais modernas, como a linguagem UML. A fim de fornecer uma base conceitual sobre Sistemas de Bancos de Dados, neste captulo, so apresentados diversos conceitos relacionados a Sistema de Gerenciamento de Banco de Dados (SGBD) relacional. Esta apostila uma nova edio da utilizada no curso Bancos de Dados e Sistemas de Informao Geogrfica, apresentado no GIS Brasil2001.
Por banco de dados entende-se a coleo dos dados propriamente dita. Algumas definies de banco de dados encontradas na literatura incluem: Um banco de dados uma coleo de dados relacionados [ELM 00]; Um banco de dados uma coleo de dados operacionais armazenados, sendo usados pelos sistemas de aplicao de uma determinada organizao [DAT 81]. Um banco de dados pode ser mantido manualmente ou por computador e sempre povoado com dados para um propsito especfico, ou seja, contm elementos da aplicao e informaes que circulam por ela. Numa aplicao de distribuio de energia eltrica, por exemplo, o banco de dados armazena tanto a descrio dos consumidores quanto o dados sobre o consumo mensal de cada um. Os dados armazenados em um banco de dados devem respeitar as regras da aplicao, definidas pelas restries de integridade. Por exemplo, se existe uma restrio do tipo o consumo de energia eltrica no pode ser negativo, no deve haver nenhum registro de consumo de energia cujo valor seja negativo.
Um Sistema de Gerenciamento de Banco de Dados constitui-se de uma coleo de programas que permite criar e manter o BD. Assim, um SGBD um software de propsito geral que facilita o processo de definio, construo e manipulao do BD. Por ser de propsito geral, o SGBD usado no como uma ferramenta final, mas como um software atravs do qual os programas de aplicao (descritos a seguir) so desenvolvidos. Um SGBD inclui o suporte a:
Definio do BD - especificao e descrio detalhada dos tipos, estruturas e restries referentes aos dados a serem armazenados no BD; Construo do BD - processo de carga inicial dos dados em um meio de armazenamento controlado pelo SGBD; Manipulao do BD - abrange as alteraes realizadas nos dados para refletir mudanas ocorridas no ambiente. Isto inclui as operaes de incluso e excluso de dados; Consulta aos dados - tipo de operao mais comum realizada por usurios que necessitam extrair informaes armazenadas no BD.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
3URJUDPD GH $SOLFDomR
Os programas de aplicao so sistemas desenvolvidos para um propsito especfico (ex.: sistema de estoque, sistema de vendas, folha de pagamento). O acesso e a manipulao dos dados realizado pelo programa de aplicao feito por intermdio do SGBD. Assim, o programa de aplicao realiza as funes da aplicao, enquanto o SGBD serve de base para o gerenciamento dos dados manipulados pelo programa de aplicao. Um exemplo de programa de aplicao um sistema de controle de consumo de energia eltrica. Uma de suas funes seria executar o clculo do consumo mensal de energia eltrica, a partir dos dados de leitura dos medidores. O algoritmo que descreve a poltica de cobrana de acordo com a quantidade consumida e o tipo de consumidor implementado pelo programa de aplicao, enquanto o acesso aos dados referentes ao consumo de eletricidade e aos consumidores feito atravs do SGBD. O programa de aplicao garante restries de integridade que no podem ser controladas pelo SGBD. O programa de aplicao implementa interface e relatrios especficos como, por exemplo, emisso de extrato de consumo, enquanto o SGBD pode ser usado para possibilitar ao usurio elaborar consultas eventuais (DG KRF), no previstas/fornecidas pelo programa de aplicao. A figura 1.1 ilustra que o acesso ao BD, pelos programas de aplicao, feito atravs do SGBD.
SGBD
BD
Sistema Distribuio
A existncia de bancos de dados nas organizaes uma coisa muito comum atualmente, ou seja, as pessoas j esto habituadas a usar diversos termos relacionados a banco de dados de forma bastante informal. comum se ouvir no noticirio que um determinado rgo est elaborando a construo de um novo banco de dados. No entanto, importante que os profissionais envolvidos no desenvolvimento de sistemas computacionais compreendam os diferentes termos utilizados a este respeito. Assim, Sistema de Banco de Dados um sistema composto pelos programas de aplicao, pelo SGBD e pelo BD, para um determinado conjunto de aplicaes (Figura 1.2).
PROGRAMADORES/USURIOS SISTEMA DE BD
Consultas / Programas de Aplicao SGBD Software para processar consultas/programas Software para acessar dados armazenados
Definio do BD (meta-dados)
BD Armazenado
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Muitos programas de aplicao so construdos sem o uso de SGBD para gerenciar os dados. Neste caso, o prprio programa de aplicao responsvel por implementar as rotinas que realizam o armazenamento e recuperao dos seus dados. A seguir esto listadas uma srie de vantagens e a principal desvantagem do uso de SGBD pelos programas de aplicao:
9DQWDJHQV Diminui a redundncia dos dados - Em uma organizao que possui diversos programas de aplicao comum o compartilhamento de dados entre os diversos sistemas. Quando o nmero de sistemas aumenta ou a complexidade dos mesmos cresce, comum que alguns dados sejam repetidos na busca de simplificar a implementao e a manuteno dos sistemas. Esse processo gera redundncias, que so a principal causa de dados inconsistentes nas organizaes. Padroniza a definio e o acesso aos dados - O SGBD fornece linguagens de definio e acesso aos dados que devem ser utilizadas por todos os programas de aplicao, criando, assim, uma interface nica de acesso aos dados armazenados no BD. Assegura independncia fsica e lgica dos dados - Uma das principais vantagens do uso de SGBD exatamente a liberdade que o administrador do BD tem para promover alteraes nas estruturas dos dados sem que estas mudanas provoquem uma srie de manutenes em cascata. Independncia fsica significa que alteraes podem ser feitas no nvel fsico do BD sem provocar mudanas no nvel lgico. Por exemplo, pode-se mudar o local onde est armazenado o BD (troca de servidor). Independncia lgica significa que alteraes podem ser feitas no nvel lgico do BD sem provocar alteraes nos programas de aplicao que utilizam as estruturas do BD modificadas. Por exemplo, pode-se incluir um novo campo em uma tabela sem ter de recompilar todos os programas que acessam aquela tabela. Consistncia dos dados em caso de falhas - O SGBD deve dispor de dispositivos que tragam o BD para um estado consistente mesmo aps a ocorrncia de falhas como, por exemplo, falta de luz. Sistemas de EDFNXSV devem ser providos para que o SBD fique imune tambm a falhas de hardware. Manuteno de restries de integridade da aplicao - Muitas verificaes que so realizadas durante a obteno de dados pelos programas de aplicao podem ser transferidas para o SGBD. Por exemplo, atributos cujo tipo seja data podem ter seus valores validados pelo SGBD, a fim de garantir que no ser informado nenhum ms fora do intervalo de 1 a 12. Segurana dos dados em ambiente multi-usurio - Controle de acesso e de transaes no caso de acessos simultneos a um mesmo dado pode ser feito de forma confivel pelo SGBD.
'HVYDQWDJHP A grande desvantagem do uso de um SGBD consiste na existncia de um oYHUKHDG para prover segurana, controle de concorrncia, recuperao e funes de integridade.
O processo de desenvolvimento de um banco de dados est intimamente relacionado com o ciclo de vida do desenvolvimento de software onde, a cada etapa, novas informaes e detalhes so acrescidos ao projeto do software [PRE 87]. No projeto de banco de dados, as informaes que comporo o banco de dados so especificadas utilizando-se modelos de dados em diferentes nveis de abstrao, iniciando por modelos de alto nvel e refinando-se o modelo at que sejam incorporados detalhes especficos, relacionados ao armazenamento dos dados. Segundo Elmasri [ELM 00], o projeto de banco de dados deve ser dividido em trs etapas, nas quais so empregados diferentes tipos de modelos. A figura 1.3 ilustra as trs fases do projeto de em banco de dados (FRQFHLWXDO, OyJLFR e ItVLFR) e seus respectivos produtos (HVTXHPD FRQFHLWXDO, HVTXHPD OyJLFR e HVTXHPD ItVLFR).
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Mini-Mundo
Anlise de Requisitos
Srvv qr79
Qwr 8prvhy
@rh8prvhy Hq@S
independente de software
Qwr @rhGytvp HqSryhpvhy
dependente de software
Gytvp
Qwr Atvp
@rhAtvp HqDyrr
Projeto Conceitual Nesta fase, elaborado o esquema conceitual do banco de dados, atravs da utilizao de modelos semnticos. Tais modelos empregam construtores de alto nvel de abstrao, a fim de descrever os requisitos de dados das aplicaes (ex.: modelo E-R [CHE 76]). Normalmente, so utilizadas linguagens (modelos) bastante simples, que facilitam a comunicao e o entendimento entre usurios e projetistas. So identificadas e definidas as entidades que sero representadas no banco de dados, suas estruturas (atributos) e os relacionamentos existentes entre elas. No projeto conceitual no so considerados aspectos sobre o sistema de computao (software/hardware) que ser utilizado. Projeto Lgico Nesta fase, elaborado o esquema lgico do banco de dados com base no tipo de modelo de SGBD que ser utilizado. O esquema lgico independe do software a ser usado, mas dependente de um modelo de dados. gerado a partir da aplicao de regras de transformao (mapeamento) dos construtores de abstrao utilizados no esquema conceitual em elementos de representao de dados de um dos modelos de banco de dados (ex.: relacional, hierrquico, orientado a objetos, objeto-relacional). Projeto Fsico Define os aspectos de implementao fsica do banco de dados como, por exemplo, estruturas de armazenamento, caminhos de acesso, particionamento e agrupamento. especfico para um determinado SGBD e permite, ao projetista, planejar aspectos ligados eficincia do sistema de banco de dados.
0RGHORV GH 'DGRV
Para Brodie [BRO 84], um modelo de dados uma coleo de conceitos bem definidos matematicamente, que nos auxilia a pensar e expressar as propriedades estticas e dinmicas das aplicaes. Numa viso mais especfica de banco de dados, um modelo de dados consiste de trs componentes: uma coleo de tipos de objetos, uma coleo de operadores e uma coleo de regras de integridade [COD 79]. Como exemplo dos principais modelos de banco de dados possvel citar os clssicos: Rede, Hierrquico e Relacional. Este ltimo o modelo em uso na maioria dos SGBD existentes, estando instalado em 90% das organizaes atualmente [DBM 94]. Com a evoluo do hardware e do software, novos modelos foram desenvolvidos para atender, principalmente, a uma srie de aplicaes ditas no convencionais (ex.: CAD, GIS, Automao de Escritrio). Estes novos modelos so classificados como Modelos Orientados a Objetos ou Modelos Objeto-Relacional. 0RGHORV 6HPkQWLFRV Os modelos semnticos fornecem um conjunto de conceitos (construtores), que nos auxiliam a pensar e expressar as propriedades estticas e dinmicas das aplicaes. A caracterstica bsica de um modelo, como o prprio termo explicita, que ele uma abstrao da realidade [PEU 84]. A distncia existente entre a maneira
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
na qual as entidades existem na realidade e a maneira como estas entidades so representadas internamente nos computadores levaram ao surgimento de modelos de dados em diferentes nveis de abstrao. No nvel lgico esto os modelos citados anteriormente (ex.: relacional, objeto-relacional), os quais so implementados por SGBD, incluindo suas linguagens para definio e manipulao dos dados. No nvel conceitual, esto os modelos semnticos, voltados para o entendimento por parte das pessoas (usurios e projetistas), embora possam ser processados por ferramentas CASE. Ullman [ULL 82] define um modelo de dados (semntico) como uma descrio geral de um conjunto especfico de entidades e os relacionamentos existentes entre estes conjuntos de entidades. Uma entidade pode ser qualquer coisa distinguvel (ex.: um conceito, um evento, um objeto). Um conjunto de entidades agrupa entidades que possuem caractersticas em comum (ex.: Rios, Cidades e Pessoas). Caractersticas de entidades so descritas por meio de atributos que possuem valores especficos dentro de um determinado domnio (ex.: nome e populao de cidades). O exemplo mais conhecido de modelo semntico o modelo Entidade-Relacionamento (E-R), descrito em detalhes no captulo 3. Um modelo de dados semntico fornece uma base formal (notacional e semntica) para ferramentas e tcnicas usadas para suportar a modelagem semntica do BD. Modelagem semntica o processo de abstrao no qual, somente os elementos essenciais da realidade observada so enfatizados, descartando-se os elementos no essenciais
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Neste captulo feita uma descrio resumida do modelo relacional, que o modelo utilizado na grande maioria dos SGBD integrados aos Sistemas de Informao Geogrfica (SIG), constituindo os chamados modelos de arquitetura dual. Exemplos de SIG que implementam a arquitetura dual incluem o ARC/INFO, MGE, Idrisi e Spring. Nestes sistemas, normalmente o SGBD relacional usado para armazenar os dados descritivos, enquanto os dados geomtricos so armazenados por meio de estruturas de dados mantidas em arquivos. Algumas estruturas de dados geomtricos (ex.: topologia) tambm so armazenadas no SGBD relacional. Existem SIG que so construdos com base em outras arquiteturas diferentes da arquitetura dual. Os sistemas SIRO-DBMS e SYSTEM 9, por exemplo, so baseados em sistemas com suporte a campos longos, enquanto os sistemas SmallWorld e GEO2 so construdos com base em modelos orientados a objetos.
0RGHOR 5HODFLRQDO
O modelo relacional foi proposto por Ted Codd em 1970. Fundamentado em uma forte base matemtica, possibilitou a definio precisa de operadores de consulta aos dados. No modelo relacional, o BD composto por uma coleo de tabelas. Um nico tipo construtor, que a tabela (ou relao), usado para estruturar todos os dados do BD. O modelo fornece um conjunto de linguagens para definio (DDL 'DWD 'HILQLWLRQ /DQJXDJH), para manipulao (DML 'DWD 0DQLSXODWLRQ /DQJXDJH), e para consulta ao BD (QL 4XHU\ /DQJXDJH). A linguagem de consulta SQL - 6HTXHQWLDO 4XHU\ /DQJXDJH, possui funes de definio e manipulao de dados e considerada padro para SGBD relacionais. A figura 2.1 ilustra os principais elementos do modelo relacional. Uma relao compreende toda a tabela incluindo sua identificao (ex.: Municpio), a definio das colunas (ou atributos da relao) e os dados (tuplas ou linhas da relao).
Relao Municpio
Relao (tabela)
Atributos (colunas)
Esquema do BD - Descrio textual (ou grfica) dos dados e suas estruturas. Compreende a definio dos esquemas de todas as tabelas do BD e no alterado com freqncia. Instncias do BD - Conjunto de dados armazenados no BD em um determinado instante de tempo, que respeita a definio de um esquema de BD. Pode alterar com freqncia. Estado do BD - Conjunto de dados armazenados em um BD em um determinado instante. Uma transao no BD deve levar o BD de um estado consistente a outro estado consistente. Caso contrrio esta transao deve ser desfeita. Domnio de atributo - Em uma relao, cada coluna s pode conter valores de um determinado tipo especificado pelo domnio do atributo. Assim, o domnio o conjunto de valores possveis para um atributo. Exemplos de domnios incluem os valores inteiros, reais, cadeias de caracteres, datas e valores lgicos ou ERROHDQRV (verdadeiro/falso) . Atributos chave - Toda relao deve possuir um ou mais atributos capazes de identificar, univocamente, cada tupla (linha) que possui. Esse atributo (ou conjunto de atributos) chamado, ento, de chave primria. As relaes tambm podem possuir atributos, conhecidos como chave estrangeira, cujo valor
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
aparece como chave primria em uma outra relao. As chaves estrangeiras so utilizadas para implementar os relacionamentos definidos no modelo conceitual. importante observar que o acesso a uma relao no precisa ser feito, necessariamente, atravs de chaves, ou seja, as tuplas tambm podem ser acessadas, por exemplo, de forma seqencial.
Restries de integridade - So imposies que devem ser satisfeitas pelo SGBD para uma determinada relao. Restries so especificadas no esquema e devem ser mantidas em todas as instncias deste esquema. Existem diversos tipos de restries, os principais so: Restries de domnio - O valor de cada atributo deve ser atmico e pertencer ao domnio especificado. Restries de chave - Todas as tuplas de uma relao devem ser distintas entre si. Integridade referencial - O valor de uma chave estrangeira deve ser nulo ou igual a algum valor da chave primria na relao correspondente.
Alm dos conceitos referentes ao esquema do BD, um segundo aspecto importante do modelo relacional o tipo de linguagem fornecida. Conforme descrito anteriormente, o modelo relacional prov linguagens para definio, manipulao e consulta ao BD. A possibilidade do usurio realizar consultas ao BD que no estavam previstas inicialmente no programa de aplicao, deu ao usurio um grande poder de uso, uma vez que ele agora independe do pessoal tcnico para implementar um novo relatrio. A partir de um conhecimento bsico de uma linguagem de consulta, o prprio usurio pode explorar diferentes vises dos dados armazenados. A linguagem de consulta no modelo relacional a SQL (6WUXFWXUHG 4XHU\ /DQJXDJH), a qual baseada em um padro definido internacionalmente pela ANSI. As sees seguintes apresentam uma breve introduo s linguagens lgebra Relacional e SQL.
OJHEUD 5HODFLRQDO
A lgebra uma linguagem de consulta procedural, consistindo de um conjunto de operaes que permitem a extrao de dados do BD. As operaes podem ser aplicadas a uma nica relao (unria) ou a duas relaes (binria), tendo como resultado sempre uma nova relao. As operaes na lgebra relacional podem ser classificadas em: operaes especficas para SGBD relacionais (seleo, juno, projeo, diviso, renomear e atribuio); e operaes da teoria de conjuntos (unio, interseo, diferena e produto cartesiano). O objetivo da apresentao de operaes da lgebra neste curso apenas o de facilitar o entendimento das operaes da linguagem SQL. Assim, apenas trs operaes sero descritas (seleo, projeo e produto cartesiano). Leitores interessados no assunto podem recorrer vasta bibliografia de SGBD relacionais como, por exemplo, [ELM 00]. O seguinte exemplo de BD ser usado para exemplificar o uso de operaes da lgebra relacional.
PROPRIETRIO idProp 10 20 30 NomeProp Jos Carioca Francisco Bento Mnica Aparecida ender Av. N.S. Copa,123 Rua Curva, 47 Av. da Paz, 51 telProp 99-884466 99-125544 98-337768
FAZENDA idFaz 7663 4355 8998 7644 3388 7676 8444 nomeFaz Sta Rosa Rancho Fundo Cavalo Gordo Cavalo Magro Dolar Furado Vila Cristina Alba Navarra reaFaz 300 350 253 500 640 150 321 dono 10 10 10 20 20 30 30
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
6HOHomR V Seleciona um conjunto de tuplas (linhas) que satisfaam uma dada condio. A relao resultante ter os mesmos atributos da relao original, ou seja, o mesmo esquema. A sintaxe da operao de seleo a seguinte:
condio(RELAO)
Onde a clusula de condio pode conter os seguintes operadores: <, >, , , =, , (ou), (e), (no). A consulta Selecione fazendas com mais de 300 ha deve ser expressa da seguinte forma:
3URMHomR A operao de projeo permite ao usurio selecionar um conjunto de atributos (colunas) em uma relao. A relao resultante tem apenas os atributos projetados, sendo que eventuais tuplas duplicadas so eliminadas. A sintaxe da operao de projeo a seguinte:
nomeProp,telProp (PROPRIETRIO)
Gerando a seguinte tabela resultante:
TABELA RESULTANTE nomeProp Jos Carioca Francisco Bento Mnica Aparecida telProp 99-884466 99-125544 98-337768
3URGXWR FDUWHVLDQR ; As duas operaes anteriores so operaes unrias, ou seja, operaram sobre uma nica tabela por vez. No entanto, algumas consultas s podem ser resolvidas a partir do cruzamento de duas ou mais tabelas. Por exemplo, imagine a consulta Encontre o nome dos proprietrios de fazendas com mais de 400 ha. Como o nome dos proprietrios um atributo da tabela PROPRIETRIO e a rea da fazenda um atributo da tabela FAZENDA, necessrio consultar as duas tabelas. Para resolver este problema, na lgebra relacional, necessrio criar uma nova tabela cujo esquema seja uma concatenao das duas tabelas desejadas. A operao produto cartesiano possibilita esta concatenao. Sua sintaxe a seguinte: RELAO X RELAO
10
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
O esquema da relao A X B igual ao esquema de A concatenado ao esquema de B. Assim, a consulta anterior (Encontre o nome dos proprietrios de fazendas com mais de 400 ha) pode ser resolvida da seguinte forma:
nomeProp (reaFaz > 400 ^ idProp = dono (PROPRIETRIO X FAZENDA))
Uma forma alternativa de resolver esta consulta consiste em utilizar a operao de atribuio para criar uma tabela temporria. Temp Proprietrio X Fazenda
nomeProp (reaFaz > 400 ^ idProp = dono (temp))
Importante observar que na tabela TEMP ocorrem tuplas cujos dados no so totalmente vlidos. Por exemplo, a quarta tupla tem como identificador do proprietrio (idProp) o valor 10 e como dono o valor 20. Este um exemplo de tupla que deve ser desconsiderada na consulta, o que justifica a incluso da condio que idProp deve ser igual a dono. Caso contrrio, muitas tuplas falsas seriam includas na relao resultante. Observe que todo o segundo bloco de tuplas (idProp = 20) tem como dono o valor 10, assim todas essas tuplas so tambm falsas.
A linguagem de consulta SQL (6WUXFWXUHG 4XHU\ /DQJXDJH) foi desenvolvida originalmente como a linguagem de consulta do SGBD System R, da IBM. Aps se tornar um padro GH IDWR, foi adotada internacionalmente como a linguagem de consulta para SGBD relacionais. A primeira verso do padro foi estabelecida pela ANSI em 1986, sendo batizada de SQL1. Em 1992 o padro foi revisado, dando origem ao atual padro, tambm conhecido como SQL2. Uma terceira verso (SQL3)
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
11
encontra-se em desenvolvimento, devendo ser oficializada nos prximos anos. Entre as novidades do novo padro SQL3 est a incluso de conceitos de orientao a objetos e o suporte a objetos espaciais. Na realidade, SQL muito mais do que uma linguagem de consulta, ela uma linguagem para ser usada como a linguagem do banco de dados, uma vez que ela inclui:
Linguagem de consulta (QL) Linguagem de definio de dados (DDL) Linguagem de manipulao de dados (DML) Interface para linguagens de manipulao de dados embutida Autorizao de acesso Restries de integridade Controle de transaes
A seguir, apresentada uma viso simplificada da linguagem SQL, a fim de permitir que o leitor possa ter uma idia de como possvel extrair dados de um BD atravs da linguagem de consulta de um SGBD relacional. 'HILQLomR GR HVTXHPD WDEHODV Um esquema de BD composto no s de tabelas, mas tambm por definies de vises, restries de integridade e autorizao de acesso. Todas as informaes sobre o esquema de um BD so armazenadas no catlogo do BD, o qual gerenciado pelo SGBD. A definio de uma tabela feita atravs do comando CREATE TABLE, exemplificado na declarao abaixo: CREATE TABLE FAZENDA ( idFaz INTEGER NOT NULL, nomeFaz CHAR (30), reaFaz INTEGER, dono CHAR (20), PRIMARY KEY (idFaz), FOREIGN KEY (dono) REFERENCES PROPRIETRIO ); A clusula NOT NULL especifica que o atributo no pode conter valores nulos. A clusula PRIMARY KEY indica qual (ou quais) atributo ser a chave primria da tabela. A especificao da clusula FOREIGN KEY (chave estrangeira) permite ao SGBD garantir a restrio de integridade referencial. Assim, o campo DONO na tabela FAZENDA ou ter um valor nulo, ou o valor dever ser um valor existente na tabela PROPRIETRIO. &RQVXOWDV HP 64/ Por ser uma linguagem declarativa, o usurio no precisa especificar o algoritmo a ser seguido pelo programa para a execuo da consulta, como ocorre nas linguagens procedurais (ex.: Pascal, C, Cobol). O usurio necessita apenas especificar o que ele quer e o SGBD resolve a consulta. Como conseqncia, SQL no uma linguagem computacionalmente completa, ou seja, nem tudo que possvel realizar com uma linguagem procedural possvel realizar com SQL. Por outro lado, o banco de dados pode ser consultado de forma exploratria pelo usurio, sem que este tenha que possuir grandes habilidades em programao. Em SQL, as consultas so realizadas atravs do comando SELECT-FROM-WHERE. A estrutura bsica do comando de consulta a seguinte: SELECT FROM WHERE <lista de atributos> <lista de tabelas> <lista de condies>
12
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Uma consulta tpica: SELECT FROM WHERE A1, A2, A3,...., An R1, R2, R3,...,Rn C
A1,A2,A3,...,An (C ( R1 x R2 x R3 x ... x Rn ))
A seguir so apresentados alguns exemplos de consulta em SQL.
Obter todos os atributos das fazendas com mais de 400 ha SELECT FROM WHERE * FAZENDA reaFaz > 400
Obter o nome dos proprietrios de fazenda com menos de 200 ha SELECT FROM WHERE nomeProp PROPRIETRIO, FAZENDA reaFaz < 200 and idProp = dono
O conjunto completo de clusulas do comando SELECT o seguinte: SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY <lista de colunas> <lista de tabelas> <condio>] <colunas para agrupamento>] <condio de agrupamento>] <lista de atributos>]
Apenas as clusulas SELECT e FROM so obrigatrias. Quando existentes, as demais clusulas devem aparecer na ordem especificada acima. )XQo}HV $JUHJDGDV
Funes de agregao permitem computar valores sobre grupos de linhas de uma tabela. As funes mais utilizadas esto listadas abaixo: COUNT : contagem de linhas ou valores SUM : soma MAX : mximo MIN : mnimo AVG : mdia As funes agregadas podem ser aplicadas sobre toda a tabela ou sobre um grupo de linhas. Vejamos alguns exemplos: Obter rea total das fazendas de cada proprietrio SELECT FROM GROUP BY dono, sum(reaFaz) FAZENDA dono
A clusula GROUP BY utilizada no exemplo acima, empregada para agrupar as linhas de acordo com os valores da coluna especificada (nesse caso, dono). Assim, no exemplo anterior, sero fornecidos o nome de cada proprietrio (dono) de fazenda e a soma das reas de todas as fazendas de cada um deles.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
13
Listar fazendas em ordem decrescente de rea SELECT FROM ORDER BY nomeFaz, reaFaz FAZENDA reaFaz DESC
A clusula ORDER BY utilizada para ordenar os resultados de acordo com os valores da coluna especificada. O padro da clusula a ordem crescente, quando o desejado for a ordenao decrescente, deve-se adicionar a palavra DESC aps o nome da coluna. Desse modo, a construo acima resultar o nome e a rea de todas as fazendas, ordenadas de forma decrescente de acordo com as reas.
14
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Um modelo de dados fornece uma base formal (notacional e semntica) para ferramentas e tcnicas usadas para suportar a modelagem de dados. Modelagem de dados o processo de abstrao onde somente os elementos essenciais da realidade observada so enfatizados, descartando-se os elementos no essenciais. O processo de modelagem conceitual compreende a descrio e definio dos contedos dos dados, alm de suas estruturas e de regras aplicveis aos dados [EUR 96]. A modelagem conceitual sempre feita com base em algum formalismo conceitual (ex.: Entidade-Relacionamento, Orientao a Objetos), independente do nvel de abstrao empregado. O resultado da modelagem, denominado esquema conceitual, apresentado atravs de uma linguagem formal de descrio, que possui uma sintaxe e/ou uma notao grfica. A figura 3.1 ilustra o processo de modelagem conceitual de dados.
Realidade
Formalismo Conceitual compatibilidade Tcnicas Formais de Descrio Linguagem Lxica Notao Grfica
Modelagem
Apresentao
Esquema Conceitual
Peter Chen James Martin (eng. informaes) IDEF1X Formalismo da orientao a objetos: OOA Anlise orientada a objetos OMT Tcnica de modelagem de objetos UML Linguagem de modelagem unificada
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
15
O modelo Entidade-Relacionamento (E-R), proposto por Peter Chen em 1976, baseia-se na percepo de um universo constitudo por um grupo bsico de objetos chamados entidades e por relacionamentos entre estes objetos [CHE 76]. O modelo E-R foi desenvolvido para facilitar a tarefa de projetar bancos de dados relacionais. um modelo semntico (ou conceitual) de alto nvel, ou seja, usa uma linguagem que est mais prxima do usurio do que da mquina (computador). Um esquema de dados elaborado com o modelo E-R especifica quais os dados que sero representados e no como os dados sero armazenados. Assim, um modelo independente do SGBD a ser utilizado na implementao do BD. Por possuir uma notao grfica bastante simples, de fcil aprendizado. Alm de facilitar o entendimento da estrutura do BD por parte dos usurios leigos, melhora a comunicao entre os projetistas e os usurios. A seguir so apresentados os elementos construtores do modelo E-R. (QWLGDGH Todo fenmeno de interesse da aplicao representado, ou modelado, como uma entidade. Uma entidade pode ter existncia fsica (ex.: rio, estrada, igreja) ou conceitual (ex.: empresa, cargo, municpio). Entidades so modeladas atravs do mecanismo de abstrao conhecido como classificao, no qual as entidades que so similares so descritas uma nica vez, formando um conjunto entidade. As caractersticas de uma entidade so modeladas atravs de atributos da entidade (ex.: nome e populao de um municpio). Ao contrrio do modelo relacional, no qual todo atributo deve ser atmico, no modelo E-R diversos tipos de atributos podem ser especificados. So eles:
(ex.: nome, populao) (ex.: endereo = [rua+nmero+bairro+cep]) (ex.: idade = dataHoje - dataFundao) (ex.: {telefones para contato})
A notao grfica para representar um conjunto entidade um retngulo. Os atributos podem estar dentro ou fora dos limites do retngulo, de acordo com a linguagem grfica usada. A figura 3.2 ilustra duas alternativas de modelagem do conjunto entidade Municpio e seus atributos.
codMun nomeMun populao
Municpio
dataEmanc codMun nomeMun populao dataEmanc
Municpio
16
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
(QWLGDGH )UDFD Alguns conjuntos entidade no possuem um conjunto de atributos capaz de identificar univocamente uma determinada entidade. Neste caso, sua existncia depende da existncia de outra entidade. Um exemplo clssico de entidade fraca ocorre quando um sistema de pessoal possui dados sobre os dependentes de seus funcionrios. comum que os funcionrios tenham um nmero de matrcula na empresa que usado como atributo chave da tabela de funcionrios. Por outro lado, normalmente os dependentes dos funcionrios no possuem uma matrcula prpria, bem como no possuem um conjunto mnimo de atributos que possam constituir a chave primria da tabela de dependentes. Neste caso, o conjunto entidade Dependente deve ser modelado como uma entidade fraca. A figura 3.3 ilustra a notao grfica usada para representar conjuntos de entidades fracas.
matrFunc
nomeFunc
IdDep
nomeDep
Funcionrio
salrio cargo
SRVVXL
Dependente
dataNasc sexo
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
17
&DUGLQDOLGDGHV No modelo E-R, os relacionamentos devem especificar um importante tipo de restrio de integridade que a sua cardinalidade. A cardinalidade de um relacionamento indica o nmero de entidades a qual uma outra entidade pode estar associada via um relacionamento. Em um relacionamento entre dois conjuntos entidade A e B, existem trs tipos bsicos de cardinalidades:
1:1 (um para um) cada entidade no conjunto entidade A pode estar associada a no mximo uma entidade no conjunto entidade B e vice-versa; 1:N (um para muitos) cada entidade no conjunto entidade A pode estar associada a nenhuma ou muitas entidades no conjunto entidade B e cada entidade no conjunto entidade B s pode estar associada a uma nica entidade no conjunto entidade A; M:N (muitos para muitos) cada entidade no conjunto entidade A pode estar associada a nenhum ou muitas entidades no conjunto entidade B, e vice-versa. A figura 3.5 ilustra a representao de cardinalidades nos relacionamentos:
Q
ORFDOL]D FDSLWDO
Municpio
P
Estado
VHUYH
Q
Rodovia
A fase de projeto lgico consiste em transformar, ou mapear, um esquema conceitual de dados em um esquema lgico. Nesta fase, a primeira deciso a ser tomada a escolha do SGBD no qual o BD ser implementado. Esta escolha determina o modelo de dados a ser utilizado (ex.: modelo relacional, orientado a objetos, objeto-relacional). Nesta seo apresentado um conjunto de regras a serem aplicadas para transformao de esquemas E-R em esquemas relacionais. A figura 3.6, que ilustra um esquema E-R de um sistema de cana-de-aucar, ser usada para exemplificar as regras de transformao.
18
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
codMun
0XQLFtSLR
1
nomeMun pop
VH/RFDOL]D
idFaz idTalho n rea-talho
)D]HQGD
nomeFaz m
1 reaFaz
GLYLGH(P
7DOKmR
m dat-Plantio
SURSULHGDGH
numColheita 1 telProp ender
SODQWDomR
dat-ult-colheita n prodMdia descVar
3URSULHWiULR
idProp nomeProp
9DULHGDGH
tipoVar
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
19
relacionamento, volume de uso deste relacionamento em consultas futuras, etc. Assim, embora existam regras que orientem este tipo de transformao, importante o projetista ter em mente que aspectos da aplicao devem ser considerados para uma escolha mais adequada em cada caso. As regras apresentadas a seguir so um resumo dos casos mais comuns de transformao. Apenas alguns casos especiais so comentados. 5HODFLRQDPHQWRV Relacionamentos 1:1 normalmente so transformados atravs da incluso de um atributo extra em uma das tabelas envolvidas. A escolha de qual entidade vai receber o atributo chave da outra entidade merece uma anlise especial do projetista. A figura 3.8 ilustra um esquema E-R e um possvel esquema relacional equivalente.
codMun nomeMun UF nomeUF
0XQLFtSLR
pop
FDSLWDO
(VWDGR
Municpio (cod-mun, nomeMun, pop, UF*) *UF referencia Estado Estado (UF, nomeUF)
cod-mun
0XQLFtSLR
1
nomeMun pop
)D]HQGD
nomeFazenda reaFaz
20
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
5HODFLRQDPHQWRV 01 A nica forma possvel de transformao de relacionamentos M:N atravs da definio de uma tabela adicional, cuja chave composta pelas chaves primrias das duas entidades envolvidas. Isto ocorre porque no modelo relacional h a restrio de domnio atmico. Dessa forma, no possvel incluir um conjunto de rodovias na tabela Municpio e vice-versa. A figura 3.10 ilustra um esquema E-R e o esquema relacional equivalente.
codMun nomeMun idRod nomeRod
0XQLFtSLR
pop
VHUYH
5RGRYLD
jurisdio
Municpio (cod-mun, nomeMun, pop) Rodovia (idRod, nomeRod, jurisdio) MunRod (cod-mun*, idRod*) * cod-mun referencia Municpio * idRod referencia Rodovia
7DOKmR
m dat-Plantio
Talho (id-Faz, id-talho, rea-talho) Variedade (tipoVar, descVar, prodMdia) Plantao (idFaz*, id-talho*, tipoVar*, numColheita, datPlantio, dat-ult-colheita) *idFaz,id-talho referenciam Talho *tipoVar referencia Variedade
prodMdia descVar
SODQWDomR
numColheita n dat-ult-colheita
9DULHGDGH
tipoVar
)HUUDPHQWDV &$6(
As regras de transformao apresentadas anteriormente resolvem grande parte dos problemas de transformao de esquemas conceituais em esquemas relacionais. Como se pode notar, a base para escolha da regra a ser empregada o tipo de cardinalidade do relacionamento. Portanto, o projetista deve reservar especial ateno modelagem dos relacionamentos e suas cardinalidades. Estas regras tambm so empregadas pelos programas de apoio a projeto de BD, conhecidos como ferramentas CASE. A figura 3.12 ilustra o esquema completo do sistema de cana-de-aucar elaborado atravs da ferramenta CASE ERWin.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
21
As figuras representadas no formato retangular representam tabelas do modelo relacional e no entidades do modelo E-R. Observe a existncia da tabela Plantao, que no modelo E-R corresponde a um relacionamento; Existem dois tipos de representao grfica para tabelas, retngulos com bordas retas e abaloadas. Retngulos com bordas abaloadas sinalizam tabelas resultantes da transformao de entidades fracas (ex.: Talho) ou tabelas resultantes da transformao de relacionamentos (Plantao). Observe a presena de atributos que so chaves estrangeiras (FK IRUHLJQ NH\) fazendo parte da chave primria destas tabelas (ex.: idFaz (FK) em Talho). A linha tracejada representa um relacionamento 1:N entre duas entidades fortes, que transformado pela incluso de uma chave estrangeira na tabela do lado N (que no participa da chave primria). Por exemplo, o relacionamento Fazenda Proprietrio representado por uma linha tracejada. Neste caso, a ferramenta inclui automaticamente na tabela Fazenda, o campo idProp, o qual foi renomeado para dono, assinalado como (FK). A linha contnua indica a transformao de um relacionamento 1:N, envolvendo uma de entidade fraca, ou de um relacionamento M:N. Neste caso o sistema inclui automaticamente a chave estrangeira como chave primria da tabela resultante.
A figura 3.13 ilustra o mesmo esquema relacional do sistema de cana-de-aucar, na viso chamada Modelo Lgico Detalhado, na qual cada atributo est associado a um domnio especfico.
22
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Fazenda idFaz: INTEGER nomeFaz: CHAR(30) areaFaz: FLOAT codMun: INTEGER dono: INTEGER Talhao idFaz: INTEGER idTalhao: CHAR(18) areaTalhao: FLOAT
Plantacao idFaz: INTEGER idTalhao: CHAR(18) tipoVar: SMALLINT datplantio: DATE datUlColh: DATE numColheita: INTEGER
Proprietatio idProp: INTEGER nomeProp: CHAR(20) ender: CHAR(30) telProp: CHAR(12) Variedade tipoVar: SMALLINT descrVar: CHAR(20) prodMedia: LONG
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
23
Uma informao obtida a partir do processamento ou da contextualizao de dados brutos. Um dado bruto corresponde a um valor para uma medida observada. Por exemplo, a data 07/09/1822 um dado bruto. Quando este dado est associado a um contexto torna-se informao. Assim, na expresso O Brasil tornou-se independente de Portugal em 7 de setembro de 1822, o dado transformado em informao. De modo equivalente, informao geogrfica resultado do processamento de dados geogrficos. Um dado geogrfico refere-se a uma medida observada de um fenmeno que ocorre sobre/sob a superfcie terrestre, onde a localizao da observao um componente fundamental do dado. O termo fenmeno geogrfico compreende, de forma abrangente, qualquer ocorrncia que pode ser: natural (ex.: um lago, a presso atmosfrica, uma formao geolgica); antrpica (ex.: uma rodovia, um hospital, diviso territorial poltica); de fatos (ex.: uma epidemia, uma batalha); ou mesmo de objetos ainda inexistentes (ex.: o planejamento de um gasoduto, projeto de uma usina hidroeltrica). &RPSRQHQWHV GD LQIRUPDomR JHRJUiILFD Segundo Chrisman [CHR 97], a informao geogrfica possui trs componentes bsicos: atributo, espao e tempo, que possibilitam responder, respectivamente, a trs perguntas: o qu?, onde? e quando?. Segundo Worboys [WOR 95], cada um desses componentes determina uma categoria de dimenso ao longo da qual os valores so medidos.
24
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Quando o dado espacial est relacionado com sua localizao sobre a superfcie terrestre, ou seja, so utilizadas coordenadas geogrficas (ex.: latitude/longitude), este dado, alm de ser espacial, um dado geogrfico, tambm conhecido por dado geo-espacial ou dado georreferenciado. Devido a uma herana cultural no desenvolvimento de SIG, decorrente do uso de mapas em papel, existe uma predominncia quase total no processamento de dados bidimensionais, embora seja possvel o processamento de dados espaciais em trs dimenses. &RPSRQHQWH $WULEXWR Um fenmeno geogrfico possui caractersticas qualitativas e quantitativas que so descritas de forma textual e/ou numrica. O componente atributo, tambm conhecido por atributo descritivo ou atributo noespacial, descreve as caractersticas no espaciais de um fenmeno geogrfico. Nome, populao e oramento anual de um municpio so exemplos de atributos descritivos. Atributos descritivos so os mais freqentes na maioria dos sistemas de informao em geral. A maioria dos SIG utiliza um SGBD para o gerenciamento dos atributos descritivos. Segundo Aronoff [ARO 89], existe um certo grau de incerteza que inerente ao componente atributo. Por exemplo, uma floresta de Eucaliptos pode no ser formada por rvores 100% do tipo Eucalipto ou um bairro residencial pode possuir algumas pequenas indstrias instaladas. Para alguns tipos de anlises pode ser importante considerar a existncia dessas incertezas, embora normalmente este tipo de problema seja desconsiderado pelos usurios de SIG. &RPSRQHQWH 7HPSR Todo fenmeno geogrfico eminentemente temporal, ou seja, est associado a um instante ou intervalo de tempo em que este ocorre ou em que observado [PEU 95]. O componente tempo pode ser crtico para a informao geogrfica, dependendo do tipo de fenmeno e do tipo de aplicao em que este est sendo utilizado. O componente tempo, embora muitas vezes esteja implicitamente associado aos demais componentes da informao geogrfica, tem sido tratado como uma simples informao complementar. Por exemplo, todo mapa est associado ao perodo de tempo relativo sua confeco e ao perodo de tempo relativo validade da informao apresentada. Um novo mapa retratando as divises provinciais do Brasil no sculo XVII ilustra esta situao. A maioria dos sistemas so projetados para fornecer informao atual sobre os fenmenos geogrficos. Por exemplo, um sistema de rede de telefonia deve fornecer aos seus usurios a informao mais atualizada possvel. Desta forma, a informao que extrada do sistema tida como verdadeira para o momento da consulta. comum a existncia de aplicaes onde os aspectos temporais no so contemplados ou so tratados de maneira superficial. No entanto, existem aplicaes onde o aspecto temporal fundamental. Por exemplo, em um sistema de cadastro urbano, os limites dos lotes podem ser modificados (divididos ou unidos a outros lotes), proprietrios podem ser trocados, edificaes so construdas. O histrico dessas modificaes no cadastro territorial um fator importante neste tipo de aplicao.
Devido necessidade de tratar as trs dimenses da informao geogrfica, as aplicaes de SIG impem alguns requisitos especiais de modelagem que devem ser suportados pelos modelos conceituais no projeto de banco de dados para estas aplicaes. A seguir descrito o conjunto de requisitos mnimos que um modelo conceitual de dados para aplicaes de SIG deve suportar [LIS 99a]. )HQ{PHQR *HRJUiILFR H 2EMHWR &RQYHQFLRQDO Em um banco de dados geogrficos existem, alm dos dados referentes aos fenmenos geogrficos, outros objetos convencionais, presentes na maioria dos sistemas de informao. Por exemplo, uma fazenda um fenmeno geogrfico quando suas informaes espaciais (ex.: os limites da fazenda) esto armazenadas no banco de dados. Neste mesmo banco de dados possvel ter dados sobre os proprietrios de fazendas, considerados objetos convencionais por no terem informaes espaciais associadas. Em um esquema conceitual importante que se possa diferenciar, facilmente, entre classes (ou entidades) descrevendo esses dois tipos de objetos.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
25
9LV}HV GH &DPSR H GH 2EMHWRV Segundo Goodchild [GOO 92], a realidade geogrfica pode ser observada segundo duas vises: de campo e de objetos. Na viso de campo a realidade modelada por variveis que possuem uma distribuio contnua no espao. Toda posio no espao geogrfico pode ser caracterizada atravs de um conjunto de atributos como temperatura ou tipo de solo e relevo, medidos para um conjunto de coordenadas geogrficas. Na viso de objetos, a realidade consiste de fenmenos individuais, bem definidos e identificveis. Cada fenmeno na viso de objetos tem suas propriedades individuais e ocupa um determinado lugar no espao. A realidade modelada como um grande espao onde os fenmenos esto distribudos sem que, necessariamente, todas as posies do espao estejam ocupadas. A modelagem de fenmenos geogrficos na viso de objetos1 um processo natural e direto (ex.: rios so descritos pela classe ou entidade 5LR). No entanto, um campo geogrfico (ex.: $OWLPHWULD) no pode ser modelado diretamente como uma classe, pois $OWLPHWULD no um objeto e, consequentemente, no pode ser descrito diretamente por uma classe. Um modelo conceitual de dados deve prover construtores especiais para modelar tanto os campos quanto os objetos geogrficos. A maioria dos modelos existentes no suporta a modelagem dos fenmenos geogrficos que so percebidos na viso de campo. $VSHFWRV 7HPiWLFRV Os fenmenos geogrficos possuem vrios atributos, dentre os quais o que fornece sua localizao geogrfica (atributo espacial). A localizao e a forma dos fenmenos geogrficos so representadas atravs de objetos espaciais, associados a um sistema de coordenadas. Um objeto representando um fenmeno geogrfico (ex.: um rio) deve estar associado a um ou mais objetos espaciais que representam sua localizao e sua forma sobre a superfcie terrestre. Em um SIG, esses objetos espaciais no so tratados isoladamente, mas sim, em grupos que representam fenmenos com caractersticas e relacionamentos em comum. Diferentes termos como WHPD, FDPDGD e SODQR GH LQIRUPDomR so encontrados na literatura, referindo-se a estes agrupamentos. No nvel interno de um SIG, a organizao dos dados espaciais feita em camadas fsicas (ex.: conjunto de polgonos representando os limites dos lotes urbanos). No entanto, embora o projeto de camadas fsicas seja um problema a ser tratado nas etapas de projeto lgico ou fsico, diversos autores afirmam que importante que camadas conceituais sejam definidas durante a fase de projeto conceitual [WOR 95, HAD 96]. Para Hadzilacos [HAD 96], camadas conceituais no necessitam ter uma relao um-para-um com camadas fsicas. Por exemplo, uma nica camada conceitual, como +LGURJUDILD pode dar origem a diferentes camadas fsicas, uma contendo somente os rios, outra contendo somente os lagos, etc. $VSHFWRV (VSDFLDLV A localizao geogrfica e a forma espacial dos fenmenos geogrficos podem ser implementadas, em um SIG, atravs de objetos espaciais. Todo objeto espacial possui uma geometria, que representa a forma espacial do fenmeno, sendo que suas coordenadas devem estar registradas com base em um determinado sistema de coordenadas (ex.: latitude e longitude) e um sistema de projeo (ex.: UTM). Embora os aspectos espaciais dos fenmenos geogrficos possam parecer detalhes que no deveriam ser tratados durante a modelagem conceitual, a sua incluso no esquema conceitual tem sido fator fundamental na comunicao com o usurio [LIS 00]. Na viso de objetos, os fenmenos geogrficos so representados por objetos espaciais do tipo ponto, linha, polgono ou combinaes destes, enquanto que na viso de campo uma superfcie contnua pode ser representada, por exemplo, atravs de modelos numricos, conjuntos de isolinhas, polgonos adjacentes e grade de clulas. Diferentes abordagens tm sido propostas para modelagem conceitual dos aspectos espaciais dos fenmenos geogrficos. A abordagem mais comum a que define uma associao entre a classe que descreve o
importante ressaltar a diferena entre os conceitos de YLVmR GH REMHWRV, em contrapartida viso de campos, e PRGHORV GH REMHWRV, referente orientao a objetos.
26
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
fenmeno e a classe do tipo de objeto espacial correspondente a sua representao espacial. Alguns modelos, no entanto, utilizam pictogramas2 para substituir esta associao. 0~OWLSODV 5HSUHVHQWDo}HV Uma das caractersticas das aplicaes geogrficas a possibilidade de existncia de mltiplas representaes para um mesmo fenmeno geogrfico. Esta necessidade surge em resposta complexidade da realidade a ser representada e s diferentes vises que os usurios tm de um mesmo fenmeno. Um fenmeno geogrfico pode ser representado em diferentes escalas ou projees, inclusive por diferentes objetos espaciais. A existncia de mltiplas representaes pode ser modelada atravs da incluso de vrias associaes entre o fenmeno geogrfico e os tipos de objetos espaciais correspondentes. 5HODFLRQDPHQWRV (VSDFLDLV Uma das tarefas mais importantes quando se est modelando os dados de uma aplicao a identificao de quais os relacionamentos que devero ser mantidos no banco de dados, dentre os possveis relacionamentos observveis na realidade. No domnio das aplicaes geogrficas este problema bem complexo, uma vez que o nmero de relacionamentos possveis de serem mantidos ainda maior, devido existncia dos relacionamentos espaciais entre os fenmenos geogrficos. A maioria dos SIG fornece estruturas especiais para o armazenamento explcito de alguns tipos de relacionamentos espaciais. Normalmente so mantidos somente os relacionamentos de adjacncia ou de conectividade, deixando os demais tipos de relacionamentos espaciais (ex.: pertinncia, cruza) para serem calculados a partir das coordenadas espaciais dos objetos. Por outro lado, existem aplicaes nas quais alguns relacionamentos espaciais possuem significado semntico relevante, tal como vizinhana e cruzamento de ruas. Nestes casos o projetista necessita especificar estas informaes no modelo de dados. As cardinalidades associadas aos relacionamentos formam um conjunto de restries de integridade que devem ser mantidas entre as instncias dos objetos no banco de dados. Para os relacionamentos espaciais, novos tipos de cardinalidade podem ser definidos, tais como, associao espacial, pertinncia, etc. Um modelo conceitual de dados para SIG deve fornecer meios para que o projetista represente os relacionamentos a serem mantidos no banco de dados geogrficos. Isto inclui tanto os relacionamentos convencionais como os relacionamentos espaciais. $VSHFWRV 7HPSRUDLV A maioria dos SIG disponveis atualmente considera os fenmenos como se o mundo existisse somente no presente. Dados geogrficos so alterados ao longo do tempo, mas o histrico dessas transformaes no mantido no banco de dados. Para Hadzilacos [HAD 96], a necessidade de os dados geogrficos estarem qualificados com base no tempo, se deve necessidade de se registrar estados passados de forma a possibilitar o estudo da evoluo dos fenmenos geogrficos. Para possibilitar uma anlise de dados com base na evoluo dos fenmenos geogrficos necessrio adicionar aos SIG as potencialidades dos sistemas de bancos de dados temporais. Isto implica na incluso de informaes temporais relacionadas aos fenmenos geogrficos e na extenso das linguagens de consulta disponveis para que estas suportem clusulas de condio associadas a aspectos temporais [WOR 95]. Alguns modelos conceituais propostos na literatura estendem a notao grfica para ressaltar a existncia dos aspectos temporais em determinadas classes. O modelo GeoOOA [KOS 97], por exemplo, utiliza um pictograma especial (smbolo de um relgio), para diferenciar classes temporais . Alm disso, a notao grfica do modelo estendida para representar dois tipos especiais de relacionamentos temporais: FRQH[mR DQFHVWUDO e FRQH[mR GH DWULEXWR WHPSRUDO. A figura 4.2 ilustra um trecho da modelagem de um sistema de cadastramento de lotes. No modelo GeoOOA, um relacionamento de conexo ancestral permite a associao entre verses de um mesmo objeto. Por exemplo, um lote pode ser dividido, em um determinado momento, dando origem a dois novos lotes. A conexo de atributo temporal usada para destacar uma associao decorrente da necessidade de modelar o aspecto temporal de um atributo. Na figura abaixo, a classe (VFULWXUD resultado da modelagem dos
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
27
dados histricos do lote. Na modelagem no temporal, o usual que cada lote tenha uma nica associao com o proprietrio atual.
8yhrrhorhy 8yhrprpvhy
1
1
1
1
1
8rmhprhy
8rmqrhvirhy
Os requisitos apresentados anteriormente fazem com que modelos conceituais convencionais, como o modelo E-R, no sejam adequados para modelagem de bancos de dados geogrficos, ou seja, para modelagem de aplicaes de SIG. Atualmente, diversas propostas de modelos conceituais de dados especficos para bancos de dados geogrficos podem ser encontradas na literatura. Estes modelos so, na verdade, extenses dos modelos tradicionais. Abaixo so citados os principais modelos encontrados na literatura, classificados de acordo com o tipo de formalismo usado como base:
Formalismo E-R: Modul-R [BED 96], GISER [SHE 97], Geo-ER [HAD 97]; Formalismo OO: GMOD [PIR 97], Geo-OMT [BOR 97], GeoOOA [KOS 97], MADS [PAR 98], Perceptory [BED 99], UML-GeoFrame [LIS 99].
Uma anlise crtica desses modelos, feita com base nos requisitos descritos nesta seo apresentada em [LIS 99a].
Nesta seo apresentada a abordagem UML-GeoFrame, ou seja, o uso da linguagem UML (8QLILHG 0RGHOLQJ /DQJXDJH) [BOO 98], com base no IUDPHZRUN GeoFrame [LIS 99], para a modelagem conceitual de bancos de dados geogrficos. Esta soluo possibilita a obteno de esquemas conceituais de dados numa linguagem bastante clara e, portanto, de fcil entendimento por parte dos usurios.
3$&27(
yvyvpvqhqr
&ODVVH
atributo : domnio
trrhyvhom rrpvhyvhom
*
hpvhom
&ODVVH$JUHJDGD
atributo : domnio
htrthom
pvom
6XEFODVVH
atributo : domnio
6XEFODVVH
atributo : domnio
&ODVVH&RPSRQHQWH
atributo : domnio objeto : classe
vhpvhom
28
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
mostrados na figura 4.3. Por questes, tambm de simplificao, a parte da modelagem dinmica (mtodos) no est sendo abordada. Os mecanismos de abstrao e os respectivos elementos construtores da linguagem UML, que so utilizados na abordagem UML-GeoFrame, esto resumidos a seguir:
Classificao Nos modelos orientados a objetos, um fenmeno de interesse da aplicao representado como um objeto, o qual possui uma estrutura, capaz de armazenar suas caractersticas (atributos) e seu comportamento, descrito pelo conjunto de operaes que podem ser realizadas com o objeto. Objetos semelhantes so modelados atravs da definio de uma classe, a qual especifica um conjunto de atributos que descrevem a estrutura e um conjunto de mtodos (ou operaes) que definem o comportamento dos objetos definidos pela classe. Instanciao Um objeto pertencente a uma classe dito ser uma instncia desta classe. Generalizao Classes semelhantes podem ser agrupadas e descritas de forma generalizada. Neste caso, as propriedades da classe genrica (superclasse), ou seja, atributos, mtodos e associaes, so herdadas pelas classes que foram generalizadas (subclasses). Especializao A especializao o mecanismo inverso da generalizao, no qual uma classe genrica (superclasse) pode ser especializada em uma ou mais classes (subclasses), as quais herdam as propriedades da superclasse, alm de novas propriedades poderem ser definidas. Associao Representa os relacionamentos que podem haver entre objetos de diferentes classes. Multiplicidade o nome dado cardinalidade de uma associao. Agregao Tipo especial de associao para representar relacionamentos entre objetos compostos e suas partes. Composio Tipo especial de agregao na qual a existncia do objeto composto (o todo) depende da existncia dos objetos componentes (suas partes).
Alm dos mecanismos de abstrao relacionados anteriormente, a abordagem UML-GeoFrame utiliza dois elementos prprios da linguagem UML. So eles: Pacote Usado para particionar um diagrama de classes atravs do agrupamento de elementos da linguagem UML. Esteretipo Mecanismo de extenso dos construtores da linguagem UML. Permite que o projetista defina novos construtores e os utilize na elaborao de diagramas UML.
A figura 4.4 ilustra um exemplo de diagrama de classes elaborado usando a UML. Algumas leituras que podem ser feitas neste diagrama so: uma Quadra uma agregao de Lotes; Lote Edificado e Lote Territorial so especializaes de Lote; uma Edificao uma composio de Unidades Edificadas, as quais esto associadas, cada uma, a um proprietrio; o diagrama de classes foi includo em um pacote denominado Loteamento.
Loteamento Proprietrio
1 1
Quadra
* Unidade Edificada *
* Lote
Edificao
Lote Edificado
Lote Territorial
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
29
De forma semelhante ao modelo E-R, o diagrama de classes da linguagem UML tambm no adequado modelagem de banco de dados geogrficos, por no atender a vrios dos requisitos impostos pelas aplicaes de SIG. A seguir descrito o GeoFrame, o qual estende os construtores da linguagem UML atravs da definio de um conjunto simples de esteretipos para serem usados na modelagem de banco de dados geogrficos. *HR)UDPH GeoFrame um IUDPHZRUN conceitual que fornece um diagrama de classes bsicas para auxiliar o projetista nos primeiros passos da modelagem conceitual de dados de uma nova aplicao de SIG [LIS 99]. Um IUDPHZRUN pode ser definido como um projeto genrico em um domnio que pode ser adaptado a aplicaes especficas, servindo como um molde para a construo de aplicaes. Esta definio fornece uma viso bem mais abrangente sobre a potencialidade de um IUDPHZRUN do que as definies apresentadas por autores mais ligados programao orientada a objetos. Por exemplo, Ralph Johnson define um IUDPHZRUN como sendo um projeto reutilizvel de um programa, ou parte de um programa, expresso como um conjunto de classes [JOH 92]. Como instrumento de reutilizao, um IUDPHZRUN no necessita estar implementado em uma linguagem de programao para fornecer a soluo parcial a uma famlia de problemas. O IUDPHZRUN GeoFrame (figura 4.5) foi elaborado sob esse enfoque mais genrico, onde o mesmo expressa a idia de um projeto conceitual parcial para uma famlia de aplicaes geogrficas.
UHWUDWD
Tema nome
* *
Regiogeogrfica descrio
*
ObjetoNoGeogrfico
*
FenmenoGeogrfico
CampoGeogrfico
ObjetoGeogrfico
UHSUHVHQWD
UHSUHVHQWD
*
RepresentaoCampo
*
ObjetoEspacial
2..n
Ponto
Linha
Polgono
ObjEspComplexo
GradeClulas
PolAdjacentes
Isolinhas
GradePontos
TIN
PontosIrregulares
30
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
esquema em subesquemas coesos, nos quais so agrupadas classes fortemente relacionadas entre si. Em grandes projetos, conjuntos de temas afins podem ser agrupados em um tema mais genrico, formando uma hierarquia de temas. 2EMHWR1mR*HRJUiILFR H )HQ{PHQR*HRJUiILFR Em um banco de dados geogrficos existem, alm dos dados referentes queles fenmenos georreferenciados, com ou sem representao geoespacial, objetos convencionais presentes em qualquer sistema de informao. Tais objetos no possuem referncia com relao a uma localizao geogrfica, sendo tratados, genericamente, como instncias de subclasses da classe OBJETONOGEOGRFICO. A classe abstrata FENMENOGEOGRFICO generaliza qualquer fenmeno cuja localizao em relao superfcie terrestre seja considerada. Por exemplo, um lote de terra uma instncia de FENMENOGEOGRFICO caso seus atributos espaciais estejam representados no banco de dados. Fenmenos geogrficos e objetos no geogrficos podem estar relacionados entre si (associao UHODFLRQD&RP), como no caso em que todo lote pertence a um proprietrio. A modelagem desse tipo de relacionamento permite que os dados armazenados em um SIG estejam integrados com os demais sistemas de informao da organizao. &DPSR*HRJUiILFR H 2EMHWR*HRJUiILFR Fenmenos geogrficos so percebidos, na realidade, segundo as vises dicotmicas de campo e de objeto [GOO 92]. Essas duas vises acarretam diferentes maneiras de modelagem dos fenmenos geogrficos. As classes CAMPOGEOGRFICO e OBJETOGEOGRFICO especializam a classe FENMENOGEOGRFICO, permitindo ao projetista especificar, de forma distinta porm integrada, os campos e os objetos geogrficos, respectivamente. A classe abstrata OBJETOGEOGRFICO uma generalizao de todas as classes do domnio que so percebidas na viso de objetos. Neste caso esto includas aquelas classes que representam fenmenos geogrficos que podem ser individualizados, ou seja, que possuem identidade prpria e suas caractersticas podem ser descritas atravs de atributos. A classe abstrata CAMPOGEOGRFICO generaliza os fenmenos que se enquadram na viso de campo. Campos geogrficos so modelados como funes sobre uma varivel. Com base nesta definio, um campo geogrfico pode ser modelado conceitualmente como subclasse de CAMPOGEOGRFICO. Alguns tipos de campos geogrficos, os chamados categricos, possuem uma associao especial com uma classe que representa a imagem da funo de mapeamento do campo, uma subclasse de OBJETONOGEOGRFICO. 2EMHWR(VSDFLDO uma classe abstrata cujas subclasses formam o conjunto mnimo de construtores para a especificao do componente espacial dos fenmenos geogrficos na viso de objetos. Alguns fenmenos geogrficos podem apresentar dimenso espacial complexa, ou seja, composta por outros objetos espaciais (ex.: um arquiplago). Assim, a classe OBJETOESPACIAL, possui as subclasses (PONTO, LINHA, POLGONO e OBJESPACIALCOMPLEXO), que constituem o conjunto mnimo de classes necessrias para a fase do projeto conceitual. 5HSUHVHQWDomR&DPSR Os aspectos espaciais de um campo geogrfico so abstrados de forma diferente dos aspectos espaciais de um objeto geogrfico. Para especificao do componente espacial de um campo geogrfico so usadas as subclasses da classe REPRESENTAOCAMPO. So elas: GRADECLULAS, POLADJACENTES, ISOLINHAS, GRADEPONTOS, TIN e PONTOSIRREGULARES. Um mesmo campo geogrfico pode ter seu componente espacial abstrado de diferentes formas, ou seja, atravs de mais de um desses modelos. Por exemplo, o campo 7HPSHUDWXUD pode ser abstrado por meio de um conjunto de pontos irregularmente distribudos ou por meio de isolinhas. Problema semelhante ocorre com os objetos geogrficos cujos componentes espaciais podem ser percebidos, ora por formas alternativas, ora por formas duplas, dependendo de aspectos como a escala com a qual se pretende capturar a forma espacial de cada fenmeno. A possibilidade de haver mltiplas representaes sinalizada no GeoFrame, atravs das associaes (1:n), denominadas UHSUHVHQWD.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
31
3URFHVVR GH 0RGHODJHP 80/*HR)UDPH A abordagem UML-GeoFrame permite a soluo da maioria dos requisitos de modelagem apresentados na Seo 4.2. Um esquema conceitual de dados geogrficos, construdo com base no GeoFrame, inclui, por exemplo, a modelagem dos aspectos espaciais da informao geogrfica e a diferenciao entre objetos convencionais e objetos/campos geogrficos. O processo de modelagem com base na abordagem UML-GeoFrame envolve trs etapas:
Passo 1: identificar temas e sub-temas para cada rea geogrfica; Passo 2: para cada tema, elaborar o sub-diagrama de classes. Associar classes de diferentes temas; Passo 3: modelar o componente espacial para cada fenmeno geogrfico identificado. A seguir, cada passo apresentado em maiores detalhes.
3DVVR ,GHQWLILFDU WHPDV SRU UHJLmR JHRJUiILFD Uma das primeiras atividades a ser realizada, no desenvolvimento de uma nova aplicao de SIG, a escolha da rea geogrfica para a qual os dados sero coletados e analisados. A seguir, partindo-se dos objetivos iniciais da nova aplicao, deve ser feita a identificao dos principais temas para os quais os dados sero coletados e mantidos no banco de dados geogrfico. Na abordagem UML-GeoFrame, temas so representados atravs do construtor Pacote da linguagem UML. Os diversos temas identificados na aplicao so modelados atravs da elaborao de um diagrama hierrquico de temas para cada regio geogrfica da aplicao. A figura 4.6 ilustra o diagrama de temas do sistema de gerenciamento costeiro da regio norte do litoral do estado do Rio Grande do Sul [LIS 97].
LitoralNorteRS : RegioGeogrfica
MeioAmbiente
Clima
Hidrografia
ONGs
Relevo
Vegetao
Solos
Estrada
AtivIndustrial
32
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
Ar{rtrtisvpr Piwrprpvhy
8rrrhpvhy qriwrtrtisvp
8rrrhpvhy qrphtrtisvp
Ponto Linha
somphrtyvph
8 Pontos irregulares 9 Grade de pontos 1 Polgonos adjacentes ; Isolinhas < Grade de clulas : TIN
SistemaVirio Quadra
1
3
3
Logradouro * * * *
Sistema 3 Virio
* Unidade Edificada *
* Lote
1 Trecho Lograd
* * Cruza* mento
UsoSolo Edificao
Lote Edificado
Lote Territorial
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
33
As mesmas regras de transformao de esquema conceitual em esquema lgico, apresentadas na Seo 3, podem ser aplicadas tambm em banco de dados geogrficos. No entanto, as regras apresentadas anteriormente no so suficientes, devido necessidade de transformao do componente espacial dos fenmenos geogrficos. Ao contrrio dos SGBD relacionais, que tm como base um modelo bem definido, os softwares de SIG no possuem um modelo de dados nico, ou seja, cada SIG tem seu prprio modelo lgico e suas prprias estruturas de armazenamento. Isto faz com que no exista um conjunto nico de regras de transformao para bancos de dados geogrficos. O consrcio 2SHQ GIS (2SHQ *,6 &RQVRUWLXP - OGC), fundado em 1994 por fornecedores de software, companhias de telecomunicaes, universidades, rgos governamentais, entre outros, uma organizao internacional que est criando novas padronizaes tcnicas e comerciais para garantir interoperabilidade em SIG [BUE 98]. O consrcio busca criar uma especificao de software e novas estratgias empresariais, a fim de tornar os sistemas de geoprocessamento abertos e integrar os dados geogrficos e as operaes necessrias para manipular esses dados. No momento em que os softwares de SIG estiverem integrados ao modelo de dados 2SHQ GIS, a ser possvel a unificao das regras de transformao. Nesta seo apresentado um conjunto genrico de diretrizes para transformao de esquemas conceituais, elaborados segundo a abordagem UML-GeoFrame, para um esquema lgico espao-relacional, encontrado na maioria dos SIG que so construdos segundo uma arquitetura dual. Normalmente, numa viso simplificada, pode-se dizer que os SIG organizam os dados descritivos em SGBD relacionais e os dados espaciais atravs de um conjunto de camadas, tambm denominadas de OD\HU, cobertura ou plano de informao, dependendo do software de SIG em questo. Assim, um esquema conceitual UML-GeoFrame deve ser transformado em um conjunto de tabelas com os dados descritivos e um conjunto de camadas com os dados geo-espaciais. A figura 4.9 ilustra esta idia.
CONCEITUAL temas
Eletricidade Hidrografia
Eletricidade Lagos
Cadastro
Rios Cadastro
+ { tabelas }
34
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
importante observar que uma camada no nvel lgico pode vir a ser implementada atravs de mltiplas camadas fsicas, dependendo do tipo de estrutura de dados utilizada no SIG em questo. Por exemplo, a figura 4.10 ilustra a transformao da classe Municpio. Em um SIG como o MGE da Intergraph, alm das camadas para armazenamento das formas poligonais e pontuais, seria adicionada uma camada especfica para armazenar a localizao da toponmia, ou seja, do texto formatado contendo o nome dos municpios.
&21&(,78$/
/*,&2
REMHWR JHRJUiILFR
phvirprrrhomrhpvhy
Municpio
codMun nomeMun pop dtEmanc
Municpios
Municpios
/LJDomR
UhiryhqrHvptv
&21&(,78$/
/*,&2
REMHWR JHRJUiILFR
rhvihprrrhomrhpvhy
rvore
3
rvores
&21&(,78$/
/*,&2
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
35
7UDQVIRUPDQGR &DPSRV *HRJUiILFRV = A transformao de campos geogrficos, na maioria das vezes, feita atravs da escolha de um tipo de representao espacial para o campo sendo transformado. A figura 4.13 ilustra dois exemplos de campos geogrficos que no geram informaes no SGBD.
/*,&2
Representao vetorial
UsoSolo=
<
Representao matricial
/*,&2
Solos
= 1
<<funo>>
4 TipoSolo
tipo descrio
36
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
(VWXGR GH &DVR
O governo de um novo pas africano, chamado Zimbabum, enviou seus tcnicos ao Brasil para serem treinados em geoprocessamento. Uma de suas necessidades o auxlio na estruturao do banco de dados geogrficos. A seguinte descrio foi obtida a partir de uma conversa inicial: O pas tem como lngua oficial o portugus, mas existem mais de 20 lnguas faladas por diferentes tribos. Atualmente, todo o pas est dividido em 14 grandes propriedades, que pertenciam aos antigos colonizadores. Todas as propriedades agora pertencem ao governo central, o qual deseja dividi-las, fornecendo um pedao de terra a cada tribo, segundo os seguintes critrios:
As poucas cidades existentes sero transformadas em plos industriais e comerciais, devendo ter os seus limites estabelecidos num raio de 20km da mancha urbana atual. Esta rea ser denominada municpio. Cada municpio desenvolve diversos tipos de atividades. importante manter o valor bruto da produo anual de cada municpio para cada tipo de atividade; Cada propriedade ser dividida entre as tribos que ali se encontram, bem como para grupos de imigrantes com mais de 800 membros. Cada pedao de terra, denominado fazenda, ter entre 20 e 30 Km2. Tribos com mais de 1.000 membros podero receber mais de uma fazenda, que devem ser adjacentes; Cada fazenda deve ter: no mnimo 3 nascentes de rios ou 2 nascentes e um lago; 40% de mata nativa; 50% de rea com menos de 30 graus de declividade; 50% de terras frteis, sem considerar reas at 50m a partir do leito de recursos hdricos para rios de categoria 1 e at 20m para rios de categoria 2 ou 3; As fazendas no distribudas permanecero sendo do governo para futuras partilhas ou incentivo imigrao. As atuais propriedades sero administradas por governos regionais, que recebero 50% das fazendas no distribudas, alm de administrar as cidades que se encontram em seus limites. Cada governo regional ter uma cidade que ser sua capital; Ser feito o levantamento das trilhas e caminhos existentes, com vistas a serem abertas novas estradas, bem como o levantamento dos principais rios que serviro como meio de transporte fluvial.
3UREOHPDV Usando a notao UML-GeoFrame, elaborar: 1) O diagrama de temas; 2) O esquema conceitual de dados; 3) O esquema lgico descritivo (esquema relacional) e o esquema lgico espacial (planos de informao e tipo de representao espacial). 6ROXomR 1) A figura 4.16 apresenta o diagrama de temas elaborado.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
37
Zimbabum : RegioGeogrfica
Meio transporte
Relevo
Cobertura do Solo
SHUWHQFH
* Fazenda
nome rea
*
DGMDFHQWH
Grupo
Imigrante
Tribo
Governo
4
1 0,1
*
1
nome n-membros
geral-reg governador
DGPLQ
Propriedade
nome
*
IDOD
1
*
1
IDOD
Lngua
4 Tipo Atividade
descrio indust-com
Prod Anual *
FDSLWDO
1
0,1
nome descrio
GHVHQYROYH
3 Municpio
nome populao
5HOHYR Relevo
+LGURJUDILD Declividade
= 9:;
= ;
Rio
3
1
nome categoria
* Nascente
Lago nome
4 Tipo Cobertura
* 0HLR WUDQVSRUWH
Rede Hidro
3
* Rede viria
38
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
3) O esquema lgico descritivo (esquema relacional) e o esquema lgico espacial (planos de informao e tipo de representao espacial) ficam como sugesto de exerccio para o leitor. Utilize as regras de transformao apresentadas nas sees 3.3 e 4.4.
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
39
%,%/,2*5$),$
ARONOF, S. *HRJUDSKLF ,QIRUPDWLRQ 6\VWHPV a management perspective Canada: WDL Publications, 1989. BDARD, Y. et al. Adapting data models for the design of spatio-temporal databases. &RPSXWHUV (QYLURQPHQW DQG 8UEDQ 6\VWHPV, Bristol-UK, v.20, n.1, 1996. BDARD, Y. Visual modeling of spatial databases: towards spatial PVL and UML. To appear in *HRPDWLFD, June, 1999. BUEHLER, K.; MCKEE, L. 7KH 2SHQ*,6 JXLGH Massachusetts, Available at: <http://www.2SHQ*,6.org/techno/guide.html>. Jun, 1998. USA.
[ARO 89] [BED 96] [BED 99] [BUE 98] [BOO 98] [BOR 97]
BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. 7KH 8QLILHG 0RGHOLQJ /DQJXDJH 8VHU *XLGH. Addison-Wesley, 1998. BORGES, K. A. V. 0RGHODJHP GH 'DGRV *HRJUiILFRV XPD H[WHQVmR GR PRGHOR 207 SDUD DSOLFDo}HV JHRJUiILFDV. Belo Horizonte: Fundao Joo Pinheiro, 1997. Dissertao de Mestrado. BRODIE, M. L. On the development of data models. In: BRODIE, M. L.; MYLOPOULOS, J.; SCHMIDT, J.W. (Eds.). 2Q &RQFHSWXDO 0RGHOLQJ. New York: Springer-Verlag, 1984. p.1948. CHEN, P.P.S. The entity-relationship model: Towards a unified view of data. $&0 7UDQV 'DWDEDVH 6\VWHP, New York, n.1, 1976. CHRISMAN, N. ([SORULQJ *HRJUDSKLF ,QIRUPDWLRQ 6\VWHPV. New York: John Wiley & Sons, 1997. CODD, E. F. Extending the database relational model to capture more meaning. $&0 7UDQV 'DWDEDVH 6\VWHPV, New York, v.4, n.4, p.397-434, 1979. COUCLELIS, H. People manipulate objects (but cultivate fields): beyond the raster-vector debate in GIS. In 7KHRULHV DQG PHWKRGV RI VSDWLDOWHPSRUDO UHDVRQLQJ LQ JHRJUDSKLF VSDFH Berlin: Springer Verlag, 1992. p.65-77. (Lecture Notes in Computer Science 639). DATE, C. J. $Q ,QWURGXFWLRQ WR 'DWDEDVH 6\VWHPV. 3. ed. Reading: Addison-Wesley, 1981. DBMS On Line. $ QHZ GLUHFWLRQ LQ '%06: Montage Softwares Dr. Michael R. Stonebraker takes the wraps off his new object-relational DBMS. DBMS Interview, 1994. ELMASRI, R.; NAVATHE, S. B. )XQGDPHQWDOV RI 'DWDEDVH 6\VWHPV 2.ed. Menlo Park, CA: Addison-Wesley, 1994. EUROPEAN COMMITTEE FOR STANDARDIZATION. *HRJUDSKLF LQIRUPDWLRQ GDWD GHVFULSWLRQ FRQFHSWXDO VFKHPD ODQJXDJH. Brussels: CEN, 1996. (Report CR 287005). GOODCHILD, M. F., Geographical data modeling. &RPSXWHUV n.4, p.401-408, 1992. *HRVFLHQFHV, London, v.18,
[BRO 84]
[DAT 81] [DBM 94] [ELM 94] [EUR 96] [GOO 92] [HAD 96]
HADZILACOS, T.; TRYFONA, N. Logical data modelling for geographical applications. ,QWHUQDWLRQDO -RXUQDO RI *HRJUDSKLFDO ,QIRUPDWLRQ 6\VWHPV, London, v.10, n.2, p.179-203, 1996. HADZILACOS, T.; TRYFONA, N. An extended entity-relationship model for geographic applications. 6,*02' 5HFRUG, V.26, N.3, 1997. JOHNSON, R. E. Documenting frameworks using patterns. In: OBJECT-ORIENTED PROGRAMMING SYSTEMS, LANGUAGES AND APPLICATIONS CONFERENCE OOPSLA, 1992, Vancouver. 3URFHHGLQJV Vancouver: ACM, 1992. KSTERS, G. et al. GIS-Application Development with GeoOOA. ,QWHUQDWLRQDO -RXUQDO RI *HRJUDSKLFDO ,QIRUPDWLRQ 6FLHQFH, London, v.11, n.4, 1997.
[KOS 97]
40
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
[LIS 97]
LISBOA FILHO, J.; IOCHPE, C.; GARAFFA, I. M. Modelos conceituais de dados para aplicaes geogrficas: uma experincia com um SIG interinstitucional. In: SIMPSIO BRASILEIRO DE GEOPROCESSAMENTO, 4., So Paulo, 1997. $QDLV So Paulo: UPUSP, 1997. LISBOA FILHO, J.; IOCHPE, C. Specifying analysis patterns for geographic databases on the basis of a conceptual framework. In: ACM SYMPOSIUM ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 7., 1999, Kansas City, USA. 3URFHHGLQJV Kansas City: ACM Press, 1999. LISBOA FILHO, J.; IOCHPE, C. Um estudo sobre modelos conceituais de dados para projeto de bancos de dados geogrficos. 5HYLVWD ,3,QIRUPiWLFD 3~EOLFD, Belo Horizonte, v.1, n.2, 1999. LISBOA FILHO, J.; IOCHPE, C.; HASENACK, H.; WEBER, E. J. Modelagem conceitual de banco de dados geogrficos: o estudo de caso do projeto PADCT/CIAMB. In: UFRGS/CENTRO DE ECOLOGIA. (QHUJLD H 0HLR $PELHQWH. Porto Alegre: Editora da Universidade, 2000. PARENT, C. et al. Modeling spatial data in the MADS conceptual model. In: INTERNATIONAL SYMPOSIUM ON SPATIAL DATA HANDLING. 1998, Vancouver, Canada. 3URFHHGLQJV Vancouver, 1998. PEUQUET, D. J. A conceptual framework and comparison of spatial data models. &DUWRJUDSKLFD, [S.l.], n.21, p66-113, 1984. PEUQUET, D. J. An event-based spatiotemporal data model (ESTDM) for temporal analysis of geographical data. ,QWHUQDWLRQDO -RXUQDO RI *HRJUDSKLFDO ,QIRUPDWLRQ 6\VWHPV, London, v.9, n.1, p.7-24, 1995. PIRES, F. 8P DPELHQWH FRPSXWDFLRQDO SDUD PRGHODJHP GH DSOLFDo}HV JHRJUiILFDV. Campinas: Unicamp, Instituto de Computao, 1997. Tese de Doutorado. PRESSMAN, R.S. 6RIWZDUH (QJLQHHULQJ a practitioners approach. 2.ed. New York: McGrawHill, 1988. SHEKHAR, S. et al. Data models in geographic information systems. &RPPXQLFDWLRQV RI WKH $&0, New York, v.40, n.4, 1997. ULLMAN, J. D. 3ULQFLSOHV RI 'DWDEDVH 6\VWHPV. 2. ed. Rockville: Computer Science Press, 1982. WORBOYS, M.F. *,6 $ &RPSXWLQJ 3HUVSHFWLYH. London: Taylor and Francis, 1995.
[LIS 99]
[PAR 98]
[PIR 97] [PRE 87] [SHK 97] [ULL 82] [WOR 95]
Prof. Dr. Jugurta Lisboa Filho e Prof. Dr. Cirano Iochpe out/2001
41