Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2024

Banco de DadosConsultas e Comandos em SQL
Código
ce403658
Banca
CESPE / CEBRASPE
Órgão
SEBRAE
Ano
2024
Cargo
Ana Tec II ( )
Caso um cientista de dados precise extrair, transformar e analisar grandes volumes de dados em um banco de dados relacional, usando SQL, a prática mais recomendável para garantir que as operações de análise sejam eficientes e precisas consiste em
  1. Aaplicar funções de agregação como SUM(), AVG() e COUNT() com cláusulas GROUP BY para resumir e agregar os dados de forma eficiente.
  2. Bignorar o uso de índices ao executar consultas, já que a criação e a manutenção de índices são responsabilidades do administrador do banco de dados.
  3. Cusar comandos SELECT * em todas as consultas para garantir que todas as colunas sejam retornadas, facilitando a análise posterior.
  4. Dutilizar subconsultas (subqueries) complexas em vez de operações de junção (JOIN) para simplificar a lógica das consultas.
Revelar gabarito e comentário

GabaritoA — aplicar funções de agregação como SUM(), AVG() e COUNT() com cláusulas GROUP BY para resumir e agregar os dados de forma eficiente.

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”.

SQL – Funções de Agregação e GROUP BY para Análise Eficiente de Dados

Gabarito: letra A. A prática mais recomendável para extrair, transformar e analisar grandes volumes de dados em um banco relacional é aplicar funções de agregação como SUM(), AVG() e COUNT() com a cláusula GROUP BY, pois isso resume os dados em uma síntese de tupla única, reduzindo drasticamente o volume processado e tornando a análise mais eficiente e precisa. As demais alternativas apresentam práticas incorretas ou antiéticas em relação ao uso de SQL para análise de dados.

As funções de agregação são um dos pilares da análise de dados em SQL. Elas permitem condensar um grande conjunto de linhas em um único valor-resumo, o que é essencial quando se trabalha com grandes volumes de dados. As principais funções são COUNT, SUM, MAX, MIN e AVG. A sintaxe básica é SELECT FUNCAO(coluna) FROM tabela WHERE condição;. A cláusula GROUP BY é o complemento natural das funções de agregação: ela agrupa as linhas que possuem os mesmos valores em uma ou mais colunas, permitindo que a função de agregação seja aplicada a cada grupo separadamente. Por exemplo, para saber o total de vendas por região, usamos SELECT regiao, SUM(valor) FROM vendas GROUP BY regiao;. A cláusula HAVING pode ser usada para filtrar os grupos resultantes, funcionando como um WHERE para grupos.

A eficiência dessa abordagem vem do fato de que o processamento e a transferência de dados são minimizados: em vez de trazer milhões de linhas para a aplicação e agregá-las ali, o banco de dados faz o trabalho pesado e retorna apenas os resumos. Isso é fundamental em cenários de big data e análise de dados, onde a performance é crítica. A precisão também é garantida, pois as funções de agregação são implementadas de forma otimizada e confiável pelo SGBD.

A pegadinha desta questão está em distinguir as boas práticas de análise de dados das más práticas. A banca explora a confusão entre responsabilidades (índices são do DBA, mas o analista deve usá-los), entre a comodidade do SELECT * e a eficiência de selecionar apenas as colunas necessárias, e entre a complexidade desnecessária de subconsultas versus a clareza e eficiência dos JOINs. O candidato que entende o papel das funções de agregação e do GROUP BY na análise de dados identifica facilmente a alternativa correta.

Guarde o critério decisivo: para análise de grandes volumes, a prática recomendada é resumir e agregar os dados no banco, usando funções de agregação com GROUP BY, em vez de trazer todos os dados brutos para a aplicação. É exatamente essa fronteira que separa a alternativa correta das incorretas.

Análise eficiente em SQL
  • 1Boas práticas
    • Funções de agregação (SUM, AVG, COUNT)
    • GROUP BY (agrupa por critério)
    • HAVING (filtra grupos)
    • JOIN (combina tabelas)
    • Usar índices existentes
  • 2Más práticas
    • SELECT * (retorna colunas desnecessárias)
    • Ignorar índices
    • Subconsultas complexas no lugar de JOIN
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Esta é a prática recomendada. As funções de agregação (SUM, AVG, COUNT, MAX, MIN) resumem várias tuplas em uma síntese de tupla única, e a cláusula GROUP BY permite aplicar essas funções a grupos de dados. Isso torna as operações de análise eficientes (menos dados processados e transferidos) e precisas (agregação feita pelo SGBD). É exatamente o que um cientista de dados precisa ao trabalhar com grandes volumes de dados em um banco relacional.

Alternativa B — ❌ Incorreta

Ignorar o uso de índices é uma prática incorreta. Embora a criação e manutenção de índices seja responsabilidade do administrador do banco de dados (DBA), o analista deve usar os índices existentes para acelerar suas consultas. Ignorá-los pode levar a varreduras completas de tabela, tornando as consultas extremamente lentas em grandes volumes de dados. A alternativa confunde a responsabilidade de criar índices com a prática de utilizá-los.

Alternativa C — ❌ Incorreta

Usar SELECT * em todas as consultas é uma má prática. Retornar todas as colunas de uma tabela, mesmo aquelas que não são necessárias para a análise, aumenta o volume de dados transferidos e processados, degradando a performance. A prática recomendada é selecionar apenas as colunas relevantes para a análise, reduzindo a carga sobre o banco e a rede.

Alternativa D — ❌ Incorreta

Utilizar subconsultas complexas em vez de operações de junção (JOIN) não é recomendado. Embora subconsultas sejam úteis em alguns cenários, os JOINs são geralmente mais eficientes e legíveis para combinar dados de múltiplas tabelas. Subconsultas complexas podem ser mais difíceis de otimizar pelo SGBD e de entender pelo analista, prejudicando tanto a eficiência quanto a precisão da análise.

NÃO CAIA NESSA!

A banca tenta confundir o candidato ao misturar responsabilidades e boas práticas. Na alternativa B, ela troca a responsabilidade de criar índices (do DBA) com a prática de usá-los (do analista). Na alternativa D, ela inverte a recomendação geral: para combinar tabelas, JOIN é preferível a subconsultas complexas. Fique atento a essas inversões sutis — com treino, você as identifica rapidamente 💪.

PEGA ESSA DICA!

Para questões sobre análise de dados em SQL, lembre-se do fluxo: agregar (funções de agregação) + agrupar (GROUP BY) + filtrar grupos (HAVING). Essa é a tríade da análise eficiente. Compare com as más práticas: SELECT *, ignorar índices e subconsultas complexas. Se a alternativa mencionar uma dessas más práticas, elimine-a.

Gabarito: letra A

Link permanente: /questoes/ce403658