Pular para o conteúdo principal

Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2025

Banco de DadosSGBD - Sistema de Gerenciamento de Banco de Dados
Código
fg116226
Banca
FGV
Órgão
MPU
Ano
2025
Nível
Superior
Cargo
Analista do - Suporte e Infraestrutura
Caio recebeu, em seu departamento, um grande número de chamados que relatavam uma lentidão demasiada na execução das consultas no banco de dados que ele mantinha. Então, ele iniciou a busca da solução pelo algoritmo de otimização algébrico heurístico, intrínseco a seu banco de dados. Esse algoritmo é executado em seis etapas e trabalha com algumas regras básicas, que, na maioria das vezes, conseguem melhorar a performance das consultas.Ao analisar as etapas do algoritmo de otimização, Caio identificou um erro na etapa de:
  1. Adesmembramento das operações de seleção com condições conjuntivas em uma cascata de operações de seleção;
  2. Bmovimentação das operações de seleção o mais baixo possível na árvore de consulta que for permitido pelos atributos envolvidos na condição de seleção;
  3. Creorganização dos nós folhas da árvore de consulta, posicionando as relações com as operações de projeção mais restritivas;
  4. Dcombinação de um produto cartesiano com uma seleção subsequente na árvore de consulta para uma operação de junção a ser executada;
  5. Edesmembramento e movimentação da lista de atributos de projeção para o mais baixo possível, criando novas operações de projeção, conforme a necessidade.
Revelar gabarito e comentário

GabaritoC — reorganização dos nós folhas da árvore de consulta, posicionando as relações com as operações de projeção mais restritivas;

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 heurística algébrica de consultas

Gabarito: letra C. A etapa que contém erro é a que propõe "reorganizar os nós folhas posicionando as relações com as operações de projeção mais restritivas". O correto é posicionar as operações de seleção mais restritivas (as que reduzem mais linhas) antes, pois projeção reduz colunas, não linhas. As demais alternativas descrevem corretamente as etapas clássicas do algoritmo de otimização heurística.

A otimização heurística de consultas (baseada em álgebra relacional) geralmente segue seis etapas:

  1. Desmembrar seleções conjuntivas em cascata (alternativa A).

  2. Mover seleções o mais baixo possível na árvore (alternativa B).

  3. Reordenar os nós folhas para aplicar as seleções mais restritivas primeiro (o erro está em trocar "seleção" por "projeção").

  4. Combinar produto cartesiano com seleção subsequente em junção (alternativa D).

  5. Desmembrar e mover projeções para baixo (alternativa E).

  6. Identificar subexpressões comuns.

Alternativa A — ✅ Correta

"Desmembramento de seleções conjuntivas em cascata" é a primeira etapa: transformar σ_cond1 AND cond2 (R) em σ_cond1 (σ_cond2 (R)), permitindo que cada seleção seja movida independentemente.

Alternativa B — ✅ Correta

"Movimentação das seleções o mais baixo possível" reduz o número de tuplas processadas nas operações seguintes, desde que os atributos envolvidos estejam disponíveis.

Alternativa C — ❌ Incorreta ⟵ GABARITO

O erro está em "operações de projeção mais restritivas". A restritividade refere-se à redução do número de linhas (seleção), não de colunas (projeção). A etapa correta seria: "reorganizar os nós folhas posicionando as relações com as operações de seleção mais restritivas". Projeções também são movidas para baixo, mas não são o fator de restritividade.

Alternativa D — ✅ Correta

A combinação de produto cartesiano com seleção em junção é essencial para evitar produtos cartesianos desnecessários: σ_cond (R × S) é transformado em R ⨝_cond S.

Alternativa E — ✅ Correta

"Desmembramento e movimentação de projeções" cria novas operações de projeção o mais cedo possível, reduzindo o número de atributos transportados pelas operações seguintes.

NÃO CAIA NESSA!

A banca troca o termo "seleção" por "projeção" na alternativa C. Lembre-se: restritividade (redução de linhas) está ligada a seleções, não a projeções (que só reduzem colunas). Sempre desconfie quando o termo "mais restritivas" vier associado a projeção.

Gabarito: letra C

Link permanente: /questoes/fg116226