Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2015

Banco de DadosSQL
Código
fc022288
Banca
FCC
Órgão
TCM-GO
Ano
2015
Nível
Superior
Cargo
Auditor de Controle Externo - Informática
Para encontrar o melhor plano de avaliação de consulta, o otimizador precisa gerar planos alternativos que produzam o mesmo resultado que a expressão SQL dada, e escolher o melhor. A geração de planos de avaliação de consulta envolve 3 etapas:1. Gerar expressões que sejam logicamente equivalentes à expressão dada.2. Anotar as expressões resultantes de maneiras alternativas para gerar planos diferentes.3. Estimar o custo de cada plano.De acordo com este contexto, é correto afirmar que
  1. Apara implementar a etapa 1 o otimizador utiliza regras de equivalência. Duas expressões são equivalentes se geram, pelo menos, 50% das tuplas iguais.
  2. Bdeve-se calcular os custos das operações individuais em um plano de consulta e combiná-los para determinar precisamente o custo da expressão da álgebra relacional.
  3. Ccomo o custo é calculado de forma precisa, o plano selecionado é necessariamente o melhor e menos dispendioso plano.
  4. Dna etapa 3 é escolhido o plano que tenha o menor custo estimado.
  5. Ea maioria dos SGBDs oferece ao administrador opções de criação do plano de avaliação das consultas através de comandos como “explain <consulta>".
Revelar gabarito e comentário

GabaritoD — na etapa 3 é escolhido o plano que tenha o menor custo estimado.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Otimização de Consultas em SGBDs

Gabarito: letra D. Na etapa 3, o otimizador estima o custo de cada plano alternativo e escolhe o de menor custo estimado. As demais alternativas contêm imprecisões conceituais: equivalência não é definida por percentual de tuplas; o custo é estimado, não preciso; o plano escolhido não é necessariamente o melhor absoluto; e o comando EXPLAIN apenas exibe o plano, não o cria.

A questão aborda o processo de otimização de consultas, uma funcionalidade central dos SGBDs relacionais. O otimizador aplica regras de equivalência da álgebra relacional para gerar expressões alternativas, anota essas expressões com diferentes algoritmos de execução (e.g., uso de índices, métodos de junção) e, por fim, estima o custo de cada plano com base em estatísticas do banco (tamanho das relações, seletividade, etc.), selecionando o de menor custo estimado.

Alternativa A — ❌ Incorreta

Afirma que duas expressões são equivalentes se geram, pelo menos, 50% das tuplas iguais. Na realidade, equivalência lógica exige que as expressões produzam exatamente o mesmo conjunto de tuplas, independentemente de percentuais. Regras de equivalência transformam expressões sem alterar o resultado.

Alternativa B — ❌ Incorreta

Diz que os custos são calculados de forma precisa. O custo é uma estimativa baseada em estatísticas (histogramas, cardinalidade) e modelos de custo (número de acessos a disco, uso de CPU). Não há precisão absoluta; a estimativa serve para comparação entre planos.

Alternativa C — ❌ Incorreta

Afirma que o plano selecionado é necessariamente o melhor e menos dispendioso. Como o custo é estimado, o plano escolhido pode não ser o ótimo real, apenas o melhor dentre os considerados, com base nas estimativas disponíveis. Mudanças nos dados ou estatísticas desatualizadas podem levar a escolhas subótimas.

Alternativa D — ✅ Correta ⟵ GABARITO

Corresponde exatamente ao que ocorre na etapa 3: após estimar o custo de cada plano alternativo, o otimizador seleciona o plano com o menor custo estimado. Essa é a definição padrão de otimização de consultas.

Alternativa E — ❌ Incorreta

O comando EXPLAIN <consulta> (ou EXPLAIN PLAN) é usado para visualizar o plano de execução escolhido pelo otimizador, não para criá-lo ou configurá-lo. A criação de planos alternativos é feita automaticamente pelo otimizador; o administrador pode influenciar indiretamente (e.g., com hints), mas não “cria” planos via EXPLAIN.

NÃO CAIA NESSA!

A banca explora a confusão entre “estimado” e “preciso” (alternativa B) e entre “melhor estimado” e “necessariamente melhor” (alternativa C). Cuidado com termos absolutos como “precisamente” e “necessariamente” – em otimização, tudo é baseado em estimativas.

Gabarito: letra D.

Link permanente: /questoes/fc022288