Você está na página 1de 25

Introdução

 a  Banco  de  Dados  

Prof.  Diego  M.  Rosa  


O  que  é  um  banco  de  dados?  
O  que  é  um  banco  de  dados?  
•  “Sistema  computadorizado  de  manutenção  de  
registros.”  
•  Equivalente  eletrônico  de  um  armário  de  
arquivamento  
•  Banco  de  dados:  coleção  de  dados  
relacionados  
•  Sistema  de  banco  de  dados:  permite  que  os  
usuários  busquem  e  atualizem  os  dados  
Exemplos  de  bancos  de  dados  
•  Biblioteca  
•  Receita  Federal  
•  Amazon.com  
–  Mais  de  20  milhões  de  produtos  
–  Mais  de  dois  terabytes  
–  200  servidores  
–  100  funcionários  mantêm  atualizado  
–  15  milhões  de  usuários  por  dia  fazem  compras  
•  AplicaTvo  de  contatos  do  Android  
Exemplos  de  bancos  de  dados  
•  Biblioteca  
•  Receita  Federal  
•  Amazon.com  
–  Mais  de  20  milhões  de  produtos  
–  Mais  de  dois  terabytes  
–  200  servidores  
–  100  funcionários  mantêm  atualizado  
–  15  milhões  de  usuários  por  dia  fazem  compras  
•  AplicaTvo  de  contatos  do  Android  
Sistema  de  Banco  de  Dados  
Sistema  de  Gerenciamento  
de  Banco  de  Dados  (SGBD)  

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  

Programa  de   Programa  de   Programa  de  


aplicação   aplicação   aplicação  

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  

Servidor  de  aplicação  


Servidor  

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  

SGBD   SGBD   SGBD  

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.  

Você também pode gostar