← Questões de Banco de Dados

Banco de Dados · FGV · 2025

Questão comentada de Banco de Dados

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:

Gabarito: C

A otimização algébrica heurística tenta melhorar a consulta sem fazer conta pesada de custo o tempo todo. Ela usa regras clássicas da álgebra relacional, como empurrar seleções e projeções para baixo da árvore, quebrar seleções com vários testes em seleções menores, e transformar produto cartesiano seguido de seleção em junção. A ideia é simples: reduzir o volume de dados o quanto antes, porque banco de dados gosta de sofrer menos logo no começo da consulta. Em geral, a seleção (sigma) deve descer o máximo possível, desde que os atributos usados na condição estejam disponíveis naquele ponto da árvore. A projeção (pi) também é empurrada para baixo, mantendo apenas os atributos necessários para evitar carregar coluna desnecessária. Isso é doutrina clássica de processamento de consultas em SGBDs, como apresentado em autores como Elmasri e Silberschatz. O erro da questão está na alternativa C porque a otimização heurística não consiste em "reorganizar os nós folhas" para posicionar relações com projeções mais restritivas. O que se faz é reescrever a árvore aplicando regras de equivalência algébrica, especialmente para seleção, projeção e junção. Não há uma etapa formal com esse nome nem essa lógica de "folhas mais restritivas" como regra básica do algoritmo. Então, o ponto central é: a heurística trabalha com empurrar operadores para baixo e simplificar a árvore, não com essa reorganização descrita na alternativa C. Em prova, quando a banca mistura termos verdadeiros com uma etapa inventada, vale desconfiar do enfeite.

Continue treinando

Questões relacionadas