Pular para o conteúdo principal

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

Banco de DadosConsultas e Comandos em SQL
Código
ce417303
Banca
CESPE / CEBRASPE
Órgão
EMBRAPA
Ano
2025
Cargo
Ana ( )
Com base no diagrama entidade-relacionamento (DER) e no modelo relacional (MR), anteriormente apresentados, julgue o item a seguir.   Se a implementação do MR for realizada em um banco de dados relacional e o atributo A4 for um número inteiro, a consulta a seguir retornará corretamente a soma de A4 que cada elemento de A possui cadastrado na tabela A4.   SELECT A1, COUNT(A4) FROM A4 GROUP BY A1;Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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 Agrupamento

Gabarito: Errado. A consulta apresentada utiliza a função COUNT(A4), que conta o número de registros (linhas) em cada grupo, e não a soma dos valores do atributo A4. Para retornar a soma dos valores de A4 por elemento de A, a função correta seria SUM(A4). A fonte dessa distinção é a própria semântica das funções de agregação do SQL, conforme documentado na literatura de bancos de dados.

A questão cobra o entendimento das funções de agregação do SQL, especificamente a diferença entre COUNT e SUM. COUNT é uma função que retorna o número de linhas que atendem a um critério, enquanto SUM retorna a soma dos valores de uma coluna numérica. No contexto do enunciado, o atributo A4 é um número inteiro, e o objetivo declarado é obter a soma de A4 para cada elemento de A. A consulta, no entanto, usa COUNT(A4), que contaria quantas ocorrências de A4 existem para cada valor de A1, não a soma desses valores.

Para ilustrar, suponha que a tabela A4 tenha os seguintes registros: (A1=1, A4=10), (A1=1, A4=20), (A1=2, A4=5). A consulta SELECT A1, COUNT(A4) FROM A4 GROUP BY A1; retornaria:

A1

COUNT(A4)

1

2

2

1

Enquanto a consulta correta para a soma seria SELECT A1, SUM(A4) FROM A4 GROUP BY A1;, que retornaria:

A1

SUM(A4)

1

30

2

5

A pegadinha da banca está em trocar a função de agregação: o candidato pode ler rapidamente e assumir que COUNT soma, mas COUNT apenas conta. A distinção entre COUNT e SUM é fundamental e recorrente em provas de banco de dados.

NÃO CAIA NESSA!

A banca troca a função de agregação: COUNT conta linhas, SUM soma valores. O enunciado pede a soma de A4, mas a consulta usa COUNT(A4). Fique atento: se a pergunta é sobre soma, a função deve ser SUM; se é sobre quantidade, COUNT.

Item — ❌ Errado

A consulta SELECT A1, COUNT(A4) FROM A4 GROUP BY A1; retorna a quantidade de registros de A4 para cada valor de A1, não a soma dos valores de A4. Para atender ao que o enunciado descreve (soma de A4 por elemento de A), a função correta seria SUM(A4). Portanto, a afirmação está incorreta.

Gabarito: Errado

Link permanente: /questoes/ce417303