Anda di halaman 1dari 40

BANCO DE DADOS GEOGRFICOS

Carlos Braz - MC
1

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

SUMRIO
SISTEMA DE BANCOS DE DADOS CONVENCIONAL
INTRODUO MODELAGEM CONCEITUAL USANDO O MODELO E-R MODELO RELACIONAL/ MAPEAMENTO SQL/SGBD POSTGRESQL-CARGA, MANIPULAO, EXIBIO INDEXAO

SISTEMAS DE BANCO DE DADOS GEOGRAFICOS


TIPOS DE DADOS ESPACIAIS MODELAGEM CONCEITUAL DE DADOS ESPACIAIS RELACIONAMENTOS TOPOLOGICOS SQL Espacial / POSTGIS CARGA, MANIPULAO, EXIBIO INDEXAO

BIBLIOGRAFIA
Bsica ELMASRI, R. e Navathe, S. B., Sistemas de banco de DadosFundamentos e Aplicaes, Addison-Wesley. Casanova, M.A., et al Banco de Dados Geogrficos, Curitiba, MundoGeo www.postgresql.org http://postgis.refractions.net/ Complementar HEUSER, C. A., Projeto de banco de Dados, Editora Sagra Luzzatto. RIGAUX, P., SCHOLL M., VOISARD, A. Spatial Database With Application to GIS, Morgan kaufmann Publishers.
4

OBJETIVO DE UM BD
Fornecer uma viso abstrata dos dados aos usurios. Os detalhes referentes a forma como estes dados esto armazenados e mantidos no interessa aos usurios, mas sim a disponibilidade eficiente destes dados.

Mundo real

modelo

02/01/2003

Fundamentos de Banco de Dados

Representao5em computadores

Tipos de Banco de Dados e Aplicaes de Banco de Dados


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

Definies
Banco de Dados: coleo de dados relacionados. Dados:fatos que podem ser gravados e que possuem um significado implcito Mini-Mundo: Alguma parte do mundo real sobre o qual os dados so armazenados em um banco de dados. Por exemplo, as notas dos alunos e transcries de uma universidade. Sistema Gerenciador de Banco de Dados (SGBD): Um software / sistema para facilitar a criao e manuteno de um banco de dados Sistema de Banco de Dados: SGBD + Dados + Aplicativos
7

Funcionalidades de um SGBD
Definio de um banco de dados: em termos de tipos de dados, estruturas e restries Construo do banco de dados em um meio de armazenamento secundrio Manipulao do banco de dados: consulta, gerao de relatrios, inseres, excluses e modificaes de contedo Processamento simultneo e compartilhamento por um conjunto de usurios e programas, no entanto, mantendo todos os dados vlidos e consistentes Preveno de acessos no autorizados Processamento Ativo: para tomada de medidas internas sobre os dados Apresentao e visualizao de dados 8

Configurao de Um Sistema de banco de Dados Simplificado 9

Exemplo de um BD

Mini-mundo: parte de uma universidade Algumas entidades:


Alunos Disciplinas Departamentos Disciplinas so oferecidas por Departamentos Alunos esto matriculados em Disciplinas

Alguns relacionamentos:

Exemplo de um BD

Principais Caractersticas de um SGBD


Natureza Auto-Descritiva: Um catlogo SGBD armazena a descrio da base de dados. Essa descrio chamada de metadados e permite que o software SGBD trabalhar com diferentes bases de dados Isolamento entre programs e dados: Conhecido como Independncia programa-dados. Permite alterar as estruturas de armazenamento de dados e operaes sem ter que mudar os programas de acesso ao SGBD

12

Principais Caractersticas de um SGBD


Abstrao de Dados: Um modelo de dados usado para esconder detalhes de armazenamento e apresentar aos usurios uma viso conceitual do banco de dados Suporte a Mltiplas Vises dos Dados: Cada usurio pode ter uma viso diferente do banco de dados, a qual descreve apenas os dados de interesse para o usurio. Compartilhamento de Dados e Processamento de Transaes Multiusurio: Permite que um conjunto de usurios recupere e atualize a base de dados. O controle de concorrncia dentro do SGBD garante que cada transao seja executada corretamente ou esta ser completamente abortada
13

Usurios de um Banco de Dados


Os usurios podem ser divididos entre aqueles que realmente usam e controlam o contedo 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 atrs do Palco).

14

Usurios de um Banco de Dados


ATORES NO PALCO
Administradores de banco de dados:
Responsvel pela autorizao do acesso ao banco de dados, coordenao e fiscalizao da sua utilizao, aquisio de software e recursos de hardware, controlando a sua utilizao e eficincia com o monitoramento das operaes.

Projetistas de banco de dados:


Responsvel por definir o contedo, a estrutura, as restries e funes ou operaes no banco de dados.

Usurios finais:
Usam os dados para consultas, relatrios e alguns, devidamente autorizados, atualizam o contedo do banco de dados. 15

Usurios de um Banco de Dados


ATORES ATRS DO PALCO
Projetistas e Implementadores de SGBD:
Projetam e implementam os complexos mdulos 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. So ferramentas que vem em pacotes especiais separados das funcionalidades bsicas do SGBD

Pessoal de Manuteno e operadores:


Responsveis pela execuo e manuteno do ambiente de hardware e software do sistema de banco de dados 16

Vantagens da abordagem SGBD


Controle de Redundncia Compartilhamento seguro de Dados Restrio de acesso aos dados. Armazenamento persistente Estruturas de armazenamento para processamento eficiente de consultas Backup e Recuperao de falhas Mltiplas Interfaces Representao de relacionamentos complexos entre os dados Restries de integridade 17

Breve Histrico das Tecnologias


Modelos Hierrquico 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 dcada 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 aplicaes. Seu uso no decolou muito. Aplicativos Web e E-commerce: Recente, ainda em desenvolvimento, baseado em padres como o XML (eXtended Markup Language). 18

Quando No Usar um SGBD


CUSTO ELEVADO SIMPLICIDADE DA APLICAO APLICAES DE TEMPO REAL ACESSO POR MLTIPLOS USURIOS DESNECESSRIO

19

Conceitos e Arquitetura de Sistemas e Banco de Dados

20

MODELOS DE DADOS
Conceituais (alto nvel, semntico): Fornecer conceitos que esto perto da maneira como os usurios percebem os dados. (modelos baseados em entidades e baseados em objetos) Fsicos (baixo nvel, modelos de dados internos): Fornecer conceitos que descrevem os detalhes de como os dados so armazenados no computador. De Implementao (representacional): Fornecer conceitos que se situam entre os dois acima, equilibrando pontos de vista do usurio com alguns detalhes de armazenamento do computador.
21

Esquemas e Instancias
Esquema de banco de dados: a descrio de um banco de dados. Inclui descries da estrutura de banco de dados e as restries que devem conter na base de dados. Esquema Diagrama: Uma exibio 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. Instncia de banco de dados: Representa os dados reais armazenados em um banco de dados em um determinado momento no tempo. Tambm chamado de estado de banco de dados (ou ocorrncia).
22

Esquemas e Instancias

23

Arquitetura em trs esquemas

24

Arquitetura em trs esquemas

25

Arquitetura em trs esquemas

26

Independncia de dados

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

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

Independncia de dados
Quando um esquema de baixo nvel alterado, apenas os mapeamentos entre este esquema e os de nvel superior precisam ser alterados. Os esquemas de nvel superior em si mantm-se inalterados. Assim, os programas de aplicao no precisam ser alterados, uma vez que referem-se aos esquemas externos.
28

Linguagens

Linguagem de definio de dados (DDL)

Usada para definir esquemas Recuperao, insero, remoo, modificao do BD DML de alto nivel usada em modo stand-alone

Linguagem de manipulao de dados (DML)

Linguagem de consulta

Exemplo: SQL

Utilitrios

Carregamento Backup

E.g. dumps do banco de dados

(Re-)Organizao de arquivos Monitoramento da performance

Classificao dos SGBDs

Quanto ao modelo de dados adotado: Relacionais De rede Hierrquicos Orientados a objetos Objeto-relacionais Quanto ao nmero de usurios suportados: Mono-usurios Multi-usurios Quanto localizao dos dados: Centralizados Distribudos

Exemplo de um BD Relacional
NumEmp 032 074 NomeEmp J Silva M Reis C Melo R Silva R Pinto V Simo J Neves Salrio 380 400 520 480 390 905 640 Dept 21 25 28 25 21 28 28

Empregado 089
092 112 121 130

NumDept

NomeDept Pessoal Financeiro Tcnico

Ramal 142 143 144

Departamento

21 25 28

Exemplo de um BD de Rede
Empregado Departamento
21 Pessoal 142 032 074 089 25 Financeiro 143 092 112 28 Tcnico 144 121 130 J Silva M Reis C Melo R Silva R Pinto V Simo J Neves 380 400 520 480 390 905 640

Exemplo de um BD Hierrquico
Departamento
21 Pessoal 142 25 Financeiro 143 28 Tcnico 144

Empregado
032 112 J Silva R Pinto 380 390 074 092 M Reis R Silva 400 480 089 121 130 C Melo V Simo J Neves 520 905 640

Arquitetura SGBD Centralizada


Utilizavam os grandes computadores centrais (mainframes) Processavam todas as funes do sistema, incluindo os programas de aplicao e os de interface com os usurios, bem como todas as funcionalidades do SGBD. Todos os processos eram executados pelo servidor

Arquitetura SGBD Cliente Servidor


Projetada pra trabalhar conectados em rede. com ambientes computacionais O conceito de arquitetura cliente/servidor consiste em muitos Pcs e estaes de trabalho e um nmero pequeno de mquinas centrais (mainframes) conectadas via redes locais. Um cliente nessa estrutura , em geral, uma mquina de usurio que tem as funcionalidades de interface com o usurio e processamento o local. Quando um cliente precisa de uma funcionalidade adicional, como o acesso ao banco de dados, inexistente naquela mquina, ele se conecta a um servidor que disponibiliza essa funcionalidade. Um servidor uma mquina que pode fornecer servios para as mquinas clientes, como acesso a arquivos, impresso, arquivamento ou acesso a um banco de dados.

Cliente Servidor Duas Camadas


Arquitetura Lgica

Em geral, algumas mquinas instalam apenas o software cliente, outras apenas o software servidor e outras ambos. Porm, normalmente os softwares de cliente e servidor so executados em mquinas separadas. Dois tipos principais de arquiteturas de SGBD: duas e trs camadas

Cliente Servidor Duas Camadas


Os componentes de software so distribudos em dois sistemas: cliente e servidor. Nesta arquitetura, geralmente o servidor chamado de servidor de transao, servidor de consulta ou servidor SQL

Arquitetura Fsica

Cliente Servidor Trs Camadas


Possui uma camada intermediria entre o cliente e o servidor de banco de dados conhecida como servidor de aplicaes ou servidor Web Esse servidor armazena as regras de negcio que so usadas para acessar os dados do servidor de bd. Tambm pode realizar checagem das credenciais do cliente antes de enviar uma solicitao ao servidor de bd. Os clientes possuem interfaces GUI e algumas regras de negcio adicionais especficas para a aplicao. O servidor intermedirio aceita as solicitaes do cliente, processa e envia comandos de banco de dados ao servidor de banco de dados, retornando ento os dados passados pelo BD ao cliente.

Cliente Servidor Trs Camadas