Administração de Banco de DadosProf. Luiz Vivacqua
1
Administração de Banco de DadosLuiz Vivacqua ([email protected])
Administração de Banco de DadosProf. Luiz Vivacqua
2
Ementa
1. Arquitetura Interna do Banco de Dados2. Arquiteturas Externas de sistemas Gerenciadores de
banco de Dados3. Segurança de Acesso
• Concessão de privilégios4. Projeto Físico
• Normalização X Desnormalização
• Índice
• Estruturas de Armazenamento
• Recomendações de ambiente5. Álgebra Relacional6. Processamento de Consultas
Administração de Banco de DadosProf. Luiz Vivacqua
3
Ementa
7. Transação • Propriedades• Estados• Serialização
8. Processamento Concorrente • Bloqueio (lock)• Acesso compartilhado
9. Recuperação de Falhas • Protocolos baseados no Log
Administração de Banco de DadosProf. Luiz Vivacqua
4
Bibliografia
� Sistema de Banco de Dados� Silberschatz, Korth, Sudarshan
� Editora Campus
� Sistemas de Banco de Dados� Elmasri, Navathe
� Editora Pearson
� Notas de Aula: � http://vivacquabd.webnode.com.br
Administração de Banco de DadosProf. Luiz Vivacqua
5
SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS
Sistema ASistema AFuncionário
Pagamento
Cargo
Sistema BSistema B Funcionário
Projeto
Administração de Banco de DadosProf. Luiz Vivacqua
6
SGBD DadosDados
Sistema ASistema A
Sistema BSistema B
Quais são as grandes Funcionalidadesda caixa preta ?
Como acaixa preta atende estas Funcionalidades ?
SISTEMAS GERENCIADORES DE BANCO DE DADOS(SGBD)
Administração de Banco de DadosProf. Luiz Vivacqua
7
Visão Macro do SGBD
CompiladorDML
RequisiçõesCompiladas
Requisições“EMBEDED”
Requisições“AD-HOC”
Otimizador
RequisiçõesOtimizadas
Gerente emtempo deexecução
Dados
MetaDadosLOG
Restrições deSegurança eIntegridade
Concorrência eRecuperação De Falhas
Plano de Execuçãoda Consulta
Armazenamento
Administração de Banco de DadosProf. Luiz Vivacqua
8
� Otimizador� Escolhe a melhor maneira de executar uma consulta.� Diversos planos de execução são gerados e escolhido
aquele com o menor custo.� Custo estimado em função do número de operações de
acesso a disco.
� Segurança e Integridade� O SGBD deve monitorar e controlar o acesso aos
objetos de forma a permitir que somente usuários autorizados tenham acesso.
� Garantir que restrições de integridade(referencial, entidade, domínio) não sejam violadas.
Visão Macro do SGBD
Administração de Banco de DadosProf. Luiz Vivacqua
9
� Concorrência e Recuperação de Falhas� O sistema deve estar apto a detectar falhas e a recuperar
o banco de dados ao seu último estado consistente�Ex: falta de energia
� Controle de Concorrência� O SGBD deve permitir o acesso concorrente por
múltiplos usuários de forma transparente e segura.
Visão Macro do SGBD
Administração de Banco de DadosProf. Luiz Vivacqua
10
�Armazenamento do Dados� Visão lógica
�Rede -> Registro
�Relacional -> Tabela
�OO -> Classe
� Visão Física
�Arquivos em disco no sistema operacional
�Diferentes formas de organização (indexado, hash, seqüencial)
� Armazenamento dos Metadados
� Dicionário de Dados (Catálogo do sistema)
Visão Macro do SGBD
Administração de Banco de DadosProf. Luiz Vivacqua
11
Visão Detalhada do SGBD
Administração de Banco de DadosProf. Luiz Vivacqua
12
Visão Detalhada do SGBD
� Gerenciador Armazenamento� Controla o acesso a informação do SGBD que está armazenada no
disco.� Implementa os mecanismos de autorização e integridade� Usa os serviços básicos do S.O para transferir dados entre o disco e
a memória principal� Controla o uso dos “buffers” na memória� Controla o espaço de armazenamento em disco� Implementa as estruturas de dados do sistema físico:
• Arquivos que armazenam o banco de dados• Dicionário de dadosque armazena o esquema (metadados)
– Nome e tipo dos itens de dados, tabelas– Nome e definição de índices– Nome e localização dos arquivos – Restrições (“CONSTRAINTS”)
• Índicesque podem fornecer um acesso mais rápido aos itens de dados
Administração de Banco de DadosProf. Luiz Vivacqua
13
Visão Detalhada do SGBD
� Gerenciador Armazenamento(Cont.)� Gerenciador de transação
• Uma transação é um conjunto de operações que realiza uma única função lógica em uma aplicação.
• Garante as propriedades de atomicidade e durabilidade.
Administração de Banco de DadosProf. Luiz Vivacqua
14
Visão Detalhada do SGBD
� Processador da consulta� Interpretador da DDL que compila e registra as definições no
dicionário
� Compilador da DML que traduz os comandos de consulta, atualização e exclusão para uma representação a ser avaliada pelo Otimizador
� Uma consulta pode gerar diversos planos de execução diferentes. Cabe ao Otimizador do SGBD escolhe o melhor plano (estratégia) em função do custo.
� Mecanismo de avaliação da consulta que executa as instruções de baixo nível geradas pelo compilador
Administração de Banco de DadosProf. Luiz Vivacqua
15
Arquiteturas do SGBD
� A arquitetura de um sistema de banco de dados ébastante influenciada pelo sistema de computador subjacente (arquitetura do ambiente) em que o sistema de banco de dados é executado:
• Centralizado
• Cliente / Servidor
• Distribuído
• Paralelo
Administração de Banco de DadosProf. Luiz Vivacqua
16
Arquitetura Centralizada
�São sistemas executados sobre um único Sistema Computacional�Podem ter o tamanho de um BD mono-usuário, rodando em um computador pessoal, até BD multi-usuário, executando em máquinas de grande poder de processamento (mainframe)
ProgramasAplicação
BDSGBDSistema
Operacional
Administração de Banco de DadosProf. Luiz Vivacqua
17
Arquitetura Cliente/Servidor
�Os programas de aplicação residem nos computadores cliente�O SGBD reside numa máquina servidor�O driver formata as solicitações das aplicações para envio ao SGBD�O software de comunicação interage com o hardware para troca de mensagens entre o driver do SGBD e o próprio SGBD
ProgramasAplicação
Driver doSGBD
COM
computador Cliente
COM SGBD SO
computador Servidor
BD
Administração de Banco de DadosProf. Luiz Vivacqua
18
Arquitetura em três Camadas
Administração de Banco de DadosProf. Luiz Vivacqua
19
Distribuído
�O Banco de Dados fica armazenado em diversas máquinas�Estas máquinas se comunicam pela rede�Em cada computador, que pode ser de qualquer tamanho, existe um servidor de Banco de Dados ( SGBD)
Rede
SGBD SGBD
SGBD
Site1
Site2
Site3
Administração de Banco de DadosProf. Luiz Vivacqua
20
Paralelo�O Banco de Dados fica armazenado em uma máquina com diversos processadores�Estes processadores se comunicam por uma rede de conexão de alta velocidade�Os dados podem ser alocados segundo diversas técnicas de distribuição
DadosDados
Dados
Nó 1
Nó 2
Nó nSGBD
Dados
Nó 3
Administração de Banco de DadosProf. Luiz Vivacqua
21
Utilitários do SGBD
� São programas que estão incluídos no SGBD e facilitam algumas tarefas do DBA como:� Backup (dump, backup, export, recover, etc)
� Carga de dados (load, copy, etc)
� Reorganização dos dados (export/import, vacuum)
� Monitoramento de desempenho (analyse)
Top Related