Sei sulla pagina 1di 40

BANCO DE DADOS GEOGRÁFICOS

BANCO DE DADOS GEOGRÁFICOS Carlos Braz - MC 1
BANCO DE DADOS GEOGRÁFICOS Carlos Braz - MC 1
BANCO DE DADOS GEOGRÁFICOS Carlos Braz - MC 1
BANCO DE DADOS GEOGRÁFICOS Carlos Braz - MC 1

Carlos Braz - MC

1

braz@ime.eb.br www.brazgeo.blogspot.com 2

braz@ime.eb.br

www.brazgeo.blogspot.com

2

SUMÁRIO

SISTEMA DE BANCOS DE DADOS CONVENCIONAL

INTRODUÇÃO MODELAGEM CONCEITUAL USANDO O MODELO E-R MODELO RELACIONAL/ MAPEAMENTO SQL/SGBD POSTGRESQL-CARGA, MANIPULAÇÃO, EXIBIÇÃO INDEXAÇÃO

SISTEMAS DE BANCO DE DADOS GEOGRAFICOS

TIPOS DE DADOS ESPACIAIS MODELAGEM CONCEITUAL DE DADOS ESPACIAIS RELACIONAMENTOS TOPOLOGICOS SQL Espacial / POSTGIS – CARGA, MANIPULAÇÃO, EXIBIÇÃO INDEXAÇÃO

3

BIBLIOGRAFIA

Básica

ELMASRI, R. e Navathe, S. B., “Sistemas de banco de Dados- Fundamentos e Aplicações”, Addison-Wesley.

Casanova, M.A., et al “Banco de Dados Geográficos”, MundoGeo www.postgresql.org http://postgis.refractions.net/

Curitiba,

Complementar

HEUSER,

C. A., “Projeto

Luzzatto.

de banco de Dados”, Editora Sagra

RIGAUX, P., SCHOLL M., VOISARD, A. “Spatial Database With Application to GIS”, Morgan kaufmann Publishers.

OBJETIVO DE UM BD

Fornecer uma visão “abstrata” dos dados aos usuários. Os detalhes referentes a forma como estes dados estão armazenados e mantidos não interessa aos usuários, mas sim a disponibilidade eficiente destes dados.

usuários, mas sim a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003
usuários, mas sim a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003

Mundo real

mas sim a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003
mas sim a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003
mas sim a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003

modelo

a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003 02/01/2003
a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003 02/01/2003
a disponibilidade eficiente destes dados. Mundo real modelo Representação em computadores 02/01/2003 02/01/2003

Representação em computadores

02/01/2003 02/01/2003 Fundamentos de Banco de Fundamentos de Banco de Dados Dados 5 5
02/01/2003
02/01/2003
Fundamentos de Banco de
Fundamentos de Banco de
Dados
Dados
5 5

Tipos de Banco de Dados e Aplicações de Banco de Dados

Banco de Dados Numéricos e Textuais Banco de Dados Multimedia Geographic Information Systems (GIS) Data Warehouses Banco de Dados Ativos e em Tempo Real

Definições

Banco de Dados: coleção de dados relacionados. Dados:fatos que podem ser gravados e que possuem um significado implícito Mini-Mundo: Alguma parte do mundo real sobre o qual os dados são armazenados em um banco de dados. Por exemplo, as notas dos alunos e transcrições de uma universidade. Sistema Gerenciador de Banco de Dados (SGBD):

Um software / sistema para facilitar a criação e manutenção de um banco de dados Sistema de Banco de Dados: SGBD + Dados + Aplicativos

7

Funcionalidades de um SGBD

Definição de um banco de dados: em termos de tipos de dados, estruturas e restrições

Construção

armazenamento secundário Manipulação do banco de dados: consulta, geração de relatórios, inserções, exclusões e modificações de conteúdo Processamento simultâneo e compartilhamento por um conjunto de usuários e programas, no entanto, mantendo todos os dados válidos e consistentes Prevenção de acessos não autorizados Processamento Ativo: para tomada de medidas internas sobre os dados Apresentação e visualização de dados

de

do

banco

de

dados

meio

em

um

8

Configuração de Um Sistema de banco de Dados Simplificado 9

Configuração de Um Sistema de banco de Dados Simplificado

9

Exemplo de um BD

Mini-mundo: parte de uma universidade

Algumas entidades:

Alunos

Disciplinas

Departamentos

Alguns relacionamentos:

Disciplinas são oferecidas por Departamentos

Alunos estão matriculados em Disciplinas

Exemplo de um BD

Exemplo de um BD

Principais Características de um SGBD

Natureza Auto-Descritiva: Um catálogo SGBD armazena a descrição da base de dados. Essa descrição é chamada de metadados e permite que o software SGBD trabalhar com diferentes bases de dados

Isolamento entre programs e dados: Conhecido como Independência programa-dados. Permite alterar as estruturas de armazenamento de dados e operações sem ter que mudar os programas de acesso ao SGBD

12

Principais Características de um SGBD

Abstração de Dados: Um modelo de dados é usado para esconder detalhes de armazenamento e apresentar aos usuários uma visão conceitual do banco de dados Suporte a Múltiplas Visões dos Dados: Cada usuário pode ter uma visão diferente do banco de dados, a qual descreve apenas os dados de interesse para o usuário. Compartilhamento de Dados e Processamento de Transações Multiusuário: Permite que um conjunto de usuários recupere e atualize a base de dados. O controle de concorrência dentro do SGBD garante que cada transação seja executada corretamente ou esta será completamente abortada

13

Usuários de um Banco de Dados

Os usuários podem ser divididos entre aqueles que realmente usam e controlam o conteúdo do SGBD (conhecidos como Atores no Palco) e aqueles que permitem que o banco de dados seja desenvolvido e o software SGBD seja projetado e implementado( conhecidos como Atores atrás do Palco).

14

Usuários de um Banco de Dados

ATORES NO PALCO

Administradores de banco de dados:

→ Responsável pela autorização do acesso ao banco de dados, coordenação e fiscalização da sua utilização, aquisição de software e recursos de hardware, controlando a sua utilização e eficiência com o monitoramento das operações.

Projetistas de banco de dados:

→ Responsável por definir o conteúdo, a estrutura, as restrições e funções ou operações no banco de dados.

Usuários finais:

→ Usam os dados para consultas, relatórios e alguns, devidamente autorizados, atualizam o conteúdo do banco de dados.

15

Usuários de um Banco de Dados

ATORES ATRÁS DO PALCO

Projetistas e Implementadores de SGBD:

→ Projetam e implementam os complexos módulos e interfaces do SGBD.

Desenvolvedores de Ferramentas:

→ Implementam os pacotes de programas que facilitam o projeto e uso de um sistema de banco de dados e que ajudam a aprimorar seu desempenho. São ferramentas que vem em pacotes especiais separados das funcionalidades básicas do SGBD

Pessoal de Manutenção e operadores:

de

Responsáveis

pela

execução

manutenção do

ambiente

e

hardware e software do sistema de banco de dados

16

Vantagens da abordagem SGBD

Controle de Redundância

Compartilhamento seguro de Dados

Restrição de acesso aos dados.

Armazenamento persistente

Estruturas de armazenamento para processamento eficiente de consultas

Backup e Recuperação de falhas

Múltiplas Interfaces

Representação de relacionamentos complexos entre os dados

Restrições de integridade

17

Breve Histórico das Tecnologias

Modelos Hierárquico e em Redes

→ Introduzidos em meados dos anos 60 dominando o mercado durante os anos setenta. Boa parte do processamento de dados em todo o mundo ainda ocorrer usando estes modelos

Modelo relacional:

→ Foi introduzido originalmente em 1970 sendo muito pesquisado e experimentado com a IBM e as universidades. Os SGBD relacionais surgiram na década oitenta.

Modelos orientados a objeto:

→ SGBDOOs foram introduzidas no final dos anos 80 para atender a necessidade de processamento de dados complexos em CAD e outras aplicações. Seu uso não decolou muito.

Aplicativos Web e E-commerce:

→ Recente, ainda em desenvolvimento, baseado em padrões como o

XML (eXtended Markup Language).

18

Quando Não Usar um SGBD

CUSTO ELEVADO SIMPLICIDADE DA APLICAÇÃO APLICAÇÕES DE TEMPO REAL ACESSO POR MÚLTIPLOS USUÁRIOS DESNECESSÁRIO

Conceitos e Arquitetura de Sistemas e Banco de Dados

Conceitos e Arquitetura de Sistemas e Banco de Dados 20

MODELOS DE DADOS

Conceituais

conceitos que estão perto da maneira como os usuários percebem os dados. (modelos baseados em entidades e baseados em objetos) Físicos (baixo nível, modelos de dados internos):

Fornecer conceitos que descrevem os detalhes de como os dados são armazenados no computador.

De Implementação (representacional): Fornecer conceitos que se situam entre os dois acima, equilibrando pontos de vista do usuário com alguns detalhes de armazenamento do computador.

Fornecer

(alto

nível,

semântico):

21

Esquemas e Instancias

Esquema de banco de dados: É a descrição de um banco de dados. Inclui descrições da estrutura de banco de dados e as restrições que devem conter na base de dados.

Esquema Diagrama: Uma exibição em diagramas (alguns aspectos) de um esquema de banco de dados.

Esquema Construtor: um componente do esquema ou um objeto dentro do esquema, por exemplo, ALUNO, CURSO.

Instância de banco de dados: Representa os dados reais armazenados em um banco de dados em um determinado momento no tempo. Também chamado de estado de banco de dados (ou ocorrência).

22

Esquemas e Instancias

23
23

Arquitetura em três esquemas

24
24

Arquitetura em três esquemas

Arquitetura em três esquemas 25

25

Arquitetura em três esquemas

Arquitetura em três esquemas 26

26

Independência de dados

Capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos e seus
Capacidade de alterar o esquema
conceitual sem ter que mudar os
esquemas externos e seus
programas de aplicação

Capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual.

27

Independência de dados

→ Quando um esquema de baixo nível é

alterado, apenas os mapeamentos entre este esquema e os de nível superior precisam ser alterados. Os esquemas de nível superior em si

mantêm-se inalterados.

→ Assim, os programas de aplicação não

precisam ser alterados, uma vez que referem-se

aos esquemas externos.

28

Linguagens

Linguagem de definição de dados (DDL)

Usada para definir esquemas

Linguagem de manipulação de dados (DML)

Recuperação, inserção, remoção, modificação do BD

Linguagem de consulta

DML de alto nivel usada em modo “stand-alone”

Exemplo: SQL

Carregamento

Backup

Utilitários

E.g. dumps do banco de dados

(Re-)Organização de arquivos

Monitoramento da performance

Classificação dos SGBDs

Quanto ao modelo de dados adotado:

Relacionais

De rede

Hierárquicos

Orientados a objetos

Objeto-relacionais

Quanto ao número de usuários suportados:

Mono-usuários

Multi-usuários

Quanto à localização dos dados:

Centralizados

Distribuídos

Exemplo de um BD Relacional

 

NumEmp

NomeEmp

Salário

Dept

032

J

Silva

380

21

074

M Reis

400

25

Empregado

089

C

Melo

520

28

092

R

Silva

480

25

112

R

Pinto

390

21

121

V

Simão

905

28

130

J

Neves

640

28

NumDept

NomeDept

Ramal

21

Pessoal

142

25

Financeiro

143

28

Técnico

144

Departamento

Exemplo de um BD de Rede

Empregado

032

J

Silva

380

074

M Reis

400

089

C

Melo

520

092

R

Silva

480

112

R

Pinto

390

121

V

Simão

905

130

J Neves

640

390 121 V Simão 905 130 J Neves 640 Departamento 21 Pessoal 142 25 Financeiro

Departamento

21

Pessoal

142

905 130 J Neves 640 Departamento 21 Pessoal 142 25 Financeiro 143 28 Técnico 144

25

Financeiro

143

28

Técnico

144

905 130 J Neves 640 Departamento 21 Pessoal 142 25 Financeiro 143 28 Técnico 144

Exemplo de um BD Hierárquico

Departamento

21 Pessoal 142 25 Financeiro 143 28 Técnico 144 Empregado 032 J Silva 380 074
21
Pessoal
142
25
Financeiro
143
28
Técnico
144
Empregado
032
J Silva
380
074
M Reis
400
089
C Melo
520
112
R Pinto
390
092
R Silva
480
121
V Simão
905
130
J Neves
640

Arquitetura SGBD Centralizada

→ Utilizavam os grandes computadores centrais (mainframes)

→ Processavam todas as funções do sistema, incluindo os programas de aplicação e os de interface com os usuários, bem como todas as funcionalidades do SGBD.

→ Todos os processos eram executados pelo servidor

com os usuários, bem como todas as funcionalidades do SGBD. → Todos os processos eram executados

Arquitetura SGBD Cliente Servidor

Projetada

pra

trabalhar

com

ambientes

computacionais

conectados em rede.

 

O conceito de arquitetura cliente/servidor consiste em muitos Pcs e estações de trabalho e um número pequeno de máquinas centrais (mainframes) conectadas via redes locais.

Um cliente nessa estrutura é, em geral, uma máquina de usuário que tem as funcionalidades de interface com o usuário e processamento o local. Quando um cliente precisa de uma funcionalidade adicional, como o acesso ao banco de dados, inexistente naquela máquina, ele se conecta a um servidor que disponibiliza essa funcionalidade.

Um servidor é uma máquina que pode fornecer serviços para as máquinas clientes, como acesso a arquivos, impressão, arquivamento ou acesso a um banco de dados.

Cliente Servidor – Duas Camadas

Cliente Servidor – Duas Camadas Arquitetura Lógica → Em geral, algumas máquinas instalam apenas o software

Arquitetura

Lógica

→ Em geral, algumas máquinas instalam apenas o software cliente, outras apenas o software servidor e outras ambos.

→ Porém, normalmente os softwares de cliente e servidor são executados em máquinas separadas.

→ Dois tipos principais de arquiteturas de SGBD: duas e três camadas

Cliente Servidor – Duas Camadas

→ Os componentes de software são distribuídos em dois sistemas: cliente e servidor. Nesta arquitetura, geralmente o servidor é chamado de servidor de transação, servidor de consulta ou servidor SQL

geralmente o servidor é chamado de servidor de transação, servidor de consulta ou servidor SQL Arquitetura

Arquitetura

Física

Cliente Servidor – Três Camadas

→ Possui uma camada intermediária entre o cliente e o servidor de banco de dados conhecida como servidor de aplicações ou servidor Web → Esse servidor armazena as regras de negócio que são usadas para acessar os dados do servidor de bd. → Também pode realizar checagem das credenciais do cliente antes de enviar uma solicitação ao servidor de bd.

→ Os clientes possuem interfaces GUI e algumas regras de

negócio adicionais específicas para a aplicação.

→ O servidor intermediário aceita as solicitações do cliente,

processa e envia comandos de banco de dados ao servidor de banco de dados, retornando então os dados passados pelo BD ao cliente.

Cliente Servidor – Três Camadas

Cliente Servidor – Três Camadas