Escolar Documentos
Profissional Documentos
Cultura Documentos
Brasília-DF.
Elaboração
Produção
APRESENTAÇÃO.................................................................................................................................. 4
INTRODUÇÃO.................................................................................................................................... 7
UNIDADE I
CONCEITOS DE BANCO DE DADOS........................................................................................................ 9
CAPÍTULO 1
MODELAGEM DE DADOS.......................................................................................................... 9
CAPÍTULO 2
CLASSES E MODELO DE DADOS RELACIONAL - UML................................................................ 16
CAPÍTULO 3
ORIENTAÇÃO A OBJETOS........................................................................................................ 21
CAPÍTULO 4
MODELAGEM DE DADOS GEOGRÁFICOS............................................................................... 25
UNIDADE II
SISTEMAS GERENCIADORES DE BANCO DE DADOS............................................................................... 34
CAPÍTULO 1
SGDBS.................................................................................................................................... 34
CAPÍTULO 2
LINGUAGENS DE BANCO DE DADOS - SQL.............................................................................. 40
CAPÍTULO 3
SGBD COM EXTENSÕES ESPACIAIS.......................................................................................... 53
CAPÍTULO 4
BIBLIOTECA TERRALIB............................................................................................................... 70
CAPÍTULO 5
TERRAVIEW.............................................................................................................................. 76
REFERÊNCIAS................................................................................................................................... 94
Apresentação
Caro aluno
Conselho Editorial
4
Organização do Caderno
de Estudos e Pesquisa
A seguir, uma breve descrição dos ícones utilizados na organização dos Cadernos de
Estudos e Pesquisa.
Provocação
Textos que buscam instigar o aluno a refletir sobre determinado assunto antes
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor
conteudista.
Para refletir
Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa e reflita
sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. É importante
que ele verifique seus conhecimentos, suas experiências e seus sentimentos. As
reflexões são o ponto de partida para a construção de suas conclusões.
Praticando
5
Atenção
Saiba mais
Sintetizando
6
Introdução
A necessidade de armazenar informações em bancos de dados tornou-se vital para
os mais variados domínios de aplicações existentes, inclusive, sendo utilizada como
estratégia de negócio entre empresas, segmentos, dispositivos etc. A maioria dessas
aplicações está voltada para o armazenamento de dados comuns do mundo real, como
dados de Cliente, Alunos, Fornecedores etc.
Dois exemplos que podem demonstrar definitivamente essas diferenças estão entre
duas ferramentas do mesmo fabricante: PostgreSQL e PostGIS.
O PostGIS é uma extensão criada para atingir os GISs tornando o PostgreSQL um banco
de dados preparado para receber dados como medidas geográficas e funções geográficas.
Objetivos
» Promover a introdução do aluno ao conceito de Banco de Dados, desde
sua criação até sua utilização na prática, utilizando ferramentas, técnicas
e exemplos.
7
8
CONCEITOS DE UNIDADE I
BANCO DE DADOS
CAPÍTULO 1
Modelagem de dados
Um dos métodos mais utilizados nos estudos iniciais sobre Modelagem de Dados é o
criado por Peter Chen em 1976, baseado na teoria de E.F. Codd onde diziam:
O conceito de abstração também aparece nesse estudo inicial e podemos citar: classificação,
abstração e agregação.
No estudo do MER, temos que deixar muito claro sobre o realmente nos interessa: a
informação existente do negócio, ou seja, processos, procedimentos ou fluxo de dados,
não nos vai interessar nesse momento.
Entidades
São objetos abstraídos do mundo real com sua identificação dos quais obterem seus
atributos. As entidades se tornarão as tabelas de nossa base de dados e sua representação
no Diagrama Entidade-Relacionamento será um retângulo.
Figura 1. Entidade.
Fonte: autor.
9
UNIDADE I │ MODELAGEM DE DADOS
Atributos
Os atributos podem ser nomes, valores, descrições e localizações, porém existe um campo
que terá a função de identificar unicamente cada informação em uma determinada
tabela: chamamos de chave primária.
Imagine que em nosso MER exista uma tabela chamada de Distritos e o mesmo possui
uma lista de atributos: descrição, medidas etc.
Percebam que descrição e medidas pode haver vários distritos com esses valores. Nesse
caso, é comum criar um campo chamado Código onde cada distrito terá um único valor.
Para esse campo damos o nome de Chave Primária.
Fonte: autor.
Relacionamentos
Vamos nos basear em um exemplo onde temos um ambiente que possui um Distrito e
esse possui várias Quadras.
10
MODELAGEM DE DADOS │ UNIDADE I
Fonte: autor.
Por exemplo: um Distrito possui várias Quadras, porém, uma determinada Quadra só
poderá estar em um Distrito.
Cardinalidade
Relacionamento um para um
Por exemplo: na legislação brasileira um homem só pode se casar com uma e somente
uma ao mesmo tempo. Para representar esse relacionamento teríamos o seguinte DER:
Fonte: autor.
11
UNIDADE I │ MODELAGEM DE DADOS
Fonte: autor.
Fonte: autor.
12
MODELAGEM DE DADOS │ UNIDADE I
Tabela Distritos
Código do Distrito Descrição
1 Distrito 1
2 Distrito 2
3 Distrito 3
Tabela Quadras
Código da Quadra Descrição Código do Distrito
1 Quadra 1 1
2 Quadra 2 1
3 Quadra 3 2
4 Quadra 4 3
5 Quadra 5 2
6 Quadra 6 2
7 Quadra 7 2
Fonte: autor.
Esse Relacionamento tem característica única, pois, seja qual for o sentido da leitura
sempre existirá um Relacionamento Muito para muitos. Veja um exemplo clássico:
Fonte: autor.
Como vimos no Relacionamento 1:N, para criarmos a Chave Estrangeira bastaria criar
o campo da Tabela 1 na Tabela N. Mas e nesse caso, qual das Tabelas ficará com a Chave
Estrangeira?
14
MODELAGEM DE DADOS │ UNIDADE I
Tabela Engenheiros/Projetos
Código do Engenheiro Código do Projeto
1 2
1 1
1 3
Fonte: o autor.
15
CAPÍTULO 2
Classes e modelo de dados relacional -
UML
Diagrama de classes
Seu principal enfoque está em permitir a visualização das classes que comporão o sistema,
bem como seus atributos e métodos, seus relacionamentos e com as classes se relacionam
e trocam mensagens.
Cliente
- CPF: varchar[20]
- Nome: varchar[60]
- Endereço: varchar[100]
+Consultar(CPF:varchar):int
Fonte: o autor.
1. Nome da Classe;
3. Métodos
Objetos
São membros ou exemplos de uma classe; é uma instância da classe. Cada instância tem
seus próprios valores de atributos, compartilha os nomes dos atributos e os métodos
com os outros objetos da mesma classe. Ex:
16
MODELAGEM DE DADOS │ UNIDADE I
Fonte: o autor.
Visibilidade (encapsulamento)
» + público:
› indica que o atributo ou método pode ser utilizado por qualquer classe.
» - privado:
» # protegido:
Relacionamentos
Associações
Descreve o vínculo que ocorre entre duas classes, além de identificar algum nível de
dependência entre elas.
17
UNIDADE I │ MODELAGEM DE DADOS
Fonte: o autor.
Figura 14.
Associação binária
Fonte: o autor.
São associações que conectam mais de duas classes. O ponto de convergência das ligações
entre as classes é indicado por um losango;
Fonte: o autor.
Agregação
Fonte: o autor.
Composição
19
UNIDADE I │ MODELAGEM DE DADOS
Fonte: o autor.
20
CAPÍTULO 3
Orientação a objetos
Conceito
As linguagens de modelagem orientadas a objetos surgiram em meados da década
de 1970 e os trata-se de uma modelagem dos objetos do mundo real, estudando-os e
criando classes a partir de suas características e comportamentos.
Fabricante Website
EnterpriseDB <http://www.enterprisedb.com/>
GemStone <http://www.gemstone.com/>
EyeDB <http://www.eyedb.org/>
Caché <http://www.intersystems.com/br/>
Jasmine <http://www3.ca.com/us/default.aspx>
Classe
Uma classe é composta pela sua descrição, que identifica propriedades da classe (atributos)
e os métodos (comportamento).
Assim, por exemplo, em um dado contexto, Esfera, Cubo, Círculo, Quadrado, etc podem
se tornar a classe Forma Geométrica.
21
UNIDADE I │ MODELAGEM DE DADOS
Fonte: o autor.
Objeto
O objeto é um tipo abstrato que contém os dados mais os procedimentos que manipulam
esses dados.
Segundo o dicionário, objeto é tudo que é manipulável e/ou manufaturável, tudo que é
perceptível por qualquer um dos sentidos; o que é conhecido, pensado ou representado,
em oposição ao ato de conhecer, pensar ou representar.
Subclasse
Define uma nova classe originada de uma classe maior (classe-pai). Em nosso exemplo
acima, podemos separar as formas geométricas dessa forma:
Fonte: o autor
22
MODELAGEM DE DADOS │ UNIDADE I
Instância
São os objetos de uma classe. Cada objeto utilizado em uma aplicação pertencente a
uma classe é uma instância dessa classe. Instanciar é o procedimento de transformar a
Classe em objeto,
Métodos
São procedimentos residentes nos objetos, que são instâncias de Classes, e determinam
como eles irão atuar ao receber as mensagens. Métodos podem receber parâmetros,
retornar valores, ou não.
Herança
A Classe Forma
A Classe Esfera, receberá os
Tridimensional, conterá os
atributos e métodos públicos
métodos e atributos
de sua Super Classe direta,
públicos de sua Super
Forma Tridimensional e de
Classe, Forma Geométrica
sua Super Classe indireta,
Forma Geométrica
T2. Encapsulamento
Encapsulamento
É um mecanismo que permite o acesso aos dados do objeto somente através dos métodos
Édesse
um mecanismo que outra
objeto. Nenhuma permite
parte odoacesso aospode
programa dados do sobre
operar objeto
os somente
dados de através
nenhum dos
objeto. desse objeto. Nenhuma outra parte do programa pode operar sobre os dados
métodos
de nenhum objeto.
T2. Polimorfismo
Uma mesma mensagem pode provocar respostas diferentes quando recebidas por objetos
diferentes. Com o polimorfismo, pode-se enviar uma mensagem genérica e deixar a 23
implementação a cargo do objeto receptor da mensagem.
UNIDADE I │ MODELAGEM DE DADOS
Polimorfismo
Uma mesma mensagem pode provocar respostas diferentes quando recebidas por
objetos diferentes. Com o polimorfismo, pode-se enviar uma mensagem genérica e deixar
a implementação a cargo do objeto receptor da mensagem.
24
CAPÍTULO 4
Modelagem de dados geográficos
Vimos no Capítulo sobre Modelagem de Dados que para termos uma base de dados
operacional, precisamos abstrair do mundo real várias informações e montar a estrutura
dessa base.
O estudo inicial foi para termos algum conceito sobre a Modelagem de Dados e
utilizamos medidas e conceitos de eventos não-geométricos.
Modelos de dados para aplicações geográficas têm são muitos específicos, tanto com
relação à abstração de conceitos, entidades e seus relacionamentos.
Vários modelos existem para que possam refletir ao máximo os modelos relacionais
convencionais à modelos de aplicabilidade geográfica.
Dados geográficos
Para decidirmos o melhor modelo a utilizar temos alguns conceitos são importantes
destacar:
» Abstração
» Facilidade de uso
» Mapeamentos espaciais
Para entendermos o conceito de dados geográficos é importante saber o meio onde eles
se encontram.
25
UNIDADE I │ MODELAGEM DE DADOS
Segundo Gatr91:
Esses dados podem ser qualquer tipo de dados ligados à dimensão espacial e descreve
fenômenos aos quais esteja associada alguma dimensão espacial.
UML é uma linguagem visual utilizada para modelar sistemas computacionais por meio
do paradigma de Orientação a Objetos.
26
MODELAGEM DE DADOS │ UNIDADE I
» Classes
» Relacionamentos
Diagrama de classes
No modelo OMT-G o diagrama de classes é usado para descrever a estrutura e o
conteúdo de um banco de dados geográfico.
O Diagrama de Classes contém apenas regras e descrições que definem a estrutura dos
dados. Também contém os elementos específicos da estrutura de um banco de dados.
Classes
As classes do Modelo OMT-G representam os três grupos de dados: contínuos, discretos
e não-espaciais e suas classes primitivas podem ser georreferenciadas ou convencionais.
Modelo convencional
completo simplificado
27
UNIDADE I │ MODELAGEM DE DADOS
Modelo Georreferenciada
completo simplificado
» Isolinhas,
» Subdivisão planar,
» Tesselação,
» Amostragem
» Malha triangular
» Subclasse Amostragem:
» Subclasse Isolinhas:
28
MODELAGEM DE DADOS │ UNIDADE I
» Subclasse Tesselação:
A classe geo-objeto com geometria representa objetos que possuem apenas propriedades
geométricas, e é especializada em classes: Ponto, Linha e Polígono.
Relacionamentos
A maioria dos modelos de dados não oferecem suporte à modelagem dos relacionamentos.
Dada essa importância, o modelo OMT-G consegue representar três tipos de
relacionamentos explícitos s entre suas Classes:
29
UNIDADE I │ MODELAGEM DE DADOS
» Associações Simples:
» Relacionamentos espaciais:
30
MODELAGEM DE DADOS │ UNIDADE I
» Acima /Abaixo: Acima é mais alto que sobre, e abaixo mais baixo que sob.
Figura 28.
31
UNIDADE I │ MODELAGEM DE DADOS
Cardinalidade
O conceito de cardinalidade no Modelo de Dados Geográfico é baseado no modelo de
dados Relacionais (UML), ou seja, também representa o número de instâncias de uma
classe que pode estar relacionada com outra.
Generalização e especialização
A Generalização é o processo utilizado para definir classe utilizando o partindo para
as mais genéricas(superclasses) a partir de classes com características semelhantes
(subclasses) (ELMASRI; NAVATHE, 2004) (LAENDER; FLYNN, 1994).
32
MODELAGEM DE DADOS │ UNIDADE I
Figura 29.
Agregação
A agregação é uma forma especial de associação entre objetos, onde se considera que
um deles é formado a partir de outros. Anotação gráfica usada no modelo OMT-G segue
a empregada na UML.
Uma agregação pode ocorrer entre classes convencionais, entre classes georreferenciadas
ou entre uma classe convencional e uma classe georreferenciada. Quando a agregação
ocorre entre classes georreferenciadas, é necessário usar a agregação espacial.
Figura 30.
33
SISTEMAS
GERENCIADORES DE UNIDADE II
BANCO DE DADOS
CAPÍTULO 1
SGDBs
Os SGBDs também são representados por algumas tecnologias que constituem sua
estrutura como, SGBDs Relacionais (SGBD-R) e SGBDs Objeto-Relacionais (SGBD-OR),
com uma pequena porção para SGBDs Orientados-a-Objeto (SGBD-OO).
Para cada aplicação devemos analisar minuciosamente qual SBGD escolher, entretanto,
alguns requisitos importantes todos devem possuir:
» Segurança:
» Confiabilidade:
» Desempenho:
» Facilidade:
Mesmo com uma grande diversidade de SGBD, a maioria está dividida em: linguagens
de definições de dados, linguagens de manipulação de dados e a estruturação de dados.
Nesse material iremos trabalhar com o PostgreSQL e, antes de prosseguir, vamos entender
sua estrutura, aprender como instalar, fazer suas configurações e dar prosseguimento ao
estudo das linguagens de manipulação de dados.
PostgreSQL
O PostgreSQL é um poderoso SGBD-OR, possui mais de 15 anos de desenvolvimento e
uma arquitetura que ganhou forte reputação na confiabilidade, integridade dos dados e
correção. Ele funciona em todos os principais sistemas operacionais, incluindo Linux,
UNIX e Windows. Tem suporte completo para as chaves estrangeiras, junções views,
triggers e procedimentos armazenados. Ele inclui 2008 tipos de dados, incluindo
INTEGER, NUMERIC, boolean, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP.
Ele também suporta o armazenamento de grandes objetos binários, incluindo imagens,
sons ou vídeo. Possui interfaces de programação nativas para C / C ++, Java, Net, Perl,
Python, Ruby, Tcl, ODBC, entre outros, e documentação excepcional.
<http://www.postgresql.org/about/>
<http://www.postgresql.org/docs/9.4/interactive/datatype.html>
35
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Instalação
Fonte: o autor
Para acessar o serviço do SGDB, temos duas opções: linha de comando e um software
gerenciador chamado PgAdmin.
36
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Perceba que antes mesmo de efetuar o login, temos algumas informações sobre o SGDB.
Fonte: o autor
37
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Para efetuar o login, clique para expandir a opção de Servidores disponíveis. Depois, dê
duplo clique na instância disponível, digite a senha inserida durante a instalação e
clique ok.
Figura 35. Login.
Fonte: o autor
Vamos utilizar as facilidades do PgAdmin somente para criar a base de dados. O foco
desse capítulo será a linguagem SQL.
Clique com o botão direito na opção Databases, em seguida New Database e dê o nome
de “base_teste” e pressione Ok.
Fonte: o autor
Fonte: o autor
38
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Após selecionar a “base_teste” note que será habilitada, na barra de ferramentas uma
opção chamada SQL. Clique nessa opção e a tela que aparecerá será nossa ferramenta
daqui pra em diante.
Fonte: o autor
39
CAPÍTULO 2
Linguagens de banco de dados - SQL
Conceitos
A linguagem SQL (Structured Query Language), desenvolvida pela IBM na década de
70 e adotada pela maioria de fabricantes de SGBDs, tornando-se praticamente sua
linguagem padrão.
Os campos são as menores unidades que compõem uma Base de Dados e seu conjunto
forma uma Tabela. Um dado sozinho não consegue ser muito útil. Entretanto, um
conjunto de dados forma o que hoje é a nova sensação do mundo moderno: a informação.
Os campos podem armazenar vários tipos de dados, porém, temos que defini-los antes
de começar a utilizá-los. O PostgreSQL suporta vários tipos de dados, como vimos em
capítulos anteriores.
40
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Nossa base de dados “base_teste” terá sua primeira tabela com a seguinte estrutura:
Figura 39.
Fonte: o autor
Para conferir a tabela criada, vamos expandir a árvore de opções até chegarmos à
tabela criada:
Figura 41. Primeira tabela criada.
Fonte: o autor
41
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Além de decidirmos o tipo de dados iremos armazenar, temos que nos atentar aos índices.
Índices são utilizados para várias funções, porém, sua utilização mais frequente é para
aperfeiçoar consultas.
Existem dois tipos de índices que iremos descrever com mais detalhes: a chave primária
e a chave estrangeira.
Em nossa tabela “distritos” podemos utilizar o campo Código como chave primária.
Nesse momento precisamos de um comando que altere a estrutura de nossa tabela.
Fonte: o autor
Selecione a tabela “distritos” e pressione F5. Isso fará com que seja atualizado nossa
árvore de opções do PgAdmin.
Fonte: o autor
42
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Estando a tabela criada, vamos inserir alguns dados. Digite os comandos a seguir e,
dessa vez, clique na opção .
Fonte: o autor
Fonte: o autor
Continuando com a estrutura de nossa base de dados, teremos uma tabela chamada
“quadras”. Nessa tabela armazenaremos os dados referentes às Quadras de cada Distrito.
E como associamos a tabela Distritos com a tabela Quadras?
43
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Um Distrito pode possuir várias quadras, porém, uma determinada quadra só pode
estar em um e somente um Distrito.
Simples, nesse caso utilizaremos uma Chave Primária composta pelos campos Código
do Distrito e Código da Quadra:
Fonte: o autor
44
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Conferindo, temos:
Figura 47. PK.
Fonte: o autor
E para finalizar, agora sim executaremos o comando que fará a ligação entre as tabelas
Quadras e Distritos:
Figura 48. Chave estrangeira.
Fonte: o autor
Vamos inserir dados na tabela Quadras para que possamos trabalhar com as consultas
m SQL.
Faremos acontecer um erro proposital com esse primeiro registro que estamos tentando
inserir. Note a mensagem de erro logo abaixo do comando que digitamos. Esse erro é
típico de quando estamos tentando inserir um registro na tabela B e está possui uma
chave estrangeira da tabela A.
45
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Vejam que estamos tentando inserir o código de distrito número 20 e esse código não
existe na tabela de Distritos.
Fonte: o autor
46
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Sua sintaxe é:
Antes de executarmos esse comando temos que preparado, mesmo que seja mentalmente,
a frase que da consulta que gostaríamos que o SGBD nos retornasse.
Por exemplo:
Fonte: o autor
47
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Fonte: o autor
Fonte: o autor
48
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Update
O comando Update é utilizado para alterarmos o conteúdo de uma tabela e deve ser
utilizado com parâmetros iguais ao comando Select.
Sua sintaxe é:
Fonte: o autor
Fonte: o autor
49
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Delete
Executando:
Figura 57. Comando Delete.
Fonte: o autor
Fonte: o autor
50
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Junções
Comandos de junções são comandos utilizados para juntar duas ou mais tabelas.
Sua sintaxe é:
Fonte: o autor
Operações espaciais
Como SQL-89 não acomodava consultas espaciais, várias propostas surgiram na década
de 90 para estender a linguagem, notadamente (EGENHOFER, 1994) (OGIS, 995).
Segundo Frank e Mark (1991), as extensões devem considerar dois pontos básicos:
51
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
SF-SQL
A representação dos atributos espaciais pode seguir dois modelos, chamados SQL-92 e
SQL-92 com Tipos Geométricos. O primeiro modelo utiliza uma tabela para representar
os atributos espaciais. O segundo utiliza tipos abstratos de dados específicos para
geometrias, estendendo os tipos da SQL.
52
CAPÍTULO 3
SGBD com extensões espaciais
PostGis
É uma robusta extensão do SGDB PostgreSQL que é utilizado para manipular e
armazenar dados espaciais. Sua primeira versão foi lançada em Maio de 2001.
A tabela a seguir mostra uma lista de alguns dos softwares que utiliza PostGIS:
» Open/Free:
› Aplicações web
· Mapserver
» Aplicações Desktop:
› uDig
› QGIS
› mezoGIS
› OpenJUMP
› GvSIG
› OpenEV
53
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
» Fechado/Proprietário:
› Aplicações web:
· Cadcorp GeognoSIS
· Iwan Mapserver
· MapDotNet Server
· ERDAS
› Aplicações Desktop:
· AutoCAD Map 3D
· Cadcorp SIS
Um banco de dados comum tem strings, números e datas. Um banco de dados espacial
acrescenta tipos adicionais (espaciais) para representar características geográficas.
Figura 60.
54
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Instalação
32 e 64 bits:
<http://download.osgeo.org/postgis/windows>
Após efetuar o download, clique duas vez no arquivo para iniciar a instalação:
Fonte: o autor
O método de instalação é o padrão utilizado pela maioria dos programas feitos para o
sistema operacional Windows.
Fonte: o autor
55
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Fonte: o autor
56
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
57
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Fonte: o autor
Após criada, selecione nossa base de dados e expanda a opção Extensions e note que
possuímos apenas uma extensão padrão
Fonte: o autor
58
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
Fonte: o autor
59
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Apoiado por uma ampla variedade de bibliotecas e aplicações, o PostGIS nos oferece
muitas opções para o carregamento de dados.
<https://drive.google.com/folderview?id=0B-7W6dVcImP3S21Oa1JOWjVuOXM&us
p=sharing>
Figura 73. Arquivos com dados espaciais.
Fonte: o autor
Ou na Biblioteca.
Fonte: o autor
60
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
Fonte: o autor
Fonte: o autor
» nyc_streets.shp
» nyc_neighborhoods.shp
» nyc_subway_stations.shp
Obs: os arquivos podem ser selecionados e importados todos de uma única vez.
62
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Shapesfiles são coleções de arquivos e normalmente utiliza as extensões .shp, .shx e .dbf.
O shapefile real refere-se especificamente aos arquivos com a extensão shp. No entanto,
o arquivo .shp por si só é incompleta para a distribuição sem os arquivos de suporte
necessários.
Arquivos obrigatórios :
SRID
Dicionário de Dados
Os arquivos que acabamos de importar são dados referentes à cidade de Nova Iorque como
ruas, cidades vizinhas, etc. e todas as consultas que faremos serão baseadas nesses dados.
63
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Tabela nyc_census_sociodata
Campo Descrição
tractid An 11-digit code for every census tract. Eg: 36005000100
transit_total Number of workers in the tract
transit_public Number of workers in the tract who take public transit
transit_private Number of workers in the tract who use private automobiles / motorcycles
transit_other Number of workers in the tract who use other forms like walking / biking
transit_time_mins Total minutes spent in transit by all workers in the tract (minutes)
family_count Number of familes in the tract
family_income_median Median family income in the tract (dollars)
family_income_aggregate Total income of all families in the tract (dollars)
edu_total Number of people with educational history
edu_no_highschool_dipl Number of people with no highschool diploma
edu_highschool_dipl Number of people with highschool diploma and no further education
edu_college_dipl Number of people with college diploma and no further education
edu_graduate_dipl Number of people with graduate school diploma
Fonte: <https://drive.google.com/folderview?id=0B-7W6dVcImP3S21Oa1JOWjVuOXM&usp=sharing>. Acesso em: 2014
64
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Aprofundando em SQL
Fonte: o autor
Consultas sem parâmetros podem não ser muito úteis quando trabalhamos com
dados geográficos. Vamos aplicar algumas condições em nossas consultas. Também
conhecidas como filtros.
Fonte: o autor
Ordenações
Percebam que os dados coluna ‘name’ estão fora de ordem. O SQL possui um recurso
de ordenação que nos possibilita aplica-lo de várias maneiras.
Fonte: o autor
66
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Funções
Muitas vezes, não estamos interessados nas linhas individuais e sim em funções como
média, estatísticas, desvios etc.
O PostgreSQL possui várias funções agregadas que podem ser uteis para diversas
consultas. Um exemplo seria descobrir o total de pessoas e suas etnias da tabela nyc_
census_blocks. Os campos são esses:
popn_total
popn_white
popn_black
popn_nativ
popn_asian
popn_other
Se efetuarmos uma consulta simples com todos os campos teremos uma ‘massa de
dados’ sem muito sentido:
Fonte: o autor
Vamos utilizar a função sum para somarmos cada campo de valores e agruparmos em
outro campo.
67
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
O a função sum efetua a soma de todos os campos passados por parâmetros e temos que
fazer um agrupamento em algum campo necessário.
O agrupamento deve ser feito em todos os campos que utilizamos na função select.
Fonte: o autor
Se alteramos a função sum pela função avg teremos a média de ocorrência dos dados
na tabela:
Figura 84. Função de média e Legendas.
Fonte: o autor
68
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Notem que os campos foram criados com várias casas decimais e, nesse momento,
essa quantidade de casas não nos é importante. Nesse caso poderíamos omitir as casas
decimais com a função trunc ou ajusta-las para duas casas com a função round.
Fonte: o autor
69
CAPÍTULO 4
Biblioteca TerraLib
Conceito
Segundo o site da TerraLib:
Arquitetura
» Kernel:
70
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
» Drivers:
» Interfaces:
Modelo conceitual
Banco de dados
Layer
71
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Representação
Projeção cartográfica
Tema
Serve principalmente para definir uma seleção sobre os dados de um layer. Essa seleção
pode ser baseada em critérios a serem atendidos pelos atributos descritivos do dado
e/ou sobre a sua componente espacial.
Vista
Serve para definir uma visão particular de um usuário sobre o banco de dados.
Uma vista define quais temas serão processados ou visualizados conjuntamente.
Além disso, como cada tema é construído sobre um layer com sua própria projeção
72
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
geográfica, a vista define qual será a projeção comum para visualizar ou processar os
temas que agrega.
Visual
Para dar início a qualquer implementação com linguagens de programação, temos que
ter bem definido o conceito da figura 84.
TeDataBase
Fonte: o autor
Fonte: o autor
Fonte: o autor
Note que o código foi inserido após o banco de dados ser aberto e antes de ser fechado.
Essa lógica utilizamos como boas práticas de programação:
2. Executar os procedimentos,
Podemos ainda, passar todas as configurações de projeção via código, conforme a linha 29.
Pensando nisso, foi desenvolvido uma ferramenta que ajudará muito quem não conhece
programação: O TerraView.
75
CAPÍTULO 5
Terraview
Conceito
Como o próprio site do fabricante define,
A figura a seguir, mostra de uma forma geral a tela principal da ferramenta, porém,
como a premissa principal de trabalho é a conexão com o banco de dados, iremos
detalhar cada opção somente depois de conectarmos em nossa base de dados.
Instalação
2. Preencher o email,
4. Fazer o download.
Fonte: o autor
76
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Execute o arquivo baixado e avance até a tela para escolher opções da ferramenta
Terraview.
Fonte: o autor
77
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
<http://www.dpi.inpe.br/terraview/docs/tutorial/Dados_Tutorial.rar>
ou na Biblioteca do curso.
Ao instalar o Terraview e abrir a ferramenta, perceba que a maioria das opções dos
menus e barras de ferramentas, serão habilitadas somente após efetuarmos uma
conexão com o banco de dados.
Para isso, vá ao menu Arquivo e escolha a opção Bando de Dados. Ou clique no ícone
da barra de ferramentas.
Fonte: o autor
Ao término da criação da base de dados, termos uma nova estrutura de tabelas, prontas
para receber os dados da ferramenta Terraview:
Fonte: o autor
79
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor.
Barra de ferramentas
Figura 97. Barra de Ferramentas.
Fonte: o autor
A Barra de Ferramentas tem por finalidade oferecer algumas opções do Menu de forma
mais rápida. A seguir, veja a função de alguns ícones:
- Cursor de apontamento
- Cursos de Gráficos
- Cursos de Distância – serve para calcular a distância ente dois pontos no desenho
- Recompor – faz com que a o desenho se ajusta à área de visualização com todos os
dados visíveis
- visualização de gráficos
80
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
- Importação de arquivos
- Criação de Vistas
- Criação de Temas
- Visualização anterior
- Próxima visualização
Para isso, com o banco de dados selecionado na árvore de banco de dados, escolha a
opção importar, através do ícone .
Fonte: o autor
81
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Fonte: o autor
Após essas opções, clique em OK e sim para a mensagem sobre a criação de uma nova
coluna identificadora.
82
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Antes de explorarmos as opções que a ferramenta possui, vamos conferir no que essa
importação refletiu em nossa base de dados.
Perceba que foram criadas mais tabelas, dentre elas a tabela “district”.
Podemos notar que uma consulta prévia desses dados nos é mostrados na área de grade
da ferramenta Terraview.
Figura 101. PGadmin: consulta.
Fonte: o autor
83
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Selecionando objetos
Cada área ou objeto geográfico possui geometrias e atributos. As geometrias são facilmente
percebidas na área de desenho e os atributos são visualizados na área de Grade.
Para remover o realce, basta clicar novamente com o cursos de seleção sob o objeto
selecionado.
Figura 102. Seleção de Objeto.
Fonte: o autor
Fonte: o autor
84
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Por ser uma ferramenta que se utiliza da biblioteca Terralib, utilizaremos no Terraview
os mesmos termos como Layer, Vistas e Temas.
Planos
Os Planos, ou layer, além do descrito na seção 8.5, podemos incluir que é uma estrutura
que agrega dados geográficos que estão sob uma mesma região geográfica e que agregam
elementos semelhantes.
Fonte: o autor
Vistas
Uma Vista vai definir as informações dos Planos que devem ser visualizados juntos.
Sistemas de coordenadas não-cartográficas não poderão ser superpostos em Planos
com projeções cartográficas.
Clique com o botão direito sobre a Vista Districts e em seguida propriedades para
verificar qual é o tipo de sua Projeção.
Fonte: o autor
85
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Temas
Um Tema pertence a uma Vista que define a projeção na qual os seus temas são mostrados,
como mostra a figura:
Fonte: o autor
Para darmos sequência em nossos estudos sobre Temas, primeiramente vamos importar
o arquivo subway_station.shp seguindo as mesmas configuração da importação anterior:
Fonte: o autor
Note que o Terraview não reconheceu as configurações de Projeção. Nesse caso, deve
ser feita manualmente:
86
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
Fonte: o autor
Obs:
87
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Primeiramente, vamos remover todas as Vistas existentes, clicando com o direito sobre
cada uma e em Remover.
Agora, para criar uma nova Vista, clique no botão e dê um nome como na figura:
Fonte: o autor
Com uma Vista criada, podemos criar vários temas relacionados à ela.
Fonte: o autor
88
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
No detalhe, temos a tela para criar um novo Tema, as Árvores de Planos e Vistas/Temas.
Notem que a mesma Vista “CidadeSP” aparece na árvore e na tela de criação do Tema.
Para visualiza-lo, clique sob o tema Districts e no botão ... da barra de ferramentas.
Percebam que esse Tema já tínhamos criado quando importamos o arquivo Districs.mif.
Vamos criar uma situação onde precisaríamos colocar sobre a imagem da cidade de São
Paulo, sua malha de Ferrovias. Para isso, temos que criar um Tema associado a uma
mesma Vista, ou seja, no nosso caso, criaremos um Tema conforme a figura a seguir:
Fonte: o autor
Antes de visualizar, vamos criar mais um Tema chamado Estações seguindo a figura:
Fonte: o autor
89
UNIDADE II │ SISTEMAS GERENCIADORES DE BANCO DE DADOS
Fonte: o autor
Podemos ainda, melhorar a aparência de nossos Temas. Percebam que tanto as Estações
quanto as Ferrovias, não ficaram com uma boa visualização.
Para darmos destaque aos pontos criados, selecione um ponto qualquer, clique com o
botão direito e em seguida, Visual e Default:
Fonte: o autor
Altere as opções: Cor do Ponto, tamanho e Tipo para a configuração que mais agrada e
clique em OK.
90
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
Tabelas de pontos
Fonte: o autor
Fonte: o autor
92
SISTEMAS GERENCIADORES DE BANCO DE DADOS │ UNIDADE II
Fonte: o autor
Fonte: o autor
93
Referências
Sites
< http://www.dpi.inpe.br/livros/bdados/capitulos.html/>.
< http://www.postgresql.org/>.
< http://postgis.net/>.
< http://www.terralib.org/>.
< http://www.dpi.inpe.br/terraview/index.php/>.
< http://www.nyc.gov/html/dcp/html/neighbor/index.shtml/>.
94