Anda di halaman 1dari 126

Fundamentos de bancos de dados

Lbia Vinhas

Fundamentos de bancos de dados




Um banco de dados uma coleo de dados organizada de forma


que um computador possa armazen-los e recuper-los de maneira
eficiente

um repositrio de dados logicamente relacionados

Um banco de dados criado e mantido atravs de um software de


propsito geral chamado Sistema Gerenciador de Banco de Dados
(SGBD)

Bancos de dados


Antes dos bancos de dados, a funo


principal dos computadores era converter
dados entre diferentes formatos
entrada

sada

O computador uma calculadora gigante


processamento

Bancos de dados transformam os


computadores em repositrios de dados

O computador um repositrio de dados

A maioria das aplicaes (SIG inclusive)

recupera

deposita

precisam de um balano entre


usurio

processamento e armazenamento
3

Bancos de Dados



4

Para que possam ser teis, bancos de dados devem oferecer:

Confiabilidade

Integridade

Segurana

Vises

Interface

Independncia de dados

Auto-descrio

Concorrncia

Capacidade de rodar de forma distribuda

Alta performance

Todas essas funes so executadas pelos SGBD Sistemas


Gerenciadores de Bancos de Dados

Ex: Encomendas para festa




Modificar
Menu

Podemos escrever um

Imprimir
Menu

programa para organizar

Estgio 1

Arquivo Menu

o estoque de algum que


aceita encomendas para

Nome Item

festa

Brigadeiro

Item
Menu

Com o tempo esse

Preo Item

R$ 1.5

programa ir se tornar
muito complexo, com
muitas funes

Modificar
Menu

Imprimir
Menu

Modificar
Estoque

Arquivo Menu

Imprimir Rel.
Estoque

Arquivo
Estoque
Preo Menu

Estgio 2

Ex: Encomendas para festa 2




Principais problemas da abordagem anterior:

Perda de integridade

Perda de independncia

Perda de segurana

Estgio 3, o banco de dados, resolve esses problemas


Modificar
Menu

Imprimir
Menu

Modificar
Estoque

Modificar
Estoque

Imprimir Rel.
Estoque

Modificar
Fornecedores

Fornecedores
Menu

Estoque
Preo

Menu

Sistema Gerenciador de Banco de Dados


6

Estgio 3

Algumas aplicaes de banco de dados




Bancos de dados caseiros

Bancos de dados comerciais

Armazena imagens, udio e vdeo

Bancos de dados geogrficos

Armazena informaes sobre projetos de engenharia (ex. CAD)

Bancos de dados multi-media

Armazena todas as informaes relativas ao negcio (ex.


fornecedores, clientes, empregados)

Bancos de dados de engenharia

Aplicaes simples (ex. encomendas para festa)

Armazenam combinaes de dados espaciais e no espaciais

Um SGBD oferece:

Interfaces baseadas em modelo de dados de


alto nvel tanto para a definio da estrutura
da base quanto para sua consulta

Programas de Aplicao/Consulta

Mecanismos que garantem restries de


integridade (ex. triggers, assertions)

Softwares p/ processar as consultas/programar

Software para gerenciar o banco de dados

SGBD (DBMS)

Sistema de Banco de Dados

Usurios/Programadores

Atomicidade-consistncia-integridadedurabilidade) (ex. controle de concorrncia,


susbsistema de recuperao)

Dicionario Arquivos de
de dados
dados

Controle de acesso

Banco de Dados

Mtodos de acesso e armazemento


eficientes (ex. otimizao de consultas)

SGBDs tem vrios nveis




nvel externo:

especificao da organizao conceitual do

Externo

Externo

BD, vista por um grupo de usurios




nvel conceitual:

especificao da organizao conceitual do


BD, ou seja, o qu o BD armazena

conceitual

nvel fsico ou interno:

especificao das estruturas de


armazenamento do BD, ou seja, como o BD
est armazenado

Fsico

Vantagens da especificao em nveis




Facilidade de manuteno

Independncia fsica (dos dados)

Externo

Externo

Permite modificar as estruturas


de armazenamento sem
impactar as aplicaes

Independncia lgica (dos dados)

conceitual

Separao entre esquema


externo e esquema conceitual
permite modificar a organizao

Modelo de
Dados

conceitual com impacto mnimo


nas aplicaes.

As aplicao so construdas
sobre o nvel externo

Fsico

Modelos de dados


Conjunto de conceitos usados para representar os


dados, os relacionamentos entre esses dados e as
restries de consistncia da base

No processo de modelagem necessrio construir uma


abstrao dos objetos e fenmenos do mundo real

Abstrao de dados


Nvel de vises (de usurio)

Descreve como um usurio v o banco de dados

Diferentes usurios podem ter diferentes vises do BD

Nvel lgico ou conceitual

Descreve quais dados esto armazenados e as relaes entre


eles

Nvel fsico

Descreve como os dados esto armazenados

Baixo nvel de abstrao

Estruturas complexas e detalhadas

Abstrao de dados Exemplo


Nvel de
usurio

Viso 1 - Cliente

Viso 2 - Caixa

Viso 3 - Gerente

Cliente(Cod, Nome, Tel, Endereo)


Conta(Num, Agencia, Cliente, Saldo)

Nvel lgico
Agencia(Num, Endereco)
Funcionario(Nome, Salario, Admiss.)

Nvel fsico

Banco de Dados Armazenado

Projeto de um Banco de Dados




Comea com um levantamento de requisitos

Modelagem conceitual

Modelagem lgica

Refinamento e projeto fsico

Termina com o projeto fsico do banco

Modelo Entidade-Relacionamento (E-R)




Introduzido em 1976 por Peter Chen, a abordagem mais adotada


para modelagem conceitual de dados. Objetivo facilitar o projeto do
banco de dados representando sua estrutura lgica

Definio: modelo baseado na percepo do mundo real como um


conjunto de objetos chamados entidades e pelo conjunto de
relacionamentos entre esses objetos

Ao longo do tempo diferentes verses de do modelo E-R foram sendo


propostas para representar diferentes conceitos

Conceitos bsicos do Modelo E-R




Entidades

Objetos bsicos do mundo real

Um conjunto de entidades agrupa entidades do mesmo tipo

Relacionamentos

Associao entre conjuntos de entidades

Atributos

Associados a entidades e a relacionamentos

Uma entidade representada por um conjunto de atributos

Cada atributo possui um domnio

Representao Grfica do Modelo E-R




Retngulos: conjunto de entidades

Elipses: atributos

Losangos: relacionamentos

data
area_total
cpf

area_const

id
lote

possui

nome

proprietrio

Modelo E-R


Atributo identificador

Atributo que vai identificar unicamente cada instncia da entidade

Devem ser sublinhados

data
area_total
cpf

area_const

id
lote

possui

nome

proprietrio

Modelo E-R


Cardinalidade:

expressa o nmero de outras entidades as quais uma pode estar


estar associada: 1:1, 1:n, n:1, n:n

data
area_total
cpf

area_const

id
lote

possui

nome

proprietrio

Modelo E-R


Exemplos de cardinalidade: 1:1


endereo
cpf

nome
num
1

1
possui

proprietrio

cadastro

Relao correta
Cadastro

Proprietario

cidade

Relao incorreta
Cadastro

Proprietario

01

00001 Pedro

01

00001 Pedro

02

00002 Paulo

02

00002 Paulo

03

00003 Katia

03

00003 Katia

04

Modelo E-R


Exemplos de cardinalidade: 1:N


area_total

area

num
area_const

id

n
lote

quadra

pertence

Relao correta
Lote

Quadra

Relao incorreta
Lote

Quadra

001

quad01

001

quad01

002

quad02

002

quad02

003

quad03

003

quad03

004

quad04

004

quad04

Modelo E-R


Exemplos de cardinalidade: N:N


area_total
num

area_const

id

n
lote

nome

n
Faz fronteira

rua

Relao correta
Lote

Rua

001

Av. So Joo

002

Rua Teopompo Vasconcelos

003

Rua Imigrantes

004

Modelo E-R
contrato_compra_venda

composto

n
1

possui

n
1

cadastro

possui

lote

1
n

faz
fronteira

n
proprietrio

associado

n
banco

pertence
1
n

financiado

ruas

quadras
n
1
emprstimo

quadras
comerciais

quadras
residenciais

n
pago

pagamento

Modelo de Dados Geogrficos




Modelagem de dados convencional

abstrao de entidades e relacionamentos do mundo real com


propriedades alfanumricas

Modelagem de dados geogrficos mais complexa

entidades com propriedades espaciais

entidades com mltiplas representaes




vrias geometrias para uma mesma entidade

podem estar associadas a determinadas faixas de escala

relacionamentos com semntica espacial




conectividade, cobertura, ...

Outros requisitos de um Modelo de Dados Geogrficos




Representar e diferenciar os diversos tipos de dados


envolvidos nas aplicaes geogrficas, tais como ponto,
linha, rea, imagem, etc.

Representar tanto as relaes espaciais e suas


propriedades como tambm as associaes simples e de
rede

Ser capaz de especificar regras de integridade espacial

Suportar classes georreferenciadas e classes


convencionais, assim como os relacionamentos entre elas

Requisitos de um Modelo de Dados Geogrficos




Ser adequado aos conceitos que temos sobre dados


espaciais, tanto discretos quanto contnuos

Ser de fcil visualizao e compreenso

Representar o conceito de camada de informao

Representar as mltiplas vises de uma mesma entidade


geogrfica, tanto com base em variaes de escala,
quanto nas vrias formas de perceb-las

Ser capaz de expressar verses e sries temporais,


assim como relacionamentos temporais

Modelos de Dados Geogrficos




Modelos que possuem conceitos ou primitivas para a


representao de dados geogrficos:

IFO para aplicaes geogrficas (Worboys et al., 1990)

MODUL-R (Bdard, 1996)

GeoOOA (Ksters, 1997)

GMOD (Oliveira, 1997)

GISER (Shekhar, 1997)

MADS (Parent, 1999)

GeoFrame (Lisboa and Iochpe, 1999)

OMT-G (Borges, 2001)

Modelo OMT - Object Modeling Technique




Mtodo de projeto orientado a objetos: classes,


relacionamentos e operaes

Conceitos:

objeto - entidade do mundo real

classe de objetos - representa entidades de mesma caracterstica


(atributos, operaes)

associaes - relacionamento entre objetos

generalizao - hierarquia entre classes

agregao - combinao de outras partes

Modelo OMT diagrama de classes

Modelo OMT-G


Classes convencionais
Nome

Nome

objetos com comportamento semelhantes


Atributos

nome, atributos, e operaes

Operaes

Classes georeferenciadas

objetos com representaes espaciais (geo-campos e geoobjetos)

nome , atributos grficos e convencionais, operaes


Nome
Atributos
Operaes

Nome

OMT-G

CLASSE
OMT-G

CLASSE
CONVENCIONAL

CLASSE
GEORREFERENCIADA

GEO-CAMPO

REDE
TRIANGULAR
IRREGULAR

POLGONOS
ADJACENTES

TESSELAO

AMOSTRAGEM

GEO-OBJETO

ISOLINHAS

POLGONO

GEO-OBJETO C/
GEOMETRIA E
TOPOLOGIA

GEO-OBJETO COM
GEOMETRIA

PONTO

LINHA

LINHA UNIDIRECIONADA

LINHA BIDIRECIONADA

OMT-G

Classe Convencional
Classe Georreferenciada
Nome Classe

Nome
da Classe
Atributos Grficos

Nome da Classe

Atributos

Nome da classe

Operaes

Atributos

Representao
Simplificada

Operaes

Representao
Simplificada

OMT-G

Geo-campos:

Rede Triangular
Irregular
Nome

Isolinha
Nome

Polgonos
Adjacentes
Nome

Tesselao
Nome

Amostragem
Nome

Atributos Grficos

Atributos Grficos

Atributos Grficos

Atributos Grficos

Atributos Grficos

Atributos

Atributos

Atributos

Atributos

Atributos

Operaes

Operaes

Operaes

Operaes

Operaes

Ex: TIN

Ex: Curvas
de nvel

Ex: Diviso
de bairros

Ex: Imagem

Ex: Pontos
Cotados

OMT-G


Geo-objetos

GEO-OBJETO com geometria


LINHA
Nome
da Classe
Atributos Grficos

PONTO
Nome
da Classe
Atributos Grficos

POLGONO
Nome
da Classe
Atributos Grficos

GEO-OBJETO com geometria e topologia


LINHA
UNI-DIRECIONADA

LINHA
BI-DIRECIONADA

Nome
da Classe

Nome
da Classe

Nome
da Classe

Atributos Grficos

Atributos Grficos

Atributos Grficos

Atributos

Atributos

Atributos

Atributos

Atributos

Atributos

Operaes

Operaes

Operaes

Operaes

Operaes

Operaes

Ex: Trecho rede


de esgoto

Ex: Trecho rede


de gua

Ex:Poo de Visita

Ex: Muro

Ex: rvore

Ex: Lote

OMT-G Relacionamentos


Associao simples

Relaes espaciais

topolgicas, mtricas, direcionais

Hierarquia espacial

relacionamentos estruturais entre objetos diferentes

classe que representa o domnio espacial conectada s demais


sub-divises espaciais

Relacionamento em rede

ligam classes do tipo N com classes do tipo Linha unidirecionada ou bi-direcionada

OMT-G Relacionamentos

OMT-G Relacionamentos


Relacionamentos Espaciais entre polgonos

Disjunto

Contm

Dentro

Iqual

Encontram

Cobre

Coberto por

Sobreposio

LINHA/
POLIGONO

LINHA/LINHA
Disjunto

Disjunto

Toca

Adjacente

Cruza

Perto de

Coincidente
Acima/Abaixo

Acima/Abaixo

Adjacente

Cruza
d

Atravessa

Entre

OMT-G

Em frente a

Paralelo a

Sobre

A, B

Toca
B

PONTO/
POLIGONO

LINHA/PONTO
Disjunto

Relacionamentos
espaciais

Disjunto
Adjacente/Toca

Toca/Adjacente
Perto de

Dentro de

A, B

Pero de

Perto de

Sobre

Dentro de

Acima/Abaixo

Acima/Abaixo
Em frente a

PONTO/PONTO
Disjunto
Adjacente/Toca
Perto de

Coincidente

A, B

Acima/Abaixo
Em frente a

OMT-G Generalizao
Nome da Classe

Nome da Subclasse

Nome da Subclasse

Notao p/ Generalizao

Lote

Edificado

Unid.Ambiental

No Edificado

Parques
Hachura = verde

Generalizao

Reservas
Hachura = amarela

Generalizao Espacial

OMT-G Generalizao Espacial

SuperClasse

SubClasse

SuperClasse

SubClasse

SubClasse

SubClasse

Disjunto/Parcial

Sobreposta/Parcial

SuperClasse

SuperClasse

SubClasse

SubClasse

Disjunto/Total

SubClasse

SubClasse

Sobreposta/Total

OMT-G Generalizao Espacial


Atividades
Econom.

sinalizao

Pt.nibus

Estacionam

Disjunto/
Parcial

Sobreposto/ Parcial

Escola

Pblica

Terminal

Particular

Disjunto/
Total

Indstria

Comrcio

Metro

Sobreposto/Total

nibus

OMT-G Agregao

Todo
Agregao

Parte

Todo

Parte

Agregao espacial. Impe


uma srie de restries de
integridade:
Geometrias das partes formam
a geometria do todo
No h interseo entre as
geometrias das partes

OMT-G Agregao Espacial

Quadra

Quadra

U
Lote

Subdiviso espacial

Lote

Unio espacial

Lote

C
Edificao

Contm

OMT-G Generalizao Cartogrfica




Pode ser vista como uma srie de transformaes em


algumas representaes das informaes espaciais, com
o objetivo de melhorar a legibilidade e compreenso dos
dados

2 tipos : variao pela forma e variao por escala

Diferentes Vises de um Rio

OMT-G Generalizao Cartogrfica




Variao pela Forma


b)

a)
Cemitrio

Placa

F
Cemitrio

Cemitrio
Sinalizao

Cadastro Placa

OMT-G Generalizao Cartogrfica




Variao pela Escala


Indica uma
classe
Georreferenciada

Indica uma
classe
Georreferenciada
Nome
da Classe

Cidade

Escola

intervalo escala
Atributos
Alterar forma
visualizao

E
Cidade

Cidade

E
Escola

rea da Escola

Escola

Exemplo Modelo OMT-G: Hospitais


Modelo Geo-OMT - Hospitais
MUNICPIO
Mdico

COD_MUNICPIO

Cdigo_med
Nome_med
Funo
rea
Cod_hospital

Hospital
n...n

Cod_hospital
Nome
End
Num_leitos ...

1
Dentro de

Bairros
1...n

1...n

1...n

COD_Bairro

Paciente
1...n

Descrio do Bairro

Cruza / Atravessa /
Dentro de

Nome_pac
CPF
Convnio
Med_resp
Cod_hospital

1...n

Pronturio
Cdigo_pronturio
CPF_Paciente
Doena
Data_entrada
Data_sada

1
Exames

Ruas

1...n

Hospital

DSC_NOME_Ruas

Dentro de

Cruza / Toca

Exame_pac
Cdigo_exame
Nome_exame
Tipo
Valor
Cod_hospital
1...n

Cdigo
CPF_paciente
Data_exame
Cod_exame

Exemplo
OMT-G:
Empresa
Cana
Acar
Modelo Geo-OMT - Empresa de Cana de Aucar
ESTADOS
C

U
1...*
MUNICPIO
COD_MUNICPIO

Contm

1
Dentro de

1...*
Cruza / Atravessa /
Dentro de

FAZENDA

COD_FZ
Descrio da Fazenda

Fazenda

Rodovias
1...*
DSC_NOME_Rod

Cod_FZ
rea_plantada
Tcnico_responsavel
1

Talho
1...*

COD_Talho
Descrio Talho

1...*

Produo

Talho
Ruas
1...*
DSC_NOME_RUA

Cruza / Toca

1...*

Cod_Talho
Cod_FZ
rea/Permetro
Tipo_solo

1...*

Cod_Talho
Cod_FZ
Safra
Especie
Data_plantio
Data_colheita
Produo
Preo

Projeto de Bancos de dados




Fase 1: Modelagem conceitual (ER)

Fase 2: Mapeamento para um modelo lgico

Fase 3: Definio das estruturas fsicas de


armazenamento

Modelo Relacional


Uma banco de dados relacional uma coleo de relaes, muitas


vezes chamadas de tabelas

Cada relao tem um conjunto de atributos

Os dados de uma relao esto estruturados como um conjunto de


linhas, ou tuplas

Cada tupla contm os dados de cada atributo

Cada clula em uma tupla contm um valor atmico

Um Sistema Gerenciador de Dados Relacional (SGBD-Relacional)


um software que gerencia um banco de dados relacional

50

Exemplos de relaes
Relao

Atributo

PROPRIETARIO
CPF

NOME

RUA

08940256

JOO DA SILVA

SAO JOAO

03727298
97260089

NUMERO

BAIRRO

180

CENTRO

HENRIQUE CARDOSO IMIGRANTE

1700

VILA 12

JOS DE SOUZA

35

CENTRO

SAO JOAO

Tupla

LOTE
NUMERO

PROPRIETARIO_CPF

AREA_TOTAL

AREA_CONST

00001

08940256

400.000

00003

03727298

150.000

75.00

00039

03727298

500.000

Conceito de Relao


Define uma tabela do banco de dados

Domnio de um atributo: conjunto de possveis valores

Empregado
REG

NOME

IDADE

CARGO

SALARIO

Joo

34

Motorista

1020.30

Maria

35

Secretaria

1200.00

Joaquim

42

Gerente

2500.00

REG

Cadeia de caracteres (texto)

NOME

Cadeia de caracteres (texto)

Podemos restringir ainda mais. Ex:

IDADE

Inteiro

D1 = { x | x -5 e x 5 } ou

CARGO

Cadeia de caracteres (texto)

D2 = { y | y 0 }

SALARIO

Real

Conceito de Relao


Dados os domnios D1, D2, ..., Dn no necessariamente


distintos, uma relao definida como:
R = { (d1, d2,..., dn) | d1 D1, d2 D2,..., dn Dn }

O conjunto (d1, d2,..., dn) de valores ordenados define uma tupla

Uma relao o conjunto de n-tuplas ordenadas, onde n define o


grau da relao

O esquema de uma relao o conjunto de nomes e


domnios (tipo) para cada atributo

Esquema x Instncia
PROPRIETARIO
CPF

NOME

RUA

08940256

JOO DA SILVA

SAO JOAO

03727298
97260089

Esquema da
relao Proprietrio

NUMERO

BAIRRO

180

CENTRO

HENRIQUE CARDOSO IMIGRANTE

1700

VILA 12

JOS DE SOUZA

35

CENTRO

Instncia da
relao Proprietrio

SAO JOAO

Chave Primria


Chave candidata um atributo or um conjunto mnimo de atributos que so


unicamente identificveis em cada tupla da relao

Uma chave candidata usualmente escolhida como uma chave primria

Exemplos de chaves primrias:


CINEMA

CIN_ID

NOME

SALA

CIN_ID

SALA_ID

FILME

TITULO

PROGRAMACAO

CIN_ID

GERENTE

ENDERECO

CAPACIDADE

DIRETOR

SALA_ID

TELEFONE

ANO

TITULO

PAIS

Simples

3D

Composta

Chave Estrangeira


Implementa a restrio de integridade referencial

Coluna ou combinao de colunas, cujos valores


aparecem necessariamente na chave primria de uma
outra tabela

Mecanismo que permite a implementao de


relacionamentos em um banco de dados relacional.

Chave estrangeira
Curso
CURSOID

TITULO

DURAO

INFO

Informtica Indust.

BIO

Biologia

ENG

Engenharia Civil

MAT

Licenciatura Mat.

Aluno

 Atravs dos relacionamento, evitamos

MATRICULA

NOME

CURSO

a repetio de informaes

98765

Joo

MAT

 Uma chave estrangeira no precisa ser

67765

Jos

BIO

uma chave primria na sua relao

84562

Maria

ENG

34256

Luis

INFO

mesmo nome do que a chave primria

3452672

Ana

MAT

correspondente na outra tabela. Mas dever

34529

Luana

MAT

ter o mesmo domnio

 Uma chave estrangeira no precisa ter o

lgebra Relacional


O Modelo Relacional tambm prope um linguagem de consultas

Conjunto de operaes que usam uma ou duas relaes como entrada e


geram uma relao de sada

operao (REL1) REL2

operao (REL1,REL2) REL3

Operaes bsicas:

Operaes unrias:


seleo, projeo, renomeao

Operaes binrias:


produto cartesiano, unio e diferena

Operadores da lgebra Relacional




Seleo:

seleciona tuplas que satisfazem um certo predicado ou condio

Clientes
Nome
Joo
Maria
Jos

Registro
1
2
3

a) selecionar tuplas cujo nome = Joo


nome=Joo (Clientes)

Nome
Joo

Registro
1

Operadores da lgebra Relacional


b) selecionar as tuplas de Clientes cujo registro > 1
registro>1 (Clientes)

Nome
Maria
Jos

Registro
2
3

c) selecionar as tuplas de Clientes com registro > 1 e registro < 3


registro>1 registro < 3 (Clientes)

Nome
Maria

Registro
2

Operadores da lgebra Relacional




Projeo:

gera novas relaes excluindo alguns atributos

exemplo: projete o atributo nome sobre a relao Clientes


nome (Clientes)

Clientes
Nome
Joo
Maria
Jos

Registro
1
2
3

Nome
Joo
Maria
Jos

Operadores da lgebra Relacional




Unio:

unio de atributos do mesmo domnio que esto em relaes


diferentes

as relaes devem possuir o mesmo nmero de atributos

exemplo: encontre todos os clientes da agncia que possuem


conta corrente ou emprstimo.


Relaes existentes na agncia:

ContaCorrente e Emprestimo

Operadores da lgebra Relacional


Unio:

nome (ContaCorrente) U nome (Emprestimo)

ContaCorrente
Nome
Conta
Joo
Maria
Jos

1
2
3

Emprestimo
Nome
Emprstimo
Paulo
Maria
Carlos

100
200
300

Resultado da unio
Nome

Joo
Maria
Jos
Paulo
Carlos

Operadores da lgebra Relacional




Diferena:

tuplas que se encontram em uma relao, mas no em outra

exemplo: encontre todos clientes sem emprstimo

nome (ContaCorrente) - nome (Emprestimo)

ContaCorrente

Nome
Joo
Maria
Jos

Resultado da diferena

Conta

Nome
Emprestimo
=
Nome
Emprstimo

1
2
3

Paulo
Maria
Carlos

100
200
300

Joo
Jos

Operadores da lgebra Relacional




Produto Cartesiano

Faz todas as combinaes entre as tuplas de duas relaes

Gera uma nova relao formada pela unio dessas combinaes

Exemplo: produto cartesiano entre os clientes e os emprstimos de Maria

emprestimo.nome = Maria (ContaCorrente X Emprestimo)


Nomecc
Joo
Maria
Jos

Conta
1
2
3

Nomeemp
Maria
Maria
Maria

Emprstimo
200
200
200

Operadores da lgebra Relacional


Operadores derivados:

Interseco


Seleciona tudo que est em ambas relaes

Exemplo: todos os clientes que possuem emprstimo

nome (ContaCorrente)

ContaCorrente
Nome
Conta
Joo
Maria
Jos

1
2
3

nome (Emprestimo)

Emprestimo
Nome Emprstimo
Paulo
Maria
Carlos

100
200
300

Resultado da
interseco
Nome

Maria

Operadores da lgebra Relacional




Operadores derivados

Juno


Inclui um produto cartesiano, seguido de uma seleo (pode ter


projeo ao final)

Exemplo: nomes dos clientes com conta corrente e nmero de


emprstimo:

contacorrente.nome, emprestimo.emprestimo
( contacorrente.nome = emprestimo.nome (ContaCorrente X Emprestimo))
contacorrente.nome, emprestimo.emprestimo
(ContaCorrente

Emprestimo))

lgebra Relacional - Resumo

SQL


O que a SQL?

Structured Query Language

Permite o acesso e a manipulao de uma base de dados relacional, ou


seja, implementa a lgebra relacional do

um padro ANSI (American National Standards Institute)

O que possvel fazer com a SQL?

Executar consultas, recuperar dados, inserir, atualizar e remover


registros, criar novos bancos, criar novas tabelas, criar stored procedures
e views, definir permisses sobre tabelas, procedures e views.

SQL padro mas...

Existem diferentes verses de SQL. Mas espera-se que a maioria dos


comandos sejam suportados de maneira similar

SQL - Structured Query Language




Linguagem de consulta usada pela maioria de SGBD-R

Baseada na lgebra e no clculo relacional

divida em:

Linguagem de manipulao de dados (SQL DML)

Linguagem de definio de dados (SQL DDL)

Definio de vises (SQL DDL)

Especificao de autorizao (SQL DDL)

Especificao de integridade (SQL DDL)

Controle de transao (SQL DDL)

SQL - Structured Query Language


Comandos

Usado para

Tipo

select

Consultar dados

DML

insert, update, delete

Incluir, alterar e remover dados

DML

commit, rollback

Controlar transaes

DDL

create, alter, drop

Definir, alterar e remover esquemas

DDL

(tabelas)

SQL - Structured Query Language

CREATE TABLE cliente


(nome
endereo
cidade
PRIMARY KEY

CHAR(20) NOT NULL,


CHAR(30),
CHAR(30),
(nome))

ALTER TABLE cliente ADD RG CHAR(10)

SELECT nome, endereco


FROM cliente
WHERE cidade = So Jos dos Campos

SQL - Bsico


Seleo
SELECT *
FROM solicitacao_compra
WHERE cod_func = func01

Projeo
SELECT cod_func
FROM solicitacao_compra

Produto Cartesiano
SELECT funcionarios.*, solicitacao_compra.*
FROM funcionarios INNER JOIN solicitacao_compra
ON funcionarios.cod_func = solicitacao_compra.cod_func

Modelos de SGBD

Rede

Hierrquico

Objeto

P-Id

Nome

Sobrenome

Cidade

Cidade

Populao

Renda

Lais

Costa

SJC

SJC

1000000

32244

Maria

Silva

SP

...

...

...

Relacional

Modelos de SGBD

P-Id

Nome

Sobrenome

Cidade

Cidade

Populao

Renda

Lais

Costa

SJC

SJC

1000000

32244

...

...

...

...

...

...

...

Relacional

Objeto-Relacional

Objeto

Modelagem

Mundo Real

Banco de Dados

Esquema
Planta
Instncia
Casas

Esquema x Instncia

Modelagem
Mundo
Real

Modelagem
Modelo Conceitual

Esquema Lgico
Derivao

Independe do SGBD

Depende do SGBD

Modelagem
Aplicao

Mundo Real

Aplicao

Aplicao

Esquema

Esquema

Esquema

Externo

Externo

Externo

Modelagem
Modelo Conceitual
Derivao

Esquema Lgico
Depende do
SGBD

Independe do SGBD

Estrutura Interna

Dados
Armazenados

Interfaces para bancos de dados

Aplicao

Consulta

SQL

Interface

SQL

Banco de Dados

Resultado

Interfaces para bancos de dados

Aplicao

Consulta

SQL

Interface

SQL

Resultado

Banco de Dados
Ex. Formulrio

Interfaces para bancos de dados

Aplicao

Consulta

SQL

Interface

SQL

Resultado

Banco de Dados
Ex: Texto

Interfaces para bancos de dados

Aplicao

Consulta

SQL

Interface

SQL

Resulta
do

Banco de Dados

Ex. SIG

Sistemas de Informao Geogrfica - SIG




Sistemas que realizam o tratamento computacional de


dados geogrficos

Funcionalidades de um SIG:

Entrada e validao de dados espaciais

Armazenamento e gerenciamento desses dados

Sada e apresentao visual desses dados

Transformao de dados espaciais

Interao com o usurio

Combinao de dados espaciais para criar novas representaes


do espao geogrfico

Ferramentas para anlise espacial

Viso Geral de um SIG

Interface

Entrada e Integr.
Dados

Consulta e Anlise
Espacial

Visualizao
Plotagem

Gerncia Dados
Espaciais

BANCO DE DADOS
GEOGRFICO

Organizao lgica de dados em um SIG




Organizao por camadas ou planos de informao

cada camada trata de um dado especfico

diviso
poltica
elevao
hidrografia

Organizao lgica de dados em um SIG




Plano de informao (nvel, camada, layer)

contm informaes referentes a um nico tipo de dados

restrio: rea geogrfica definida. Exs:




geologia de uma rea

conjunto de lotes (objetos)

PI com Campo (Geologia)

Pas

PIB

Pop

Brasil

800

159

Argentina

300

34

Chile

45

14

PI com Objetos (Pases)

Evoluo das arquiteturas de SIG




SIG desktop (~1983-1990)

Ambiente monousurio

nfase em interfaces amigveis e funes de anlise

SIG distribudo (~1990-2000)

Ambiente multiusurio


Compartilhamento de dados

nfase em controle de acesso e manuteno de integridade

Servidores Web (~2000)

Uso da Internet para disseminar dados

nfase em eficincia de acesso e interfaces de navegao

Evoluo do uso do SIG


Centro de Dados
Global
BD Geogrfico
Institucional
SIG
Desktop
Internet

Banco de Dados
Geogrfico

Arquitetura dual

SGBD relacional:
armazena dados
alfanumricos

SIG

SGBD

Arquivos: armazena dados


espaciais
Dados
Espaciais

Dados
Alfanumricos

SGBD

Arquivos

Pas

PIB

Brasil

350

Uruguai

295

Arquitetura dual

Arquitetura dual - Exemplos




SPRING

Dados alfanumricos: SGBD relacional (DBase, Access, MySQL, Oracle,


PostgreSQL)

Dados espaciais: arquivos com formato especfico

ArcView

Dados alfanumricos: SGBD relacional

Dados espaciais: shapefiles

IDRISI

Dados alfanumricos: SGBD relacional

Dados espaciais: matrizes

Arquitetura dual Ex. SPRING

Dados de controle que


garantem o modelo
conceitual

Arquitetura dual Ex. SPRING

Arquitetura dual - Ex. ArcView




Shapefile: Estados.shp, Estados.shx, Estados.dbf

Como consultar a base? Ex. apontamento.


1.

Capture o ponto da tela

2.

Transforme em coordenadas

3.

Busque nos arquivos proprietrios


qual geometria contm esse ponto

4.

Recupere o ID do objeto
associado a geometria

5.

Envie consulta ao SGDB:


SELECT * FROM estados where
ID = xxx;

Feito pelo SIG


Feito pelo SGBD

6.

Acenda a linha correspondente ao


resultado da consulta

Arquitetura dual


Vantagens

No requer nenhuma capacidade extra do SGDB

Desvantagens

SGBD no controla a geometria:

No h controle de integridade

No permite o ambiente multi-usurio

Apropriada para SIG desktop


96

Usurio corporativo


Perfil tpico

Prefeitura cadastro urbano

Concessionria de servios pblicos gerenciamento

Requisitos

Ambiente multiusurio

Suporte a operao em tempo real

Integrao a bancos de dados no espaciais j existentes

Coleta de dados em campo

Necessita um SIG Distribudo


97

SIG distribudo


Baseia-se em uma arquitetura cliente-servidor: vrios clientes, um


servidor que contm os dados

Caractersticas

Permite um ambiente multiusurio

Atualizaes so visveis automaticamente para todos os clientes

Necessita todos os dados sob o controle do Sistema Gerenciador de


Banco de Dados
clientes

Ambiente Cliente-Servidor

servidor

Arquitetura integrada


Permite armazenar o dado geogrfico tambm no SGBD

SGBD objeto relacional


SIG

SGBD

Dados alfanumricos
+
Dados espaciais

SGBD

Pas

PIB

Brasil

350

Uruguai

295

Relembrando - SGBD Relacional




Banco de dados organizado em uma coleo de relaes ou


tabelas relacionadas entre si

Aluno
MATRICULA

NOME

CURSOID

98765

Joo

MAT

67765

Jos

BIO

84562

Maria

ENG

34256

Luis

INFO

3452672

Ana

MAT

34529

Luana

MAT

Curso
CURSOID

TITULO

DURAO

INFO

Informtica Indust.

BIO

Biologia

ENG

Engenharia Civil

MAT

Licenciatura Mat.

Arquitetura Integrada - SGBD Relacional




Como armazenar um polgono em um SGBD-R?


Alternativa 1: tabelas de pontos (x,y)
Polgonos

1,5

5,5

1,1

5,1
Pol1

id

num_coords

num_holes

pol1

pol2

12

Pts_pol

Pontos

id

pt

id

pol1

pol1

pol1

pol1

pol1

Arquitetura Integrada - SGBD Relacional




Como armazenar um polgono em um SGBD-R?


Alternativa 2: campo longo binrio (BLOB)

1,5

5,5
Tipo BLOB: uma sequncia de bytes
sem significado para o SGBD

1,1

5,1
Pol1

Polgonos
id

num_coords

num_holes

poligono

pol1

(xy, xy, xy...)

pol2

12

(xy, xy, xy...)

Arquitetura Integrada - SGBD Relacional




Vantagens

Facilidade na manuteno de integridade entre a componente


espacial e alfanumrica

Uso dos recursos do SGBD (transao, recuperao de falhas,


controle de acesso concorrente, etc.)

Desvantagens

Perda de semntica dos dados espaciais

Limitaes da SQL para manipular BLOBs

Mtodos de acesso e otimizados de consulta devem ser


implementados pelo SIG

Arquitetura Integrada - SGBD-OR




Utiliza extenses espaciais construdas sobre SGBD-OR para


armazenar, gerenciar e acessar dados espaciais

SGBD-OR: modelo objeto-relacional

Combina benefcios do modelo Relacional com a capacidade de


modelagem do modelo OO

Fornecem suporte para:

Criar objetos complexos

Executar consultas sobre dados complexos

O modelo de dados Objeto Relacional uma extenso do modelo


Relacional

Extenso espacial


SGBD-OR so estendidos para suportar:

Tipos de dados espaciais: polgono, ponto, linha, etc;

Operadores e funes utilizados na SQL para manipular dados


espaciais (consultas e juno)

Mtodos eficientes de acesso aos dados espaciais

Exemplos:

Comerciais


Oracle Spatial

IBM DB2 Spatial Extender

Livres de licena


PostGIS

Extenso espacial para MySQL

Arquitetura em Camadas (Objeto-relacional)




SGBD

Apenas suporte para campos longos (Access)

Interface para tipos de dados espaciais (PostGIS)

Camada de Acesso

Bibliotecas de funes


Camada de acesso

Integrada com camada de acesso




TerraView

Cliente-Servidor


106

TerraLib, ArcSDE

Interface

Interface

SIGMUN, ArcGIS 8.0

Banco de Dados

Arquitetura em camadas: componentes




Exemplos TerraView/TerraLib

Banco de dados

Interface

Access
Camada de acesso

Camada de Acesso

TerraLib
Banco de Dados

Interface

107

TerraView

Arquitetura em camadas: componentes




Exemplos SIGMUN (cadastro urbano para prefeituras)

Banco de dados

Interface

ORACLE
Camada de acesso

Camada de Acesso

TerraLib (com programa servidor)


Banco de Dados

Interface

108

SIGMUN (programa separado)

Consulta a bancos de dados geogrficos




Independentemente da arquitetura uma funcionalidade


bsica dos SIGs

109

Critrios para selecionar objetos:

Apontamento

Identificao

Atributos

Por critrios espaciais

Consulta baseada em atributos

110

SIGs implementam interfaces que permitem a aplicao


direta de consultas em SQL

Relembrando: SQL: Selecione o qu de onde tal qu

O que: representa quais atributos

De onde: representa de quais categorias de objetos

Tal que: representa os critrios de seleo de objetos

Consulta baseada em atributos




Linguagem natural:
Selecione todos os atributos das quadras que possuem renda
maior que 10000

SQL:
SELECT * FROM QUADRAS WHERE RENDA > 100000
Quadras

111

ID

RENDA

NESCOLAS

POP

1000

10

1K

Consulta baseada em atributos

Fazendas
id
22

SELECT id
FROM fazendas
WHERE area > 2500

112

label

rea

numcad

Carabas

3000

2345

Consulta por atributos


Clusula WHERE

Selecione colunas de tabelas onde critrio

Operadores que podem ser usados na clusula where:

113

Operadores relacionais:

> (maior)

Ex. 1 > 2 : F e 12 > 10 : V

< (menor)

Ex. 1 < 2 : V e 12 < 10 : F

>= (maior ou igual)

Ex. 2 >= 2 : F e 2 >= 2 : V

<= (menor or igual)

Ex. 2 <= 2 : F e 2 <= 2 : V

= (igual)

Ex. A = A : V e A = B : F

(diferente)

Ex. 1 <> 2 : V e 1 <> 1 : F

like (similar)

Ex. Nome like Lu%

Consulta por atributos

Operadores lgicos booleanos : NOT, AND e OR


Tabela verdade da
operao NOT (NO)

Tabela verdade da
operao OR (OU)

114

Tabela verdade da
operao AND (E)

Op1

Op2

Resultado

Op1

Op2

Resultado

Consulta por atributos




Linguagem natural:
Selecione todas as quadras que possuem renda maior que 10000 e
mais de 10 escolas

SQL:

SELECT * FROM QUADRAS WHERE RENDA > 100000 AND NESCOLAS > 10

115

Consulta baseada em atributos


Fazendas
id
22

label

rea

numcad

Carabas

3000

2345

Cadastro
SELECT id
FROM fazendas, cadastro
WHERE fazendas.numcad =
cadastro.numcad
AND ITR > 4500

116

numcad
2345

ITR

Produo

5000

4000

Consultas baseadas em critrios espaciais


Consultas por critrios restries espaciais

117

d-me todos os pases da Amrica do Sul vizinhos ao Chile

d-me todos os pases por onde passa o Rio Amazonas

Relaes Espaciais


Relaes topolgicas: contm, cruza, toca, etc.

A


Relaes mtricas

A


1 Km

Relaes direcionais: ao norte, ao sul, etc.

Relaes Topolgicas


Relaes topolgicas so definidas usando conceitos de topologia


como interior e borda. Por exemplo:

A borda de uma regio consiste de um conjunto de curvas que


separa a regio do resto do espao de coordenadas

O interior de uma regio consiste de todos os pontos da regio


que no correspondem a sua borda

Considerando isso, duas regies so:

Adjacentes se elas compartilham um parte da borda mas no


compartilham nem um ponto do seu interior

Relaes Topolgicas


Matriz de 4-intersees para relacionamentos topolgicos ente


regies

Definida com base na matriz de interseo entre a borda (b) e o


interior (i) de duas regies A e B

b(A) b(B)

b(A) i(B)

i(A) b(B)

i(A) i(B)

Cada entrada da matriz vazia ou no vazia. No exemplo abaixo, a


interseco entre as bordas de A e B no vazia o resto vazia

A toca B

Matriz de 4-interseces (Egenhofer)




De todas as possveis configuraes que podem ser obtidas associando valores


vazio/no vazio para cada entrada da matriz, 8 delas so possveis para regies sem
buracos

disjunto

toca

contm

cobre

dentro

coberto por

igual

intercepta

Matriz de 9-intesees de Egenhofer




Matriz de 9-intersees para relacionamentos topolgicos


entre conjuntos genricos de entidades espaciais (no
apenas regio/regio): considera interior, borda e exterior

As entradas da matriz podem ser vazio/no-vazio ou


outras propriedades como visto anteriormente

Relacionamentos topolgicos

1
1
2
(a)

(b)

(d)

(e)

(c)

2
1

P
(g)

(f)

1
(h)

(i)

Toca: nica interseo nas bordas

123

Relacionamentos Topolgicos

P1

Dentro de: interseo no interior

124

P2

Relacionamentos Topolgicos

cruza

cruza

1
2

cruza

2
1
(a)

sobrepe

(b)
sobrepe

sobrepe
2

(c)

disjunto

(f)
disjunto
P1

125

(e)
disjunto

(g)

2
2

(d)

(h)

P2

(i)

Acesso aos dados: consultas espaciais




Controle de apresentao

combinao de resultados de consulta

controle dos objetos apresentados

apresentao do contexto espacial

Vizinhos do Equador

sem contexto
126

com contexto

Anda mungkin juga menyukai