1. Banco de Dados
Mini Curso - PARTE I
Prof. Me. Rafael F. V. Sanches
30 de Julho de 2019
2. Sumário
1. Introdução
2. Organização de arquivos
3. Modelos de dados
4. Modelagem de dados
5. Sistemas gerenciadores de bancos de dados
6. Conclusão
1
4. História sobre as bases de dados
• Década dos anos 40/50
• Surgirmento dos computadores para uso acadêmico/militar
• Como você acha que os dados eram armazenados?
Prof. Rafael Sanches 2
5. História sobre as bases de dados
• Isso mesmo em papel!
Figura 1: Folha de Papel
Prof. Rafael Sanches 3
6. História sobre as bases de dados
• Isso mesmo em papel!
• Os dados eram preenchidos em papel
Figura 1: Folha de Papel
Prof. Rafael Sanches 3
7. História sobre as bases de dados
• Isso mesmo em papel!
• Os dados eram preenchidos em papel
• Única forma daquela época
Figura 1: Folha de Papel
Prof. Rafael Sanches 3
8. História sobre as bases de dados
• Isso mesmo em papel!
• Os dados eram preenchidos em papel
• Única forma daquela época
• Por incrível que pareça ainda existem lugares que armazenam
seus dados assim
Figura 1: Folha de Papel
Prof. Rafael Sanches 3
9. História sobre as bases de dados
• Os dados eram preenchidos em papéis
Figura 2: Armazenamento dos dados na década de 40/50
Prof. Rafael Sanches 4
10. História sobre as bases de dados
• Os dados eram preenchidos em papéis
• Os papéis em pastas
Figura 2: Armazenamento dos dados na década de 40/50
Prof. Rafael Sanches 4
11. História sobre as bases de dados
• Os dados eram preenchidos em papéis
• Os papéis em pastas
• As pastas em gavetas
Figura 2: Armazenamento dos dados na década de 40/50
Prof. Rafael Sanches 4
12. História sobre as bases de dados
• Analogia ao armazenamento de dados da década de 40/50 com
os dias atuais
Figura 3: Analogia referente ao armazenamento de dados por meio da
tecnologia
Prof. Rafael Sanches 5
13. História sobre as bases de dados
• Analogia ao armazenamento de dados da década de 40/50 com
os dias atuais
• Os papéis −→ registros
Figura 3: Analogia referente ao armazenamento de dados por meio da
tecnologia
Prof. Rafael Sanches 5
14. História sobre as bases de dados
• Analogia ao armazenamento de dados da década de 40/50 com
os dias atuais
• Os papéis −→ registros
• As pastas −→ tabelas
Figura 3: Analogia referente ao armazenamento de dados por meio da
tecnologia
Prof. Rafael Sanches 5
15. História sobre as bases de dados
• Analogia ao armazenamento de dados da década de 40/50 com
os dias atuais
• Os papéis −→ registros
• As pastas −→ tabelas
• As gavetas −→ arquivos
Figura 3: Analogia referente ao armazenamento de dados por meio da
tecnologia
Prof. Rafael Sanches 5
16. História sobre as bases de dados
• Qual o grande problema com esse método de armazenamento
de dados?
Figura 4: Quantidade exagerada de papel armazenado
Prof. Rafael Sanches 6
17. História sobre as bases de dados
• Qual o grande problema com esse método de armazenamento
de dados?
• Isso mesmo o grande acúmulo de papel
Figura 4: Quantidade exagerada de papel armazenado
Prof. Rafael Sanches 6
18. História sobre as bases de dados
• Qual o grande problema com esse método de armazenamento
de dados?
• Isso mesmo o grande acúmulo de papel
• Não tem cópias guardadas devido a grande quantidade
Figura 4: Quantidade exagerada de papel armazenado
Prof. Rafael Sanches 6
19. História sobre as bases de dados
• Qual o grande problema com esse método de armazenamento
de dados?
• Isso mesmo o grande acúmulo de papel
• Não tem cópias guardadas devido a grande quantidade
• Difícil localização dos dados
Figura 4: Quantidade exagerada de papel armazenado
Prof. Rafael Sanches 6
21. Organização de arquivos
• No início da década de 60
• Redução do tamanho do computador
• Atenção das empresas foi ganha pelo computador!
• O grande desafio dessa época foi digitalizar tudo isso!
Figura 5: Digitalizar os dados do papel para o computador
Prof. Rafael Sanches 7
23. Organização de arquivos
• Armazenamento feito em arquivo digital
• Armazenamento de dados era sequêncial!
Prof. Rafael Sanches 8
24. Organização de arquivos
• Armazenamento feito em arquivo digital
• Armazenamento de dados era sequêncial!
• Leitura dos dados no arquivo sempre começam do início
Prof. Rafael Sanches 8
25. Organização de arquivos
• Problemas com a chegada do armazenamento em arquivo
sequêncial
Figura 6: Armazenamento de dados em arquivos sequênciais
Prof. Rafael Sanches 9
26. Organização de arquivos
• Problemas com a chegada do armazenamento em arquivo
sequêncial
• Recuperação de dados demorada devido a pesquisa dos dados
no arquivo sempre começarem pelo início do arquivo
Figura 6: Armazenamento de dados em arquivos sequênciais
Prof. Rafael Sanches 9
27. Organização de arquivos
• Problemas com a chegada do armazenamento em arquivo
sequêncial
• Recuperação de dados demorada devido a pesquisa dos dados
no arquivo sempre começarem pelo início do arquivo
• Ainda sim, era melhor do que armazenar os dados em ficha de
papel e isso foi uma grande evolução para aquela época!
Figura 6: Armazenamento de dados em arquivos sequênciais
Prof. Rafael Sanches 9
28. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
29. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
• Armazenamento direto dos dados no HD
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
30. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
• Armazenamento direto dos dados no HD
• Arquivos indexados
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
31. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
• Armazenamento direto dos dados no HD
• Arquivos indexados
• Facilidade em procurar registros
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
32. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
• Armazenamento direto dos dados no HD
• Arquivos indexados
• Facilidade em procurar registros
• Agilidade em recuperar registros
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
33. Organização de arquivos
• Armazenamento de dados em HD’s e melhor organização dos
arquivos
• Armazenamento direto dos dados no HD
• Arquivos indexados
• Facilidade em procurar registros
• Agilidade em recuperar registros
• O problema desse método era que os índices eram muito
simplistas
Figura 7: Armazenamento de dados em arquivos de acesso direto
Prof. Rafael Sanches 10
34. Organização de arquivos
• Departamento de defesa dos EUA criaram o CODASYL
• Surgimento do Banco de Dados!
• Criado na década de 60
Figura 8: Banco de Dados
Prof. Rafael Sanches 11
35. Organização de arquivos
• Princípio dos Bancos de Dados
Figura 9: Composição do Banco de Dados
Prof. Rafael Sanches 12
36. Organização de arquivos
• Princípio dos Bancos de Dados
• Dados (i.e., sua Base de Dados)
Figura 9: Composição do Banco de Dados
Prof. Rafael Sanches 12
37. Organização de arquivos
• Princípio dos Bancos de Dados
• Dados (i.e., sua Base de Dados)
• Sistema Gerenciador de Banco de Dados (e.g., mysql e oracle)
Figura 9: Composição do Banco de Dados
Prof. Rafael Sanches 12
38. Organização de arquivos
• Princípio dos Bancos de Dados
• Dados (i.e., sua Base de Dados)
• Sistema Gerenciador de Banco de Dados (e.g., mysql e oracle)
• Linguagem de Exploração (i.e., manipular esses dados)
Figura 9: Composição do Banco de Dados
Prof. Rafael Sanches 12
39. Organização de arquivos
• Princípio dos Bancos de Dados
• Dados (i.e., sua Base de Dados)
• Sistema Gerenciador de Banco de Dados (e.g., mysql e oracle)
• Linguagem de Exploração (i.e., manipular esses dados)
• Programas Adicionais (e.g., gerência de usuários e otimizadores
de dados)
Figura 9: Composição do Banco de Dados
Prof. Rafael Sanches 12
41. Modelos de dados
• A IBM propôs a criação de dados hierárquicos
Figura 10: Modelo de dados Hierárquicos
Prof. Rafael Sanches 13
42. Modelos de dados
• A IBM propôs a criação de dados hierárquicos
• Primeiro modelo proposto pela IBM
Figura 10: Modelo de dados Hierárquicos
Prof. Rafael Sanches 13
43. Modelos de dados
• A IBM propôs a criação de dados hierárquicos
• Primeiro modelo proposto pela IBM
• Dados interligados de uma maneira bem simplista mas, de
modo hierárquico
Figura 10: Modelo de dados Hierárquicos
Prof. Rafael Sanches 13
44. Modelos de dados
• Modelo de dados em rede
Figura 11: Modelo de dados em Rede
Prof. Rafael Sanches 14
45. Modelos de dados
• Modelo de dados em rede
• Evolução do modelo de dados hierárquicos
Figura 11: Modelo de dados em Rede
Prof. Rafael Sanches 14
46. Modelos de dados
• Modelo de dados em rede
• Evolução do modelo de dados hierárquicos
• Dados interligados sem hierárquia por meio de um esquema de
rede inteligente
Figura 11: Modelo de dados em Rede
Prof. Rafael Sanches 14
47. Modelos de dados
• O modelo de dados hierárquico e o em rede foram os primeiros
modelos de dados propostos pela IBM
Prof. Rafael Sanches 15
48. Modelos de dados
• O modelo de dados hierárquico e o em rede foram os primeiros
modelos de dados propostos pela IBM
• Esses modelos eles permitiam que pudessem ser armazenados
os dados de (e.g., Clientes, Serviços, Funcionários, Empresas e
Fornecedores)
Prof. Rafael Sanches 15
49. Modelos de dados
• O problema desses modelos é que eles não facilitavam uma
coisa simples!
Figura 12: Falta de relacionamento entre os dados
Prof. Rafael Sanches 16
50. Modelos de dados
• O problema desses modelos é que eles não facilitavam uma
coisa simples!
• O relacionamento entre os dados
Figura 12: Falta de relacionamento entre os dados
Prof. Rafael Sanches 16
51. Modelos de dados
• Surgi na década de 70 o modelo utilizado até os dias atuais
conhecido como modelo relacional!
Figura 13: Modelo de dados relacional
Prof. Rafael Sanches 17
52. Modelos de dados
• Surgi na década de 70 o modelo utilizado até os dias atuais
conhecido como modelo relacional!
• Proposto pelo pesquisador da IBM Edgar F. Codd
Figura 13: Modelo de dados relacional
Prof. Rafael Sanches 17
53. Modelos de dados
• Surgi na década de 70 o modelo utilizado até os dias atuais
conhecido como modelo relacional!
• Proposto pelo pesquisador da IBM Edgar F. Codd
• O dados tem relações mais intrínsecas
Figura 13: Modelo de dados relacional
Prof. Rafael Sanches 17
54. Modelos de dados
• Como especificar a relação entre os dados?
Figura 14: Linguagem de Consulta Estruturada SQL
Prof. Rafael Sanches 18
55. Modelos de dados
• Como especificar a relação entre os dados?
• Para especificar usamos a linguagem SQL
Figura 14: Linguagem de Consulta Estruturada SQL
Prof. Rafael Sanches 18
56. Modelos de dados
• Como especificar a relação entre os dados?
• Para especificar usamos a linguagem SQL
• Nossa linguagem de exploração
Figura 14: Linguagem de Consulta Estruturada SQL
Prof. Rafael Sanches 18
57. Modelos de dados
• Crescimento dos SGBD’s
Figura 15: Padronização entre os bancos de dados por meio de uma mesma
linguagem
Prof. Rafael Sanches 19
58. Modelos de dados
• Crescimento dos SGBD’s
• Falta de padrão SQL entre os SGBD’s
Figura 15: Padronização entre os bancos de dados por meio de uma mesma
linguagem
Prof. Rafael Sanches 19
59. Modelos de dados
• Crescimento dos SGBD’s
• Falta de padrão SQL entre os SGBD’s
• SGBD’s devem seguir os padrões ANSI/ISO
Figura 15: Padronização entre os bancos de dados por meio de uma mesma
linguagem
Prof. Rafael Sanches 19
66. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
Prof. Rafael Sanches 21
67. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
Prof. Rafael Sanches 21
68. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
• Visão mais simplificada dos dados e seus relacionamentos
Prof. Rafael Sanches 21
69. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
• Visão mais simplificada dos dados e seus relacionamentos
• O seu projeto é independente do SGBD
Prof. Rafael Sanches 21
70. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
• Visão mais simplificada dos dados e seus relacionamentos
• O seu projeto é independente do SGBD
• Não tem detalhes da implementação
Prof. Rafael Sanches 21
71. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
• Visão mais simplificada dos dados e seus relacionamentos
• O seu projeto é independente do SGBD
• Não tem detalhes da implementação
• Suficientemente Detalhado
Prof. Rafael Sanches 21
72. Modelagem de dados
• Modelo Conceitual:
• Mais próximo da abstração
• Representação do mundo real
• Visão mais simplificada dos dados e seus relacionamentos
• O seu projeto é independente do SGBD
• Não tem detalhes da implementação
• Suficientemente Detalhado
• Fase do levantamento de requisitos da sua base de dados
Prof. Rafael Sanches 21
73. Modelagem de dados
• Exemplo: Empréstimo de livros na biblioteca
• Dados necessários:
• Usuário −→ nome, sobrenome, cpf, rg, data de nascimento,
identidicador universitário, curso
• Funcionário −→ nome, sobrenome, cpf, rg, data de nascimento,
identidicador da empresa, cargo
• Livro −→ nome, autores, isbn, editora, ano, quantidade
• Emprestimo −→ Funcionario, Usuário, data de saída, data de
devolução, hora de saída, hora da devolução
Prof. Rafael Sanches 22
75. Modelagem de dados
• Modelo Lógico:
• O seu projeto é independente do SGBD
Prof. Rafael Sanches 23
76. Modelagem de dados
• Modelo Lógico:
• O seu projeto é independente do SGBD
• Melhor compreensão dos relacionamentos entre os dados
Prof. Rafael Sanches 23
77. Modelagem de dados
• Modelo Lógico:
• O seu projeto é independente do SGBD
• Melhor compreensão dos relacionamentos entre os dados
• Consiste na especificação lógica dos dados
Prof. Rafael Sanches 23
78. Modelagem de dados
• Modelo Lógico:
• O seu projeto é independente do SGBD
• Melhor compreensão dos relacionamentos entre os dados
• Consiste na especificação lógica dos dados
• Mais níveis de detalhes
Prof. Rafael Sanches 23
81. Modelagem de dados
• Modelo Físico:
• O seu projeto é dependente do SGBD
Prof. Rafael Sanches 25
82. Modelagem de dados
• Modelo Físico:
• O seu projeto é dependente do SGBD
• Melhor compreensão dos relacionamentos entre os dados
Prof. Rafael Sanches 25
83. Modelagem de dados
• Modelo Físico:
• O seu projeto é dependente do SGBD
• Melhor compreensão dos relacionamentos entre os dados
• tipos de dados
Prof. Rafael Sanches 25
88. Sistemas gerenciadores de bancos de dados
• SGBD’s Pagos
Figura 20: Exemplos de SGBD’s
Prof. Rafael Sanches 29
89. Sistemas gerenciadores de bancos de dados
• SGBD’s Pagos
• SGBD’s Open Source/Free
Figura 20: Exemplos de SGBD’s
Prof. Rafael Sanches 29
90. Sistemas gerenciadores de bancos de dados
• SGBD’s Pagos
• SGBD’s Open Source/Free
• Cada SGBD pode ter suas peculiaridades (e.g., Banco de Dados
Mysql tem criação automática de índices)
Figura 20: Exemplos de SGBD’s
Prof. Rafael Sanches 29
91. Sistemas gerenciadores de bancos de dados
• Outros tipos de modelo de dados e SGBD’s
Prof. Rafael Sanches 30
92. Sistemas gerenciadores de bancos de dados
• Outros tipos de modelo de dados e SGBD’s
• Orientados a grafos (e.g., ArangoDB e Neo4j)
Prof. Rafael Sanches 30
93. Sistemas gerenciadores de bancos de dados
• Outros tipos de modelo de dados e SGBD’s
• Orientados a grafos (e.g., ArangoDB e Neo4j)
• Orientados a documentos (e.g., MongoDB)
Prof. Rafael Sanches 30
95. O que é um Banco de Dados?
Um Sistema de Banco de Dados é um sistema que reúne e mantêm
organizados uma série de dados relacionados a um determinado
assunto em uma determinada ordem.
31