Beruflich Dokumente
Kultur Dokumente
Bancos de Dados
Jugurta Lisboa Filho
Universidade Federal de Viosa
Departamento de Informtica
36570-000 Viosa/MG Brasil
E-mail: jugurta@dpi.ufv.br
5 BIBLIOGRAFIA 39
CURSO Estruturao e Modelagem de Bancos de Dados
Jugurta Lisboa Filho
PROGRAMADORES/USURIOS
SISTEMA
DE BD Consultas / Programas de Aplicao
Definio do BD BD
(meta-dados) Armazenado
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 desvantagem do uso de SGBD no
desenvolvimento de programas de aplicao:
Vantagens
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 tambm, quando cresce a complexidade destes sistemas,
comum que alguns dados sejam repetidos a fim de simplificao da implementao e da
manuteno dos sistemas. Como conseqncia, surgem as redundncias, o que so srias
fontes 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-se
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 back-ups 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, a verificao de valores fornecidos em uma data so validados com
relao a se ter um ms com valores entre 1 e 12, o mesmo ocorrendo com o valor do dia (que
depende do ms).
Segurana dos dados em ambiente multi-usurio - Controle de acesso e de transaes no caso
de multi acesso a um mesmo elemento de dado pode ser feito de forma confivel pelo SGBD.
Desvantagem
A grande desvantagem do uso de um SGBD est exatamente na existncia de um overhead
para prover segurana, controle de concorrncia, recuperao e funes de integridade.
Mini-Mundo
Anlise de Requisitos
Requisitos de BD
independente de software
Projeto Esquema Lgico
dependente de software Lgico (Mod. Relacional)
Projeto Conceitual Nesta fase elaborado o esquema conceitual do banco de dados, onde
so utilizados modelos semnticos que empregam construtores de abstrao de alto nvel para
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 quais 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. So gerados a partir da aplicao de
Modelos Semnticos
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 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, so empregados os
modelos semnticos, os quais so 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 que seja 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 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
Relao Municpio
Esquema CodMun NomeMun Populao
Atributos (colunas)
PROPRIETRIO
idProp nomeProp ender telProp
10 Jos Carioca Av. N.S. Copa,123 99-884466
20 Francisco Bento Rua Curva, 47 99-125544
30 Mnica Aparecida Av. da Paz, 51 98-337768
FAZENDA
idFaz nomeFaz reaFaz dono
7663 Sta Rosa 300 10
4355 Rancho Fundo 350 10
8998 Cavalo Gordo 253 10
7644 Cavalo Magro 500 20
3388 Dolar Furado 640 20
7676 Vila Cristina 150 30
8444 Alba Navarra 321 30
Seleo ()
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:
TABELA RESULTANTE
idFaz nomeFaz reaFaz dono
4355 Rancho Fundo 350 10
7644 Cavalo Magro 500 20
3388 Dolar Furado 640 20
8444 Alba Navarra 321 30
Projeo ( )
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 telProp
Jos Carioca 99-884466
Francisco Bento 99-125544
Mnica Aparecida 98-337768
Produto cartesiano ( X )
As duas operaes anteriores so operaes unrias, ou seja, s podem operar sobre uma
nica tabela por vez. 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
O esquema da relao A X B = esquema de A concatenado ao esquema de B. Assim, para
resolver a consulta Encontre o nome dos proprietrios de fazendas com mais de 400 ha pode-se
expressar da seguinte forma:
TABELA RESULTANTE
nomeProp
Jos Carioca
Francisco Bento
Uma forma alternativa de resolver esta consulta usando a operao de atribuio para criar
uma tabela temporria.
Temp <- Proprietrio X Fazenda
Importante observar que na tabela TEMP ocorrem tuplas cujas 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 deva 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 seguir, uma viso simplificada da linguagem SQL apresentada, cujo objetivo apenas o 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.
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.
Consultas em SQL
Por ser uma linguagem declarativa o usurio no necessita especificar o algoritmo a ser
seguido pelo programa para a execuo da consulta, como ocorre nas linguagens de programao
procedurais (ex.: Pascal, C, Cobol). O usurio necessita apenas especificar o que ele quer e o
SGBD deve resolver 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:
Funes Agregadas
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.
Permitem calcular valores sobre grupos de linhas, definidas pela clusula GROUP BY. Vejamos
alguns exemplos:
Realidade
Formalismo fornece
regras para Modelagem
Conceitual
compatibilidade
fornece
Tcnicas Formais de Descrio gramtica para
Apresentao
Linguagem Lxica
Notao Grfica
Esquema
Conceitual
Entidade
Todo fenmeno de interesse da aplicao representado, ou modelado, como uma entidade.
Uma entidade pode ter existncia fsica (ex.: rio, estrada, igreja) ou existncia 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:
Atmico (ex.: nome, populao)
Composto (ex.: endereo = [rua+nm+bairro+cep])
Derivado (ex.: idade = dataHoje - dataFundao)
Multivalorado (ex.: {telefones para contato})
A notao grfica para representar um conjunto entidade um retngulo, podendo os atributos
estarem dentro ou fora dos limites do retngulo, de acordo com a linguagem grfica usada. As figuras
abaixo ilustram duas alternativas de modelagem do conjunto entidade Municpio e seus atributos.
codMun nomeMun
Municpio
populao codMun
Municpio nomeMun
dataEmanc populao
dataEmanc
Chave Primria
Como na implementao de um banco de dados relacional, o conceito de chave primria de
fundamental importncia, mesmo sendo um conceito mais prximo da implementao, importante
que sejam identificadas os atributos que comporo a chave primria de um conjunto entidade.
Chave primria o atributo (ou conjunto de atributos) que identifica(m) univocamente cada
entidade em um conjunto entidade. No exemplo acima, o atributo codMun um candidato a ser
escolhido como chave primria para o conjunto entidade Municpio.
Entidade Fraca
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 abaixo ilustra a notao grfica usada para representar conjuntos de entidades fracas.
Relacionamento
O segundo construtor do modelo E-R o construtor para representao de relacionamentos.
Um relacionamento descreve uma associao entre duas ou mais entidades. Por exemplo, as
expresses abaixo sinalizam relacionamentos importantes que devero ser representados no
esquema do BD.
Salvador capital da Bahia.
Curitiba capital do Paran.
Belo Horizonte localiza-se em MG.
Viosa localiza-se em MG.
Da mesma forma que entidades semelhantes so agrupadas em conjuntos entidade,
relacionamentos semelhantes so agrupados em conjuntos relacionamentos e modelados uma nica
vez. Assim, os relacionamentos acima poderiam ser classificados da seguinte forma:
Municpio capital de Estado.
Municpio localiza-se em Estado.
Uma notao grfica para representao desses relacionamentos exemplificada na figura
abaixo.
localiza
Municpio Estado
capital
A modelagem dos relacionamentos uma das tarefas mais importantes no projeto conceitual.
a partir dos relacionamentos que o banco de dados poder ser explorado atravs de consultas. O
projetista de uma aplicao deve ter a habilidade de escolher, dentre uma infinidade de possveis
relacionamentos, aqueles que so importantes de acordo com os objetivos do sistema.
Cardinalidades
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 s quais 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 abaixo ilustra a representao de cardinalidades nos relacionamentos:
n 1
localiza
Municpio Estado
1 (0,1)
capital
m
serve
n
Rodovia
codMun nomeMun
Municpio Esquema conceitual de um
pop
1
sistema de cana-de-aucar
seLocaliza
idTalho rea-talho
idFaz n
Transformando Entidades
Normalmente, cada entidade d origem a uma tabela, cujas colunas correspondem aos
atributos da entidade. Duas notaes para o modelo relacional, uma textual e outra grfica, so
apresentadas abaixo. A notao grfica a notao do modelo IDEF1X, utilizada na ferramenta
CASE ERWin.
Municpio
codM un nom eM un
M u n ic p io codMun
pop nomeMun
populao
dataEmanc
A notao textual uma verso simplificada, na qual os domnios dos atributos so suprimidos
para efeitos didticos. Os atributos que fazem parte da chave so sublinhados. Inicialmente, no
esquema E-R do sistema de cana-de-aucar, as seguintes tabelas poderiam ser deduzidas a partir
desta regra:
Municpio (cod-mun, nomeMun, pop)
Proprietrio (idProp, nomeProp, ender, telProp)
Fazenda (idFaz, nomeFaz, reaFaz)
Talho (idFaz, idTalho, reaTalho)
Variedade (tipoVar, descrVar, prodMdia)
Observe que a tabela Talho possui uma chave dupla devido a entidade ser fraca. A aplicao
das demais regras provocaro mudanas em algumas destas tabelas, como ser visto a seguir.
Transformando Relacionamentos
Relacionamentos podem ser transformados de duas formas distintas: (1) atravs da incluso
do atributo chave de uma das entidades, na tabela resultante da transformao da outra entidade
envolvida no relacionamento; (2) definio de uma tabela especfica para armazenar os
relacionamentos, a qual tem como chave primria, as chaves primrias das duas tabelas envolvidas.
Portanto, a transformao de relacionamentos depende de vrios aspectos do problema
(sistema) em questo. Exemplos que influenciam na deciso de qual a melhor forma de transformar
os relacionamentos incluem, por exemplo, cardinalidade opcional, volume de entidades envolvidas
em um determinado tipo de 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.
Relacionamentos 1:1
Relacionamentos 1:1 normalmente so transformados atravs da incluso de um atributo extra
em umas das tabelas envolvidas. A escolha de qual entidade vai receber o atributo chave da outra
entidade merece uma anlise especial do projetista. A figura abaixo ilustra um esquema E-R e um
possvel esquema relacional equivalente.
1 (0,1)
Municpio capital Estado
pop
A incluso de um asterisco (*) no campo UF significa que UF uma chave estrangeira para
outra tabela, no caso a tabela Estado. Uma outra alternativa para a transformao deste esquema
E-R est mostrado abaixo.
Municpio (cod-mun, nomeMun, pop)
Estado (UF, nomeUF, cod-mun-capital*)
*cod-mun-capital referencia Municpio
Qual das alternativas a melhor? Analise o que ocorre com as colunas UF, da tabela Municpio
(primeira alternativa) e cod-mun-capital, da tabela Estado (segunda alternativa).
Relacionamentos 1:N
Ao contrrio dos relacionamentos 1:1, em que h a opo de escolha, em um relacionamento
1:N a entidade do lado N sempre vai receber o(s) atributo(s) chave da entidade do lado 1, a menos
que o projetista opte por transformar o relacionamento em uma tabela prpria (caso excepcional).
c o d-m u n nomeMun
Municpio
pop
1 Municpio (cod-mun, nomeMun, pop)
Fazenda (idFaz, nomeFaz, reaFaz, codMun*)
seLocaliza
*codMun referencia Municpio
id-Faz n
Qual o problema de se incluir o campo IdFaz
Fazenda na tabela Municpio?
nomeFazenda reaFaz
Relacionamentos M:N
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 abaixo ilustra um
esquema E-R e o esquema relacional equivalente.
M N
Municpio serve Rodovia
pop jurisdio
id-talho rea-talho
tipoVar
Municpio
codMun
nomeMun
pop
Fazenda Plantacao
idFaz Talhao idFaz (FK)
idTalhao (FK)
nomeFaz idFaz (FK)
tipoVar (FK)
areaFaz idTalhao
codMun (FK) datplantio
areaTalhao
dono (FK) datUlColh
numColheita
Proprietatio
idProp Variedade
nomeProp tipoVar
ender
telProp descrVar
prodMedia
A figura ilustra o que na ferramenta ERWin chamado de Nvel Lgico, uma vez que o nvel de
detalhe apresentado est mais prximo do modelo relacional do que do modelo conceitual, mesmo
embora a figura se assemelhe bastante com um esquema E-R. Alguns detalhes podem ser
observados na figura acima. So eles:
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 foreign key)
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 (com um diamante na ponta que no significa nada). 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.
Municpio
codMun: INTEGER
nomeMun: CHAR(30)
pop: LONG
Fazenda Plantacao
idFaz: INTEGER Talhao idFaz: INTEGER
idTalhao: CHAR(18)
nomeFaz: CHAR(30) idFaz: INTEGER
tipoVar: SMALLINT
areaFaz: FLOAT idTalhao: CHAR(18)
codMun: INTEGER datplantio: DATE
areaTalhao: FLOAT
dono: INTEGER datUlColh: DATE
numColheita: INTEGER
Proprietatio
idProp: INTEGER Variedade
nomeProp: CHAR(20) tipoVar: SMALLINT
ender: CHAR(30)
telProp: CHAR(12) descrVar: CHAR(20)
prodMedia: LONG
tempo
atributo
espao
Para que um dos trs componentes possa ser medido deve-se fixar um segundo componente e
usar o terceiro como controle (Sinton, 1978 Apud [CHR 97]). Por exemplo, para medir a altitude
(atributo) de uma determinada regio, fixa-se o componente tempo, faz-se variar a posio no espao
(controle) e toma-se o valor da altitude para os diversos pontos na regio. Um segundo exemplo
compreende a medio da temperatura em uma estao meteorolgica. Neste caso, a localizao da
estao fixa (espao), o perodo de tempo da observao serve de controle e a temperatura
(atributo) medida para cada unidade de tempo estabelecida. A definio de qual dimenso
pretende-se fixar, usar como controle ou medir, possibilita uma grande variedade de estruturas de
medidas da informao geogrfica.
Componente Espao
O componente espacial descreve a localizao geogrfica e a forma geomtrica do fenmeno
descrito pela informao geogrfica, alm de relacionamentos com outros fenmenos geogrficos.
Como a principal funo de um SIG possibilitar a realizao de operaes de anlise espacial, o
componente espacial o mais importante no contexto de SIG.
Um dado geogrfico , antes de mais nada, um dado espacial, isto , descreve a forma
geomtrica (coordenadas numricas) de um objeto no espao. Por exemplo, a forma de um cubo no
espao ou uma circunferncia projetada no espao so dados espaciais. Assim, uma linha
3 2
unindo dois pontos quaisquer em uma imagem de ecografia um dado espacial, mas no um dado
geogrfico.
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.
Componente Atributo
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 no-espacial, 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 utilizam 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.
Componente Tempo
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.
Aspectos Temticos
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 tema, camada
e plano de informao 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
1
importante ressaltar a diferena entre os conceitos de viso de objetos, em contrapartida viso de campos,
e modelos de objetos, referente orientao a objetos.
uma relao um-para-um com camadas fsicas. Por exemplo, uma nica camada conceitual, como
Hidrografia, pode dar origem a diferentes camadas fsicas, uma contendo somente os rios, outra
contendo somente os lagos, etc.
Aspectos Espaciais
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 fenmeno e a classe do tipo de objeto espacial correspondente a sua
2
representao espacial. Alguns modelos, no entanto, utilizam pictogramas para substituir esta
associao.
Mltiplas Representaes
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.
Relacionamentos Espaciais
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.
2
Pequenos smbolos grficos includos na definio das classes/entidades.
Aspectos Temporais
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 da 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: conexo ancestral e conexo de atributo temporal. A figura abaixo ilustra
um trecho da modelagem de um sistema de cadastramento de lotes.
PACOTE
multiplicidade
Classe 1 * ClasseAgregada
Loteamento
Proprietrio Quadra
1
1
* * *
Unidade
Edificada Lote
* 1 Lote Lote
Edificao
Edificado Territorial
GeoFrame
GeoFrame um framework 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 framework 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 framework do
que as definies apresentadas por autores mais ligados programao orientada a objetos. Por
exemplo, Ralph Johnson define um framework 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 framework no necessita estar implementado em uma
linguagem de programao para fornecer a soluo parcial a uma famlia de problemas. O framework
GeoFrame (figura seguinte) foi elaborado sob esse enfoque mais genrico, onde o mesmo expressa a
idia de um projeto conceitual parcial para uma famlia de aplicaes geogrficas.
* retrata 1
Tema Regiogeogrfica
nome descrio
*
* *
ObjetoNoGeogrfico FenmenoGeogrfico
CampoGeogrfico ObjetoGeogrfico
1 1
representa representa
* *
RepresentaoCampo ObjetoEspacial 2..n
Tema e RegioGeogrfica
As classes TEMA e REGIOGEOGRFICA formam a base de qualquer aplicao geogrfica. Toda
aplicao geogrfica tem como objetivo o gerenciamento e a manipulao de um conjunto de dados
para uma determinada regio de interesse, constituindo um banco de dados geogrfico. Assim, para
cada regio geogrfica pode-se especificar uma coleo de temas.
Outra vantagem da utilizao do conceito de temas, no esquema conceitual, que ele funciona
como um mecanismo para reduo da complexidade em grandes esquemas. comum existirem
aplicaes geogrficas com centenas de entidades modeladas (ex.: SIGPROGB [LIS 97]). O uso de
temas permite ao projetista dividir o 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.
ObjetoNoGeogrfico e FenmenoGeogrfico
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. Alguns 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 relacionaCom), 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.
CampoGeogrfico e ObjetoGeogrfico
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.
ObjetoEspacial
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 O BJETOESPACIAL, possui as subclasses
(PONTO, LINHA, POLGONO e OBJESPACIALCOMPLEXO), que constituem o conjunto mnimo de classes
necessrias para a fase do projeto conceitual.
RepresentaoCampo
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 Temperatura 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
representa.
LitoralNorteRS : RegioGeogrfica
MeioAmbiente AtividadeAntrpica
Abastecimento
Clima Hidrografia ONGs
gua
Loteamento SistemaVirio
4 Quadra
3 4 Sistema 3
Proprietrio Logradouro
1
*
Virio
1
* * * * * *
Unidade 4 3 * 1 Trecho 3
*
Cruza- 3
Edificada Lote * *
Lograd
mento
*
UsoSolo
USO-SOLO
4
ATIV_CARVO
3 4 =
1
Municpio TipoUsoSolo
EmpresaCarbonfera UsoCobSolo funo
= 3
histrico : char BASE_CART
produtividade : real
classFuncional : int
1
<
3*
ImagemSat RecursoHdrico
*
MinaCarvo
* 3 data : date
=
PermanIntermi : boolean
3
nome : char
tipoExplorao : int
1 Jazida
lavrado : boolean
89;
Topografia Rodovia
ativa : boolean
jurisdio : char
CONCEITUAL LGICO
temas camada, categoria, diretrio
Eletricidade
Eletricidade
Hidrografia
Lagos
Cadastro
Rios
Cadastro
+ { tabelas }
CONCEITUAL LGICO
objeto geogrfico
com atributo e com representao espacial
Municpio
Municpios
codMun
nomeMun Municpios
pop
dtEmanc Ligao
Tabela de Municpios
codMun nomeMun pop dtEmanc
CONCEITUAL LGICO
objeto geogrfico
sem atributo, mas com representao espacial
rvore
3
rvores
CONCEITUAL LGICO
objeto no geogrfico
Proprietrio
Objeto sem representao espacial
CPF
nome
endereo Tabela de Proprietrios
CPF nome endereo
CONCEITUAL LGICO
campo geogrfico
Relevo=
;
Representao vetorial
UsoSolo=
<
Representao matricial
Alguns campos geogrficos, no entanto, podem estar diretamente relacionados a algum tipo de
legenda. Na abordagem UML-GeoFrame este tipo de associao feita atravs de um esteretipo
especial identificado por <<funo>>. A figura abaixo ilustra um exemplo tpico de campo geogrfico
que possui uma ligao especial com uma tabela correspondente no SGBD.
CONCEITUAL LGICO
campo geogrfico
Solos =
1 Representao vetorial com topologia
<<funo>> Ligao
TipoSolo
4 Tabela de Tipos de Solos
tipo descrio
Em alguns SIG a tabela associada a este tipo de campo geogrfico pode no estar
necessariamente armazenada no SGBD, mas sim, ser mantida junto com a estrutura dos dados
espaciais. Exemplos de SIG que trabalham desta forma incluem o Idrisi e o Spring.
Um aspecto importante a ser observado que estes exemplos servem para chamar a ateno
do leitor sobre a diferena existente entre o nvel de abstrao em que os fenmenos geogrficos so
classificados nas vises de campo e de objetos, e o nvel de abstrao mais baixo, no qual as
estruturas de dados so classificadas como sendo vetoriais ou matriciais (raster). Observe na figura
anterior que o campo geogrfico est sendo transformado em uma estrutura vetorial com topologia.
Este mesmo campo geogrfico poderia ter sido transformado para uma estrutura de dados matricial,
onde cada clula estaria associado a um determinado tipo de solo.
Da mesma forma, o componente espacial de um fenmeno geogrfico percebido na viso de
objetos (ex.: estados brasileiros) pode ser transformado em uma camada fsica implementada tanto
numa estrutura de dados matricial como numa estrutura de dados vetorial (com ou sem topologia). A
figura abaixo ilustra fenmenos geogrficos percebidos na viso de objetos (rio, estrada, etc)
podendo ser implementados atravs dos dois tipos de representao espacial.
Problemas
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).
Soluo
1) A figura abaixo apresenta o diagrama de temas elaborado.
Zimbabum : RegioGeogrfica
Diviso Poltica
nome
*
rea adjacente
* *
Grupo 3 3 4 1
Tribo Governo
0,1 Propriedade3
Imigrante
1
nome
origem
nome
n-membros
geral-reg
governador
admin
n-membros nome
*
*
fala
fala Prod 4 1
capital
0,1
1 1 Anual * 1
Lngua
4 Tipo 4 ano 3
Atividade Valor bruto Municpio
* *
Relevo
Hidrografia
= Declivi- = 3
9:; ;
Relevo
3
dade Rio
1 * Nas-
cente
3 Lago
nome nome
Cobertura do Solo categoria
*
Cobert = <<funo>> Tipo 4 Meio transporte
Solo
< Cobertura
3
Vias
3 3
Tipo de Solo Rede * Rede
viria
Classe 4
Hidro
Tipo de = <<funo>> id-via
tipo
Solo
1 Solo
5 BIBLIOGRAFIA
[ARO 89] ARONOF, S. Geographic Information Systems: a management perspective. Canada:
WDL Publications, 1989.
[BED 96] BDARD, Y. et al. Adapting data models for the design of spatio-temporal databases.
Computers, Environment, and Urban Systems, Bristol-UK, v.20, n.1, 1996.
[BED 99] BDARD, Y. Visual modeling of spatial databases: towards spatial PVL and UML. To
appear in Geomatica, June, 1999.
[BUE 98] BUEHLER, K.; MCKEE, L. The OpenGIS guide. Massachusetts, USA.
Available at: <http://www.OpenGIS.org/techno/guide.html>. Jun, 1998.
[BOO 98] BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. The Unified Modeling Language User
Guide. Addison-Wesley, 1998.
[BOR 97] BORGES, K. A. V. Modelagem de Dados Geogrficos: uma extenso do modelo
OMT para aplicaes geogrficas. Belo Horizonte: Fundao Joo Pinheiro, 1997.
Dissertao de Mestrado.
[BRO 84] BRODIE, M. L. On the development of data models. In: BRODIE, M. L.; MYLOPOULOS,
J.; SCHMIDT, J.W. (Eds.). On Conceptual Modeling. New York: Springer-Verlag,
1984. p.19-48.
[CHE 76] CHEN, P.P.S. The entity-relationship model: Towards a unified view of data. ACM Trans.
Database System, New York, n.1, 1976.
[CHR 97] CHRISMAN, N. Exploring Geographic Information Systems. New York: John Wiley &
Sons, 1997.
[COD 79] CODD, E. F. Extending the database relational model to capture more meaning. ACM
Trans. Database Systems, New York, v.4, n.4, p.397-434, 1979.
[COU 92] COUCLELIS, H. People manipulate objects (but cultivate fields): beyond the raster-vector
debate in GIS. In Theories and methods of spatial-temporal reasoning in
geographic space. Berlin: Springer Verlag, 1992. p.65-77. (Lecture Notes in
Computer Science 639).
[DAT 81] DATE, C. J. An Introduction to Database Systems. 3. ed. Reading: Addison-Wesley,
1981.
[DBM 94] DBMS On Line. A new direction in DBMS: Montage Softwares Dr. Michael R.
Stonebraker takes the wraps off his new object-relational DBMS. DBMS Interview,
1994.
[ELM 94] ELMASRI, R.; NAVATHE, S. B. Fundamentals of Database Systems. 2.ed. Menlo
Park, CA: Addison-Wesley, 1994.
[EUR 96] EUROPEAN COMMITTEE FOR STANDARDIZATION. Geographic information data
description conceptual schema language. Brussels: CEN, 1996. (Report CR
287005).
[GOO 92] GOODCHILD, M. F., Geographical data modeling. Computers & Geosciences, London,
v.18, n.4, p.401-408, 1992.
[HAD 96] HADZILACOS, T.; TRYFONA, N. Logical data modelling for geographical applications.
International Journal of Geographical Information Systems, London, v.10, n.2,
p.179-203, 1996.
[HAD 97] HADZILACOS, T.; TRYFONA, N. An extended entity-relationship model for geographic
applications. SIGMOD Record, V.26, N.3, 1997.