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.

Entradas relacionadas: