Escolar Documentos
Profissional Documentos
Cultura Documentos
Analista
Banco
de
Dados
Administrador
Programas
Usuários
finais
de
aplicação
Os
dados
• Estão
relacionados
• São
persistentes
• Representam
algum
aspecto
do
mundo
real
(domínio,
minimundo
ou
universo
de
discurso)
• Possuem
uma
finalidade
específica
dentro
de
uma
empresa
ou
insTtuição
Exemplo
de
banco
de
dados
Funcionários
Código
Nome
Data
de
nasc.
Depto
Salário
343
Francisco
MarTns
13/07/76
C43
1200,00
344
Joaquim
Nabuco
20/11/80
B55
1150,00
346
Manoel
Bandeira
05/08/85
C43
2500,00
348
Berenice
Azambuja
22/03/79
F15
2200,00
349
Ronaldo
Nazário
06/05/81
F15
3000,00
Departamentos
Código
Nome
Local
B55
Produção
Prédio
1
C43
AdministraTvo
Prédio
2A
F15
Suporte
técnico
Prédio
2B
Excel
não
é
um
banco
de
dados!
• Sistemas
de
banco
de
dados
permitem:
– Facilmente
relacionar
os
dados
– Facilmente
ler
conjuntos
de
dados
relacionados
– Rapidamente
encontrar/atualizar
dados
CaracterísTcas
de
um
SGBD
• Autodescrição
do
banco
de
dados:
metadados
– Informações
sobre
a
estrutura
dos
dados
também
ficam
armazenadas
no
sistema
– SGBD
pode
ser
uTlizado
em
várias
aplicações
• Isolamento
entre
programas
e
dados
– Mudanças
na
estrutura
dos
dados
não
geram
necessariamente
alterações
nas
aplicações
CaracterísTcas
de
um
SGBD
• Suporte
para
múlTplas
visões
– Diferentes
usuários
estão
interessados
em
diferentes
“visões”
ou
subconjuntos
dos
dados
• ComparTlhamento
de
dados,
controle
de
concorrência
e
processamento
de
transação
– Vários
agentes
de
viagem
tentando
reservar
um
mesmo
assento
no
avião
– Uma
transferência
bancária
não
pode
ser
feita
pela
metade
Outras
vantagens
de
um
SGBD
• Menos
redundância
• Controle
de
acesso
(autorização)
• Executar
consultas
e
atualização
de
modo
eficiente
E
conveniente
• Backup
e
recuperação
• MúlTplas
interfaces
com
o
usuário
• Relacionamentos
complexos
entre
os
dados
Outras
vantagens
de
um
SGBD
• Restrições
de
integridade
• GaranTr
padrões
dentro
da
empresa
• Tempo
reduzido
para
desenvolvimento
da
aplicação
• Flexibilidade
Todo
somware
precisa
de
um
BD?
• Apenas
se
Tver
dados
persistentes
• Apenas
se
necessitar
das
facilidades
oferecidas
pelo
SGBD
• Aplicações
podem
uTlizar
diretamente
o
sistema
de
arquivos
para
armazenar
seus
dados
• Navegadores,
jogos,
editores
de
texto
e
sites
de
conteúdo
estáTco
não
uTlizam
BD
Arquiteturas
de
aplicações
de
banco
de
dados
• Aplicações
que
uTlizam
banco
de
dados
seguem
diferentes
arquiteturas
• Arquitetura
centralizada:
anTgos
mainframes
• Modelo
cliente-‐servidor:
arquiteturas
de
2
ou
3
camadas
• SGBDs
embuTdos
e
sem-‐servidor
(serverless)
Arquitetura
centralizada
Monitor
Monitor
Monitor
Terminais
Analista
e
teclado
e
teclado
e
teclado
SGBD Compilador
Mainframe
Modelo
cliente-‐servidor
• Modelo
de
programação
mais
comum
em
redes
de
computadores
• SubsTtui
os
anTgos
mainframes
• Computadores
e
redes
mais
rápidas
• Computadores
pessoais
(sistemas
clientes)
assumem
interface
com
usuário
• SGBDs
(sistemas
servidores)
saTsfazem
as
solicitações
geradas
pelos
sistemas
clientes
Modelo
cliente-‐servidor
Cliente
Cliente
Cliente
Cliente
Cliente
(Aplicação)
(Aplicação)
(Web)
(Web)
Rede
Sistema de banco de dados Sistema de banco de dados
2
camadas
3
camadas
SGBDs
embuTdos
e
sem-‐servidor
(serverless)
• Sistemas
embuTdos:
fortemente
integrados
com
uma
aplicação
específica
• SGBD
é
“escondido”
do
usuário
final
da
aplicação
• Sistemas
sem-‐servidor
(serverless):
– Código
do
SGBD
totalmente
acoplado
ao
código
da
aplicação
através
de
bibliotecas
– Executa
no
mesmo
processo
• Exemplo:
SQLite
em
disposiTvos
Android
Sistema
de
banco
de
dados
sem-‐servidor
App
App
App
DisposiTvo
móvel
Exemplos
de
SGBDs
• Microsom
Access:
fácil
de
usar
• MySQL:
sistema
mais
uTlizado
na
Web
• PostgreSQL:
avançado
e
de
código
aberto
• SQL
Server:
sistema
avançado
da
Microsom
• Oracle:
uTlizado
por
grandes
corporações
• SQLite:
sistema
sem-‐servidor
• BigTable:
desenvolvido
e
uTlizado
pela
Google
O
que
veremos
na
disciplina?
• Formas
de
representação
dos
dados
• O
modelo
relacional
• O
SGBD
MySQL
• Projeto
de
BD
e
diagrama
EnTdade-‐
Relacionamento
• A
linguagem
de
consulta
SQL
Bibliografia
• ELMASRI,
R.
E.;
NAVATHE,
S.
B.
Sistemas
de
Banco
de
Dados.
4a
edição.
Pearson,
2011.
• DATE,
C.
J.
Introdução
a
Sistemas
de
Banco
de
Dados.
Trad.
da
8a
ed.
Elsevier,
2003.