Administração de Banco de Dados: Teoria e Prática
Classificado em Computação
Escrito em em português com um tamanho de 6,34 KB.
Teoria da Administração de Banco de Dados
Responsabilidades do DBA
- Instalar e atualizar o SGBD e ferramentas.
- Planejar e criar bancos de dados.
- Planejar e disponibilizar espaço para o banco de dados.
- Modificar a estrutura do banco de dados.
- Gerenciar usuários (criar, deletar, atribuir/remover privilégios).
- Gerar cópias de segurança (backups) e recuperar o banco de dados.
- Manter a segurança do sistema.
- Monitorar e otimizar a performance do banco de dados.
Principais Qualidades de um DBA
- Segurança
- Disponibilidade
- Confiabilidade
- Recuperabilidade
Normalização
A normalização é efetuada no banco de dados a fim de evitar anomalias de inserção, exclusão e atualização. Possui 5 formas normais, as 3 primeiras são aplicáveis, pois com essas feitas já é possível resolver a 4ª e 5ª forma normal.
Problemas Resolvidos pela Normalização
- Inserção: Inconsistência de informações entre tuplas, redundância e necessidade de atualizar várias tuplas quando uma informação é inserida, se diferente.
- Exclusão: Perda da informação, ao eliminar o último empregado de um departamento.
- Atualização: Manter consistência entre tuplas.
Formas Normais
- 1ª Forma Normal: Remover grupos repetitivos. Exemplo: Telefones, filhos.
- Solução: Criar nova tabela com chave primária composta da informação repetitiva mais a PK do pai.
- 2ª Forma Normal: Remover atributo que não depende da chave primária para existir.
- Solução: Criar nova tabela com o atributo e apontar uma chave estrangeira para a tabela que foi removido.
- 3ª Forma Normal: Remover dependência transitiva, ou seja, campo que não depende diretamente da PK para existir, podendo depender de outro atributo não chave para existir.
- Solução: Criar outra tabela com os atributos que dependem de si e apontar uma chave estrangeira para a tabela que foram removidos.
Estimativa de Crescimento
Para estimar o crescimento de um banco de dados é necessário calcular o tamanho de cada registro em cada tabela, o tamanho e a quantidade de índices e, por último, elaborar um cálculo baseado na quantidade de registros que se espera para cada tabela.
- Projeto Novo: Abordagem mais simples devido ao escopo e aderência à tecnologia do software do banco de dados. Determinar por estimativa o volume de registros por tabela.
- Administração do Banco: Consiste na verificação da viabilidade da estrutura atual, para determinar o ciclo de vida operacional do banco. Necessário efetuar monitoramento constante.
- Tempo de Retenção: Estimar até quando o banco de dados pode funcionar ou parar de funcionar.
Índices
O que é um Índice?
Índice é uma estrutura ou um arquivo auxiliar associado a uma tabela ou coleção de dados a fim de estabelecer maior agilidade na busca de dados numa determinada tabela.
Classificação de Índices
- Índice de Nível Único: Semelhante ao índice de um livro.
- Índice Primário: Construído sobre o campo-chave de classificação de um arquivo ordenado de registros.
- Índice Secundário: Construído sobre quaisquer outros campos que não os de ordenação física do arquivo.
- Índice por Clustering: Construído sobre um campo de ordenação que não é um campo chave e, por isso, diversos registros no arquivo podem ter o mesmo valor para este campo.
Características dos Índices
- Índice Denso: Possui uma entrada no índice para cada valor de chave no arquivo de dados.
- Índice Esparso: Possui uma entrada no índice para cada bloco do arquivo de dados.
Por que Utilizar Índices?
Esta funcionalidade acelera a velocidade de busca às linhas de uma tabela, criando ponteiros para os dados armazenados em colunas específicas, fazendo com que o banco tenha uma resposta rapidamente.
Como calcular a eficiência? Justificar! (A resposta para essa pergunta está faltando no documento original)
Prática - Instruções SQL
DDL (Data Definition Language)
- CREATE TABLE:
CREATE TABLE nome_tabela (coluna tipo_dado, ...);
- Comando utilizado para criação de uma tabela. - ALTER TABLE:
ALTER TABLE nome_tabela ADD/MODIFY/DROP COLUMN nome_coluna tipo_dado;
- Comando utilizado para alterar dados de uma tabela já existente. - CONSTRAINTS:
PK
(Primary Key),FK
(Foreign Key),CHECK
,NOT NULL
eUNIQUE
.
DML (Data Manipulation Language)
- INSERT:
INSERT INTO nome_tabela (colunas) VALUES (valores);
- Comando utilizado para inserir dados em uma tabela já existente. - UPDATE:
UPDATE nome_tabela SET campo = 'novo_valor' WHERE condição;
- Comando utilizado para atualizar dados já definidos na base de dados. - DELETE:
DELETE FROM nome_tabela WHERE condição;
- Comando utilizado para apagar os dados salvos na base de dados. - COMMIT: Comando que grava definitivamente os efeitos dos comandos de uma transação (
INSERT
,DELETE
eUPDATE
). - ROLLBACK:
ROLLBACK TO savepoint_name;
- Comando que retorna a um ponto de restauração salvo.
Consultas
- SELECT: Visualização, aliás e operação matemática.
- WHERE: Condição campo operador (
>
,<
,=
,IN
,LIKE
,BETWEEN
,NOT
). - Funções de manipulação. (Exemplos de funções não foram fornecidos no documento original)