Escolar Documentos
Profissional Documentos
Cultura Documentos
O modelo relacional
Marta Mattoso
Sumrio
Introduo
Motivao
Servios de um SGBD
O Modelo Relacional
As aplicaes no convencionais
O Modelo Orientado a Objetos
Consideraes Finais
Marta Mattoso 1
Sumrio
Introduo
Bibliografia
Conceitos Bsicos
Ambiente de um SGBD
Motivao
Servios de um SGBD
O Modelo Relacional
As aplicaes no convencionais
O Modelo Orientado a Objetos
Consideraes Finais
Marta Mattoso 2
Referncias Bibliogrficas
[Elm 00]
[Kim 95]
[Catt94]
[Kosh93]
[O2Te95]
[Ozsu 99]
Marta Mattoso 3
Introduo
Alguns termos tpicos:
dados - fatos que podem ser armazenados ex:nomes,
telefones, endereos
base de dados - coleo de dados interelacionados
logicamente, ex: agenda de telefones
Sistema de Gerncia de Bases de Dados (SGBD) - coleo
de programas que permite a criao e gerncia de bases de
dados
ou Sistema de Banco de Dados
Marta Mattoso 4
SGBD
Programas de Aplicao/Consultas
SGBD
Software
Software para
processar consultas
Software para
acessar dados armaz.
Meta-Dados
Armazenado
Base de Dados
Armazenada
Marta Mattoso 5
Passageiros
Nome
Reservas
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vos
Vo
Tarifa
Nome Vo
Air France 147
Air France 147
Air France 147
Varig 224
Varig 224
Ass
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
Cia
Varig 224
Cia
Nome
Faturam.
Varig
20000K
Pampa
Porto Alegre
Air France
10000K
Etoile
Paris
Presid.
Sede
Marta Mattoso 6
Sumrio
Introduo
Motivao
Sistemas de Arquivos X SGBDs
Histrico
Quando usar um SGBD ?
Servios de um SGBD
SGBDs relacionais
As aplicaes no convencionais
O Modelo Orientado a Objetos
Consideraes Finais
Marta Mattoso 7
Motivao
Simplificar o desenvolvimento de aplicaes caracterizadas
por uso intensivo de DADOS
COMO?
Provendo servios que diminuem o tempo de
desenvolvimento
Atravs de ferramentas o usurio pode:
realizar entrada de dados
examinar dados
manipular dados de acordo com a aplicao
Marta Mattoso 8
Motivao
Sistema de Banco de Dados X Sistema de Arquivos
Antes de SGBDs as aplicaes utilizavam sistemas de arquivos
do Sistema Operacional.
Atravs de arquivos, as aplicaes armazenavam seus dados
atravs das interaes com a aplicao.
Marta Mattoso 9
Motivao
Sistema de Banco de Dados X Sistema de Arquivos
Dados e Meta-dados na base
Os dados e a descrio correspondente so armazenadas na
base e gerenciadas pelo SGBD.
Independncia de Dados-Programas
Modificaes como incluso de um novo campo no afetam
os programas.
Abstrao de Dados
Representao conceitual atravs de um modelo de dados que
s usa conceitos lgicos.
Mltiplas Vises
Introduo a Banco de Dados
Marta Mattoso
10
Marta Mattoso
11
Marta Mattoso
12
Marta Mattoso
13
Motivao
Quando usar um SGBD ?
quando as 10 funcionalidades so relevantes
alguns sistemas oferecem mais recursos para manter
consistncia e apoiar aplicaes
Considerar vantagens adicionais:
potencial para garantir padronizaes
flexibilidade
reduo no tempo de desenvolvimento da aplicao
disponibilidade de informao atualizada
economia de escala
Introduo a Banco de Dados
Marta Mattoso
14
Motivao
Quando NO usar um SGBD ?
quando essa funcionalidade no necessria
sobrecarga influi no desempenho
investimento inicial alto, em geral: hardware extra
Analisar o escopo: micro mainframe (OLTP)
Considerar situaes no favorveis:
a base de dados e as aplicaes so simples, bem definidas
e sem perspectivas de mudanas
requisitos de tempo real
no necessita acesso concorrente aos dados
Introduo a Banco de Dados
Marta Mattoso
15
Sumrio
Introduo
Motivao
Servios de um SGBD
Controles Operacionais
Usurios
Anatomia de um SGBD
O Modelo Relacional
As aplicaes no convencionais
O Modelo Orientado a Objetos
Consideraes Finais
Marta Mattoso
16
Servios de um SGBD
Controles Operacionais:
Redundncia Controlada
Compartilhamento dos Dados
Concorrncia
Reconstruo
Acesso controlado
Segurana
Restries de Integridade
Distribuio
Gerncia de armazenamento dos dados
Introduo a Banco de Dados
Marta Mattoso
17
Redundncia Controlada
Os diversos setores de uma empresa compartilham
informaes que podem estar replicadas.
Por ex.: Nome de Cia Area
Essa redundncia pode levar a um estado
inconsistente, alm de gastar espao de
armazenamento
O SGBD deve oferecer mecanismos para esse controle
sem prejudicar as aplicaes dos diversos setores
Marta Mattoso
18
Marta Mattoso
19
Controle de Concorrncia
Limita as leituras e modificaes simultneas disparadas
ao mesmo dado por diferentes usurios
A tcnica mais usada consiste em bloquear os dados
envolvidos em determinada operao.
Por ex.: Caso um passageiro queira transferir sua reserva de
um vo para outro necessrio que os dois vos estejam
bloqueados.
O bloqueio pode ser lgico ou fsico.
Lgico: linguagem de consulta.
Fsico: registro, pgina ou tabela
Bloqueio Perptuo ('deadlock')
Introduo a Banco de Dados
Marta Mattoso
20
Controle de Transaes
Transaes so unidades lgicas de trabalho numa aplicao.
Por ex.: Caso da transferncia da reserva de vo.
A base de dados est em um estado consistente antes e depois
de uma transao.
Um mecanismo de transao garante que toda transao
iniciada ou termina com sucesso ou desfeita.
Transaes de diferentes usurios que envolvem dados
compartilhados so executadas em sequencia.
Transaes controlam melhor a concorrncia e a reconstruo.
Marta Mattoso
21
Reconstruo
Um mecanismo de reconstruo permite que a base de
dados volte a um estado consistente aps pane.
Backups so a soluo mais simples e antiga.
A reconstruo associada transao pode proporcionar
solues de backup incremental atravs de arquivos tipo
log.
Marta Mattoso
22
Acesso Controlado
Quando vrios usurios tem acesso base de dados, em
geral eles tem privilgios diferentes quanto manipulao
dos dados.
Dados finaceiros costumam ter acesso restrito e o SGBD
deve ter um mecanismo de controle de segurana.
O SGBD deve garantir que usurios autorizados realizam
operaes corretas na base de dados.
identificao de usurios e de dados
autenticao de usurios
manuteno da matriz de autorizao
Marta Mattoso
23
Segurana
Proteo aos dados
Cuida para que o contedo da base de dados no
seja compreendido por usurios no autorizados
Critografia/Decriptografia
Padres de criptografia
Criptografia atravs de chaves
Marta Mattoso
24
Restries de Integridade
Manuteno da consistncia da base de dados atravs da
validao de restries definidas sobre os dados.
Controle de valores que um campo pode ter.
Por ex.: O nmero de assentos de um vo s pode variar entre
100 e 700.
Controle de relacionamento entre dois registros.
Por ex.: Um vo s pode pertencer a uma Cia j cadastrada.
O SGBD deve oferecer dois mecanismos:
especificao de restries de integridade
validao das restries de integridade
Introduo a Banco de Dados
Marta Mattoso
25
Gerncia de armazenamento
Armazenamento de tabelas
Como os registros so armazenados nas pginas
dos arquivos em disco
Gerncia do espao do arquivo em disco
Mtodos de Acesso
ndices hash
rvores-B
Marta Mattoso
26
Gerncia de armazenamento
Programa de Aplicao
Envio de consultas, retorno de registros
Processamento de Consultas
ndices, ponteiros, operaes sobre registros
Mtodos de Acesso
Operaes sobre pginas
Gerncia de Armazenamento
Abre e fecha arquivo, leitura e gravao de pginas
Sistema de Arquivos
Introduo a Banco de Dados
Marta Mattoso
27
Distribuio
Acesso remoto a bases de dados
arquitetura cliente/servidor
sistemas heterogneos
Base distribuda
fragmentao de dados entre duas ou mais bases de
dados desempenho
acesso transparente
fragmentao horizontal
fragmentao vertical
Marta Mattoso
28
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vo
Tarifa
Nome Vo
Air France 147
Air France 147
Air France 147
Varig 224
Varig 224
Ass
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
Cia
Varig 224
Nome
Faturam.
Presid.
Sede
Varig
20000K
Pampa
Porto Alegre
Air France
10000K
Etoile
Paris
Marta Mattoso 29
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vo
Tarifa
Nome Vo
Ass
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Cia
Faturam.
10000K
Presid.
Etoile
Sede
Paris
Marta Mattoso
30
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vo
Varig 224
Nome
Varig
Tarifa
Nome Vo
Varig 224
Varig 224
Ass
Passageiro
Gabriel Silva
Cludio Silva
Cia
Presid.
Pampa
Sede
Porto Alegre
Marta Mattoso
31
Servios de um SGBD
Usurios:
Projetistas da Aplicao
Administrador do Banco de Dados
Projetista da Base de Dados
Usurio Final
Analistas de Sistemas e Programadores de Aplicao
Projetistas do SGBD
Projetistas e Implementadores do SGBD
Desenvolvedores de Ferramentas
Pessoal de Suporte
Introduo a Banco de Dados
Marta Mattoso
32
Programa de Aplicao
Execuo da Consulta
Base de Dados
Introduo a Banco de Dados
Marta Mattoso
33
Sumrio
Introduo
Motivao
Servios de um SGBD
O Modelo Relacional
Estruturas
Operaes
Restries
As aplicaes no convencionais
O Modelo Orientado a Objetos
Consideraes Finais
Marta Mattoso
34
Modelo Relacional
Estruturas
Tabelas (relaes)
Operaes
SQL (lgebra relacional)
Restries
Tabelas so conjuntos matemticos : as linhas no
possuem ordem nem rplicas
Atributos no possuem ordem
Valores armazenados nas linhas e colunas so
atmicos
Introduo a Banco de Dados
Marta Mattoso
35
Marta Mattoso
36
Tarifa
Ass
Cia
AF147
AF455
RG224
Nome
Faturam.
Presid.
Sede
423
Varig
20000K
Pampa
Porto Alegre
128
Air France
10000K
Etoile
Paris
Marta Mattoso
37
Chaves
Tabela de Vos
Vo
Tarifa
Ass
Cia
AF147
AF455
RG224
Nome
Faturam.
Presid.
Sede
423
Varig
20000K
Pampa
Porto Alegre
128
Air France
10000K
Etoile
Paris
Marta Mattoso
38
Cia
AF147
1000,00 250
128
AF455
750,00 500
128
RG224
500,00 150
423
Vo
Tarifa
Tabela Passageiros
Nome
Telefone
222-3333
Reservas (Relacionamento)
Vo
AF147
AF147
AF147
RG224
RG224
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
Marta Mattoso
39
Normalizao
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vo
AF147
AF147
AF147
RG224
RG224
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
No Normalizada - S 1 tabela
Vo
Passageiro
Telefone
AF147
Jos Campos
322-9999
AF147
Maria Silva
222-3333
AF147
Gabriel Silva
222-3333
RG224
Gabriel Silva
222-3333
RG224
Marta Mattoso
40
Normalizao
Nome
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vo
AF147
AF147
AF147
RG224
RG224
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
No Normalizada - NF2
Vo
Passageiro
Telefone
AF147
Jos Campos
Maria Silva
Gabriel Silva
322-9999
222-3333
222-3333
RG224
Marta Mattoso
41
CIA_AEREA (
INTEGER,
CHAR (40),
REAL,
CHAR (20),
CHAR (50) ),
Nome
Faturam.
423
Varig
128
20000K
Presid.
Sede
Pampa
Porto Alegre
Etoile
Paris
Marta Mattoso
42
Marta Mattoso
43
lgebra Relacional
Seleo ( )
Produz um sub-conjunto das linhas da tabela, sendo
dada uma condio a ser verificada.
Ex.: Selecionar os vos com tarifa < 1000,00
Resultado da Seleo
Tabela de Vos
Ass
Cia
RG224
500,00 150
423
AF455
750,00 500
128
Ass
Cia
Vo
AF147
1000,00 250
128
AF455
750,00 500
128
RG224
500,00 150
423
Vo
Tarifa
Tarifa
Marta Mattoso
44
lgebra Relacional
Projeo ( )
Produz um sub-conjunto das colunas da tabela, sendo
dado os atributos desejados no resultado.
Ex.: Projetar a tabela Vos sobre Vo e Tarifa
Resultado da Projeo
Tabela de Vos
Ass
Cia
Vo
Tarifa
AF147
1000,00 250
128
AF147
1000,00
AF455
750,00 500
128
AF455
750,00
RG224
500,00 150
423
RG224
500,00
Vo
Tarifa
Marta Mattoso
45
lgebra Relacional
Juno (
)
Produz uma tabela composta de duas outras que se relacionam.
Ex.: Juntar a tabela Vos com a tabela Cia_Areas atravs de Cia e Cd
Tabela de Vos
Vo
Tarifa
Ass
Cia
AF147
1000,00
250
128
AF455
750,00
500
128
RG224
500,00
150
423
Tabela de Cia_Areas
Cd
Nome
Fatur
423
Varig
20000K
128
Presid
Sede
Pampa
Porto Alegre
Etoile
Paris
Tabela Resultado
Vo
Tarifa
Ass
Cia
Nome
Fatur
Presid
Sede
AF147
1000,00
250
128
Air France
10000K
Etoile
Paris
AF455
750,00
500
128
Air France
10000K
Etoile
Paris
RG224
500,00
150
423
Varig
20000K
Pampa
Porto Alegre
Marta Mattoso
46
SQL
Seleo
Ex.: Selecionar os vos com tarifa < 1000,00
SELECT VO, TARIFA, ASS FROM VOS
WHERE
Resultado da Seleo
Tabela de Vos
Ass
Cia
Vo
Tarifa Ass
AF147
1000,00 250
128
RG224
500,00 150
AF455
750,00 500
128
AF455
750,00 500
RG224
500,00 150
423
Vo
Tarifa
Marta Mattoso
47
SQL
Juno/Projeo - Obter para os vos cadastrados o nome da Cia e a Sede
SELECT VO TARIFA, NOME, SEDE
WHERE CIA = COD
Tabela de Vos
Tarifa
Ass
Cia
AF147
1000,00
250
128
AF455
750,00
500
128
RG224
500,00
150
423
Vo
Tabela de Cia_Areas
Cd
Nome
Fatur
423
Varig
20000K
128
Presid
Sede
Pampa
Porto Alegre
Etoile
Paris
Tabela Resultado
Vo
Tarifa
Nome
Sede
AF147
1000,00
Air France
Paris
AF455
750,00
Air France
Paris
RG224
500,00
Varig
Porto Alegre
Marta Mattoso
48
SQL
Juno/Proj/Sel - Obter para os vos cadastrados com tarifa <
1000,00 o nome da Cia e a Sede
SELECT VO TARIFA, NOME, SEDE FROM VOS, CIA_AREAS
WHERE CIA = COD AND TARIFA < 1000,00
Tabela de Vos
Tarifa
Ass
Cia
AF147
1000,00
250
128
AF455
750,00
500
128
RG224
500,00
150
423
Vo
Tabela de Cia_Areas
Nome
Cd
Fatur
423
Varig
20000K
128
Presid
Sede
Pampa
Porto Alegre
Etoile
Paris
Tabela Resultado
Vo
Tarifa
Nome
Sede
AF455
750,00
Air France
Paris
RG224
500,00
Varig
Porto Alegre
Marta Mattoso
49
Marta Mattoso
50
Chave nica
(NOME_VO, PASSAGEIRO) UNIQUE IN RESERVAS
Chave Estrangeira
NOME_VO IN RESERVAS REFERENCES VO IN VOS
Marta Mattoso 51
Passageiros
Nome
Reservas
Telefone
Jose Campos
322-9999
Maria Silva
222-3333
Gabriel Silva
222-3333
Cludio Silva
222-3333
Vos
Vo
Tarifa
Nome Vo
Air France 147
Air France 147
Air France 147
Varig 224
Varig 224
Ass
Passageiro
Jos Campos
Maria Silva
Gabriel Silva
Gabriel Silva
Cludio Silva
Cia
Varig 224
Cia
Nome
Faturam.
Varig
20000K
Pampa
Porto Alegre
Air France
10000K
Etoile
Paris
Presid.
Sede
Marta Mattoso
52
Sumrio
Introduo
Motivao
Funcionalidades de um SGBD
Modelos de Dados
O Modelo Relacional
SGBDs Relacionais
arquitetura em trs nveis (Cattel.p50,51)
aspectos de uso ( Imped. mism., ex. PL1-Vald. pag.39)
ex. de uso dos 3 niveis (Transp. Ozsu, Cap.2.14 e Cattel
3.4.3), definio esq. conceit, interno e externo
users (Cattell 3.2.3) e application tools (Cattell 3.10)
Introduo a Banco de Dados
Marta Mattoso
53
Sumrio
Introduo
Motivao
Funcionalidades de um SGBD
Modelos de Dados
O Modelo Relacional
SGBDs Relacionais
Marta Mattoso
54
Marta Mattoso
55