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

  1. Índice de Nível Único: Semelhante ao índice de um livro.
  2. Índice Primário: Construído sobre o campo-chave de classificação de um arquivo ordenado de registros.
  3. Índice Secundário: Construído sobre quaisquer outros campos que não os de ordenação física do arquivo.
  4. Í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 e UNIQUE.

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 e UPDATE).
  • 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)

Entradas relacionadas: