administração de banco de dados -...
TRANSCRIPT
-
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)