Guia Completo de Banco de Dados: Normalização e Otimização
Classificado em Computação
Escrito em em
português com um tamanho de 6,37 KB
1. Normalização de Banco de Dados
1) O que é Normalização? É um processo que consiste em estruturar tabelas e atributos para eliminar redundâncias e evitar problemas com a inserção, eliminação e atualização de dados.
2) Quais são os principais objetivos da Normalização? Facilitar a manipulação do banco de dados e garantir a independência dos dados.
3) O que significa Independência dos Dados? O banco de dados relacional preocupa-se apenas com a lógica dos dados, não com a forma como são armazenados fisicamente.
4) O que se evita ao minimizar redundâncias? Riscos de inconsistências (evitando dados repetidos em tabelas diferentes).
5) O que significa facilitar a manutenção? Organizar tabelas para que o DBA consiga realizar alterações com facilidade.
6) Quem faz manutenções estruturais? O DBA (Administrador de Banco de Dados).
7) Quem lida com os dados das tabelas? O Analista de Desenvolvimento.
8) Quantos estágios de normalização existem? Cinco estágios.
9) Quantos estágios são mais usados? Três estágios.
10) Quais são os estágios? 1ª, 2ª, 3ª, 4ª e 5ª Forma Normal (FN).
11) Quais são os mais usados nas empresas? 1ª FN, 2ª FN e 3ª FN.
12) O que significa serem cumulativos? Para alcançar a 3ª FN, é necessário atender aos pré-requisitos da 1ª e 2ª FN.
13) Definir a 1ª Forma Normal: Uma tabela está na 1ª FN se todos os atributos contiverem apenas valores atômicos (elementares).
14) Atributos multivalorados na 1ª FN: Verdadeiro. Mesmo em colunas diferentes, atributos repetitivos infringem a 1ª FN.
15) A 1ª FN pode apresentar redundância? Sim.
16) Problemas da 1ª FN: Problemas de atualização, inserção e eliminação.
17) Problema de atualização: Alterar um dado em várias linhas pode gerar incoerências.
18) Problema de inserção: Dificuldade em inserir um registro sem que ele esteja vinculado a outro (ex: aluno sem disciplina).
19) Problema de eliminação: Ao excluir um registro, pode-se perder informações essenciais de outras entidades.
20) Definir a 2ª Forma Normal: Estar na 1ª FN e todos os atributos não-chave dependerem da totalidade da chave primária.
21) Definir a 3ª Forma Normal: Estar na 2ª FN e os atributos não-chave não dependerem de nenhum outro atributo não-chave.
22) Definir a 4ª Forma Normal: Evitar relacionamentos N para N entre atributos da mesma tabela.
23) Definir a 5ª Forma Normal: Criação de tabelas únicas para representar dados inter-relacionados, tratando multidependências funcionais cíclicas.
2. Processamento e Otimização de Consultas
24) Estratégias de execução: Verdadeiro. O processo de escolha é a otimização de consultas.
25) O que é otimização de consultas? O processo de escolher a melhor estratégia de execução.
26) Nome do melhor plano: Plano de execução.
27) Definir plano de execução: Sequência de algoritmos aplicados sobre a consulta.
28) Como auxiliar o plano de execução? Tabelas bem criadas, índices ajustados e estatísticas atualizadas.
29) Operações custosas: Produto Cartesiano e Junção (Join).
30) Sinônimo de plano de execução: Plano de acesso.
31) Custo de registros: Muitos registros são mais custosos devido ao volume de dados a pesquisar.
32) O SGBD executa sempre da mesma forma? Não, ele segue o plano de execução gerado.
33) O que é método de acesso? Algoritmos para recuperar dados diretamente das tabelas.
34) Memória RAM vs Disco: Memória RAM é mais rápida para pesquisas.
35) Etapas da otimização: Reescrita da consulta e determinação do melhor plano de acesso.
36) Etapa pós-escolha: Execução das operações do plano até o resultado final.
37) Consideração de otimização: Teoria da Álgebra Relacional.
38) Passos de submissão: Parse, Check de Semântica, Query Rewrite, Otimização e Geração de Código.
39-44) Definições: O processo valida sintaxe, semântica, reescreve o SQL, otimiza o plano e gera o código de execução.
3. Otimização Heurística e por Custo
45-46) Otimização por regra: Usa heurísticas fixas para transformar a consulta.
47-51) Índices: Clusterizados (ordenados, bons para range) e não clusterizados.
52-54) Eficiência: Abordagens heurísticas podem ser ineficientes; otimização por custo é mais complexa, porém mais eficaz.
55-56) Varreduras: Full table scan (sequencial) e indexed table scan (indexada).
57-60) Otimizador por custo: Utiliza estatísticas (número de linhas, páginas) para escolher o plano de menor custo.
4. Transações e Segurança
71-80) Operações de Join: Sort Merge, Nested Loops e Hash Join. Hints são instruções para guiar o otimizador.
83-99) Transações: Conjunto de operações de leitura/escrita. Níveis de isolamento: Read Uncommitted, Read Committed, Repeatable Read e Serializable.
103-111) ACID e Falhas: Durabilidade garante persistência. Falhas podem ser de transação, sistema ou meio de armazenamento.
121-125) Recuperação: Checkpoint grava dados da memória para o disco. Undo desfaz transações incompletas; Redo refaz transações concluídas.
127-144) Concorrência: Bloqueios (compartilhados/exclusivos) evitam inconsistências. Deadlock é um risco comum.
151-170) Segurança: Proteção contra acessos não autorizados via autenticação, auditoria, criptografia, views e triggers para integridade.