Sistemas de Banco de Dados
Fundamentos em Bancos de Dados Relacionais
Wladmir Cardoso Brandão
www.wladmirbrandao.com
Departamento de Ciência da Computação (DCC)
Instituto de Ciências Exatas e Informática (ICEI)
Pontifícia Universidade Católica de Minas Gerais (PUC Minas)
Agradecimento pelo apoio na elaboração:
Adriane de Jesus Miranda Gomes e Victor Theles da Silva Costa
Introdução à Banco de Dados
Conceitos e Propriedades
Taxonomia e Abordagens
Projeto de Banco de Dados
Atores em Bancos de Dados
Sistema Gerenciador de Banco de Dados (SGBD)
Banco de Dados (BD)
I
Coleção de dados estruturados
I
Atende as necessidades de grupos de usuários
I
Dados → Símbolos, sinais, códigos passíveis de registro
I
Essencial na vida moderna
Presente em diferentes ambientes de negócio:
I
I
I
I
I
Saque ou depósito de dinheiro no banco
Reserva de hotel
Reserva de livros na biblioteca
Compra de produtos em supermercado
Exemplo de Aplicação de Banco de Dados
Amazon.com
I
Milhões de livros, CDs, vídeos, DVDs, jogos eletrõnicos,
roupas e outros produtos
I
Dezenas de milhões de acessos diários para efetivação de
compras
Atualização constante de:
I
I
I
I
I
Clientes cadastrados
Pedidos de compra
Produtos em estoque
Vendas de produtos
Propriedades de Banco de Dados
I
Reflete a realidade do “mundo real” dos usuários
I
“Mundo real” → Minimundo ou Universo de Discurso
I
Construído e abastecido (populado) para uma finalidade
específica
I
Coerência na coleção lógica dos dados
I
Provê compartilhamento de dados
Taxonomia de Banco de Dados: Utilização
I
Manual
I
I
I
Criado e mantido sem o uso de computadores
Exemplo → Lista telefônica
Computadorizado
I
I
Criado e mantido por um grupo de programas
Exemplo → The Human Genome Database (GDB)
Taxonomia de Banco de Dados: Aplicação
I
Tradicional → Dados na forma textual ou numérica
I
Multimídia → Imagens, áudios e vídeos
I
Geográficos → Mapas, imagens de satélite e registros
climáticos.
I
Data Warehouse → “Armazém” de dados utilizados no
processamento analítico online (OLAP) para auxílio à
tomada de decisão
I
Ativo e de Tempo Real → Processos industriais de
manufatura
Abordagens de Banco de Dados
I
Processamento em arquivo
I
I
Usuário define e implementa os arquivos necessários para
uma aplicação específica como parte da programação da
aplicação.
Sistema Gerenciador de Banco de dados (SGBD)
I
I
I
I
I
I
I
Repositório único → Dados definidos uma vez e depois
acessados por vários usuários.
Abstração de dados
Compartilhamento de dados
Isolamento entre programas e dados
Natureza autodescritiva
Suporte à múltiplas visões dos dados
Processamento de transação multiusuário
Projeto de Banco de Dados
I
Construção de modelos para implementação de bancos
de dados
I
Modelos → Representações de objetos e eventos do
mundo real
Etapas na implementação de bancos de dados:
I
1.
2.
3.
4.
5.
I
Especificação → Descrição do minimundo
Análise de requisitos → Restrições de operação
Projeto conceitual → Estruturas e restrições conceituais
Projeto lógico → Estruturas e restrições lógicas
Projeto físico → Estruturas e restrições físicas
BDs devem ser implementados, alimentados e mantidos
continuamente para refletir o estado do minimundo
Atores em Bancos de Dados
I
Administradores → DataBase Administrators (DBAs)
I
Projetistas
I
Analistas
I
Programadores
I
Usuários
Sistema Gerenciador de Banco de Dados (SGBD)
I
Coleção de programas que permitem aos usuários criar e
manter um banco de dados
I
Definição de BD → Especificar tipos, estruturas e
restrições armazenadas sob a forma de metadados no
catálogo (dicionário) do sistema
I
Construção de BD → Armazenar dados em meio
controlado pelo SGBD
I
Manipulação de BD → Consulta, atualização, inserção e
exclusão de dados
I
Compartilhamento de BD → Acesso simultâneo por
múltiplos usuários ao banco de dados
SGBD: Componentes Básicos
SGBD: Vantagens de Utilização
I
Controle de Redundância → Dados armazenados uma
única vez, sem duplicatas
SGBD: Vantagens de Utilização
I
Controle de Redundância → Dados armazenados uma
única vez, sem duplicatas
SGBD: Vantagens de Utilização
I
Backup e recuperação
I
Múltiplas interfaces ao usuário
I
Representação de relacionamentos complexos entre os
dados
I
Restrições de acesso
I
Restrições de integridade
SGBD: Vantagens de Utilização
I
Disponibilidade de dados atualizados
I
Economias de escala
I
Flexibilidade
I
Potencial para garantia de padrões
I
Tempo reduzido para desenvolvimento de aplicações
SGBD: Quando não utilizar?
I
Monousuário → Acesso por múltiplos usuários não
requerido
I
Baixa complexidade → Aplicações de BD muito simples e
bem definidas
I
Requisitos rigorosos → Aplicações de tempo real e
sistemas embarcados com capacidade de
armazenamento limitada
I
Alta especialização → Aplicações que demandam
recursos que a generalidade que um SGBD oferece para a
definição e processamento de dados não suporta. Por
exemplo, funções de segurança sofisticadas
I
Custo proibitivo → Alto investimento inicial em hardware,
software e treinamento
Referências Bibliográficas I
Elmasri, Ramez; Navathe, Sham
Sistemas de banco de dados - 6a edição.
Pearson, 2011.
Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S
Sistemas de banco de dados - 6a edição.
Elsevier, 2012.
Date, Christopher J
Introdução a sistemas de bancos de dados.
Elsevier, 2004.
Obrigado!
Perguntas?
Wladmir Cardoso Brandão
www.wladmirbrandao.com
“Science is a way of thinking...
much more than it is a body of knowledge.”
Carl Sagan