1. Banco de Dados I
Sistema Gerenciador de Banco de Dados
SGBD
“Se você tem uma maçã e eu tenho outra; e nós trocamos as maçãs,
então cada um terá sua maçã. Mas se você tem uma ideia e eu tenho
outra, e nós as trocamos; então cada um terá duas ideias.”
George Bernard Shaw
Profº: Joseph Donald
Contatos:
joseph.vieira@facape.br
2. Conceitos
• “É uma coleção de dados interrelacionados e um
conjunto de programas para acessar esses dados”
(Silberschatz, 2006)
• “Software que incorpora as funções de definição,
recuperação e alteração de dados em um banco de
dados.” (HEUSER, 2009).
• “Um Sistema Gerenciador de Banco de Dados (SGBD) é
um sistema computadorizado que permite que os
usuários criem e mantenham um banco de dados.”
(ELMASRI e NAVATHE, 2018)
Banco de Dados I
Profº: Joseph Donald
3. Conceitos
• Ele facilita o processo de definição, construção, manipulação e compartilhamento
de banco de dados entre diversos usuários e aplicações de múltiplas plataformas.
• Definição: envolve especificar os tipos de dados, as estruturas e restrições dos dados a
serem armazenados.
• Construção: é o processo de armazenar os dados em algum meio de armazenamento
controlado pelo SGBD.
• Manipulação: são as funções como consulta, para recuperar dados, atualização, para
refletir mudanças no minimundo e a geração de relatórios a partir dos dados.
• Compartilhamento: permite que vários usuários e programas acessem o banco de dados
simultaneamente.
Banco de Dados I
Profº: Joseph Donald
6. Atores em cena no SGBD
• Em um ambiente de banco de dados, o recurso principal é o próprio
banco de dados, e o recurso secundário é o SGBD e o software
relacionado.
• Para um pequeno banco de dados, apenas uma pessoa consegue
definir, construir e manipular o banco de dados;
• Porém, em grandes organizações, muitas pessoas podem ser
envolvidas no mesmo projeto, uso e manutenção de um grande banco
onde há centenas, milhares ou milhões de usuários.
Banco de Dados I
Profº: Joseph Donald
7. Atores em cena no SGBD
Administradores de Bancos de Dados (DBAs)
• É responsável por:
Autorizar o acesso ao banco de dados
Coordenar e monitorar o seu uso
Adquirir recursos de software e hardware
conforme a necessidade.
• Também é responsável por problemas como
falhas na segurança e demora no tempo de
resposta do sistema.
Banco de Dados I
Profº: Joseph Donald
8. Projetistas de Bancos de Dados
• É responsável por:
Identificar os dados a serem armazenados
Escolher estruturas apropriadas para representar e
armazenar esses dados
Se comunicar com os usuários do banco de dados em
potencial e afim de entender seus requisitos e criar um
projetos que os atenda.
• Normalmente interagem com os grupos e
desenvolvem visões dos banco de dados que
cumprem com os requisitos de dados e
processamento.
Banco de Dados I
Profº: Joseph Donald
Atores em cena no SGBD
9. Analistas de Sistemas e programadores
• Analistas de Sistemas determinam os
requisitos dos usuários finais e desenvolvem
especificações para transações programadas
que cumpram esses requisitos.
• Programadores implementam esses
especificações como programas. Eles também
testam, depuram, documentam e mantêm
essas transações programadas. Também são
conhecidos como desenvolvedores de
software ou engenheiros de software.
Banco de Dados I
Profº: Joseph Donald
Atores em cena no SGBD
10. Atores em cena
Usuários finais
• São pessoas cujo as funções exigem acesso
ao banco de dados para consulta,
manipulação, atualização e geração de
relatórios. O banco de dados existe
justamente para seu uso.
• Eles simplesmente precisam entender as
interfaces do usuário oferecidas nas
aplicações, sejam elas mobile, desktop ou
web.
Banco de Dados I
Profº: Joseph Donald
11. Controlar redundância;
Restringir o acesso não autorizado;
Oferecer armazenamento persistente para objetos do programa;
Oferecer estruturas de armazenamento e técnicas de pesquisa para
o processamento eficiente de consulta;
Oferecer backup e recuperação;
Oferecer múltiplas interfaces do usuário.
Vantagens em usar SGBD Banco de Dados I
Profº: Joseph Donald
12. Representação de relacionamentos complexos de
dados.
Impor restrições de integridade.
Permitir dedução e ações usando regras.
Implicações adicionais do uso da abordagem de banco
de dados.
Vantagens em usar SGBD Banco de Dados I
Profº: Joseph Donald
13. Banco de Dados I
Modelos de Banco de Dados
“Se você tem uma maçã e eu tenho outra; e nós trocamos as maçãs,
então cada um terá sua maçã. Mas se você tem uma ideia e eu tenho
outra, e nós as trocamos; então cada um terá duas ideias.”
George Bernard Shaw
Profº: Joseph Donald
Contatos:
joseph.vieira@facape.br
14. Conceitos
• Segundo HEUSER (2009): “Um modelo de banco de dados
é um descrição dos tipos de informações que estão
armazenadas em um banco de dados.”
• Informa, por exemplo, que o banco de dados armazena os
produtos de uma empresa
• Detalha também as informações armazenadas desse
produto, como: código, preço e descrição.
• Não informa quais produtos são armazenados, mas sim
que o banco possui informações sobre esses produtos.
Modelos de Banco de Dados
Profº Joseph Donald
15. • Assim, podemos concluir que o modelo de dados
é uma descrição formal da estrutura de um
banco de dados.
• Para construir os modelos utilizamos uma
Linguagem de Modelagem de Dados.
• Podem ser classificadas em linguagens textuais
ou linguagens gráficas.
• Cada representação de um modelo de dados
recebe a denominação de esquema de banco de
dados.
Linguagens de modelagem Modelos de Banco de Dados
Profº Joseph Donald
16. • Os modelos possuem diferentes níveis de abstração.
• Um modelo de dados conceitual servirá para explicar
sobre o banco de dados a um usuário leigo em
informática não deve conter detalhes sobre o meio
físico das informações
• Já um modelo lógico é usado por um profissional de
TI deverá conter maiores detalhes com informações
organizadas de tal forma que ele possa otimizar suas
tarefas, ou seja, será um modelo menos abstrato.
• Assim, a nível de projeto, consideramos dois níveis de
abstração: o modelo conceitual e o modelo lógico.
Linguagens de modelagem Modelos de Banco de Dados
Profº Joseph Donald
17. Segundo HEUSER(2009): “É um modelo de dados abstrato, que descreve a
estrutura de um banco de dados de forma independente de um SGBD
particular.”
• Um modelo conceitual é uma descrição do banco de dados de forma
independente de implementação em um SGBD.
• Ele registra que dados podem aparecer no banco de dados, mas não
registra como estes dados serão armazenados.
Modelo Conceitual Modelos de Banco de Dados
Profº Joseph Donald
18. • A abordagem entidade-relacionamento é a técnica mais difundida no modelo
conceitual.
• Essa técnica é normalmente representada por um diagrama, denominado diagrama
entidade-relacionamento (DER).
• Neste exemplo ele informa que o banco contém dados sobre os produtos e sobre os
tipos de produtos.
Modelo Conceitual Modelos de Banco de Dados
Profº Joseph Donald
19. • Outro exemplo de modelo conceitual:
Modelo Conceitual Modelos de Banco de Dados
Profº Joseph Donald
20. • Segundo HEUSER (2009): É um “modelo de dados que representa a estrutura de
dados de um banco de dados conforme vista pelo usuário do SGBD”.
• É uma descrição de um banco de dados ao nível de abstração necessária ao usuário
do SGBD, profissional de TI.
• O modelo lógico é dependente do tipo de SGBD que está sendo utilizado.
• No nosso caso, trabalharemos com o modelo lógico de um BD relacional.
Modelo Lógico Modelos de Banco de Dados
Profº Joseph Donald
21. • Contêm detalhes de armazenamento interno de informações
• Também define as tabelas que o banco contém e, para cada tabela, o nome de suas
colunas
Modelo Lógico Modelos de Banco de Dados
Profº Joseph Donald
22. • Outro exemplo de modelo lógico:
Modelo Lógico Modelos de Banco de Dados
Profº Joseph Donald
23. • No modelo físico está a escolha do SGBD a partir do modelo lógico adotado. Como
PostgreSQL, MySQL e outros.
Exemplo de código SQL para criação de objetos no banco:
EXTRA: Modelo Físico (Implementação) Modelos de Banco de Dados
Profº Joseph Donald
24. Exemplo das tabelas dos modelos no BD Modelos de Banco de Dados
Profº Joseph Donald
25. Projeto de Bancos de Dados Modelos de Banco de Dados
Profº Joseph Donald
• Um projeto de banco de dados se dá em três fases:
1. Modelo conceitual – É construído um modelo conceitual na
forma de um diagrama entidade-relacionamento (DER).
2. Projeto lógico – objetiva transformar o modelo conceitual obtido
na primeira fase em modelo lógico, assim, o modelo lógico
definirá como o banco de dados será implementado em um
SGBD.
3. Projeto físico – O modelo de banco de dados é enriquecido com
detalhes que influenciam no desempenho do banco de dados,
mas não interferem na sua funcionalidade.