Nos Sistemas de Gerenciadores de Bancos de Dados relacionais (SGBDr), o módulo que se preocupa com o rearranjo e a possível reordenação de operações com a eliminação de redundâncias e uso de algoritmos e índices corretos durante a execução de uma consulta SQL, é denominado
- A)gerenciador de dados armazenados.
Errada, porque o gerenciador de dados armazenados cuida do acesso fisico aos dados, e nao do rearranjo logico da consulta.
- B)pré-interpretador semântico.
Errada, porque o pre-interpretador semantico verifica aspectos de significado e validade, nao a otimizacao do plano de execucao.
- C)interpretador de consultas.
Errada, porque o interpretador de consultas transforma a SQL em uma forma interna, mas nao e o componente principal de escolha da melhor estrategia de execucao.
- D)catálogo de estatísticas.
Errada, porque o catalogo de estatisticas guarda informacoes usadas pelo sistema, mas nao executa a otimizacao em si.
- E)otimizador de consultas.
Certa, porque o otimizador de consultas decide a melhor ordem e forma de execucao, reduzindo custo e aproveitando indices e algoritmos adequados.
Gabarito: E
Em um SGBD relacional, a consulta SQL nao vai direto para a execucao como quem aperta um botao e torce para dar certo. Antes disso, existe uma etapa de planejamento, em que o sistema tenta descobrir a melhor forma de executar a consulta com menor custo possivel. E ai entram as escolhas de ordem das operacoes, eliminacao de redundancias e selecao de algoritmos e indices adequados. Esse trabalho e do otimizador de consultas. Ele analisa a consulta e monta um plano de execucao mais eficiente, considerando estatisticas do banco, indices disponiveis e custos estimados. Em outras palavras: ele tenta fazer a consulta sofrer menos e o servidor tambem. Isso explica por que o gabarito e a letra E. O enunciado descreve exatamente o modulo responsavel por rearranjo, reordenacao e escolha de estrategia de execucao. Em bibliografia classica de Banco de Dados, esse componente e parte do processador de consultas, e sua funcao e reduzir o custo da consulta antes da execucao. As outras alternativas apontam para componentes diferentes do SGBD, mas nenhum deles faz a tarefa principal de otimizar o plano da consulta. O foco aqui nao e armazenar dados, nem interpretar semantica, nem apenas catalogar informacoes. O que a banca quer e a funcao de otimizar a consulta SQL.