Questão nº 58

Questão de Tecnologia da Informação · FGV STN 2024 (nº 58)

FGV2024Auditor Federal de Finanças e Controle - Tecnologia da Informação (Transformação Digital)Tecnologia da Informação
Gabarito: Cver comentário ↓

ATENÇÃO: use a tabela relacional IPCA a seguir para responder às quatro próximas questões.

Tabela IPCA

Figura da questão de Tecnologia da Informação

A instância da tabela contém os valores do índice IPCA para todos os meses dos anos de 2001 até 2023. Os valores pontilhados representam a continuidade mensal da série. Todas as colunas são numéricas, e não aceitam valores nulos.


No contexto da tabela IPCA apresentada, o comando SQL a seguir produz o índice acumulado a cada ano, que é obtido pela multiplicação acumulativa de um conjunto de termos da forma (1 + i/100), onde i é o valor do índice em cada um dos doze meses de cada ano.

select
  Y.ano,
  (1+  m1.indice/100) * (1+  m2.indice/100) *
  (1+  m3.indice/100) * (1+  m4.indice/100) *
  (1+  m5.indice/100) * (1+  m6.indice/100) *
  (1+  m7.indice/100) * (1+  m8.indice/100) *
  (1+  m9.indice/100) * (1+ m10.indice/100) *
  (1+ m11.indice/100) * (1+ m12.indice/100) índice

from IPCA m1, IPCA m2,  IPCA m3,  IPCA m4,
     IPCA m5, IPCA m6,  IPCA m7,  IPCA m8,
     IPCA m9, IPCA m10, IPCA m11, IPCA m12,
     . . . . . . . .  Y
where
     m12.mes =12 and m11.mes=11 and m10.mes=10
 and m9.mes  =9  and m8.mes =8  and m7.mes=7
 and m6.mes  =6  and m5.mes =5  and m4.mes=4
 and m3.mes  =3  and m2.mes =2  and m1.mes=1

 and m12.ano = m11.ano and m11.ano = m10.ano
 and m10.ano =  m9.ano and m9.ano  = m8.ano
 and m8.ano  =  m7.ano and m7.ano  = m6.ano
 and m6.ano  =  m5.ano and m5.ano  = m4.ano
 and m4.ano  =  m3.ano and m3.ano  = m2.ano
 and m2.ano  =  m1.ano
 and m1.ano  =  Y.ano
order by 1

Assinale o trecho que deve substituir o trecho pontilhado do comando acima, de modo que o cálculo e a apresentação sejam produzidos corretamente.

Resposta comentada

Gabarito Alternativa C

Para calcular um valor para cada grupo único (como cada ano), é fundamental garantir que a fonte de dados para esses grupos forneça apenas os identificadores únicos. Isso evita cálculos redundantes ou resultados duplicados ao combinar com outras partes da consulta.

(A) Incorreta: Esta alternativa modifica os valores dos anos (`ano - 2021`), o que faria com que a condição de junção `m1.ano = Y.ano` não encontrasse correspondência com os anos originais da tabela `IPCA`, resultando em um conjunto de resultados vazio ou incorreto.
(B) Incorreta: Esta subconsulta (`select ano from IPCA`) retornaria cada ano tantas vezes quanto há meses para aquele ano na tabela `IPCA` (12 vezes para cada ano). Ao fazer a junção `m1.ano = Y.ano`, cada cálculo anual seria duplicado 12 vezes no resultado final, gerando linhas repetidas para cada ano. A armadilha aqui é que, embora pareça obter os anos, ela os obtém com redundância, levando a resultados incorretos.
(C) Correta: Esta subconsulta (`select distinct ano from IPCA`) retorna uma lista de todos os anos únicos presentes na tabela `IPCA`, cada um aparecendo apenas uma vez. Ao usar `Y.ano` na cláusula `SELECT` e na condição de junção `m1.ano = Y.ano`, garante-se que o índice acumulado seja calculado e apresentado corretamente para cada ano, sem duplicações.
(D) Incorreta: Esta alternativa (`select distinct ano, mes from IPCA`) retorna combinações únicas de ano e mês. A variável `Y` no comando SQL é utilizada apenas para obter o `ano` (`Y.ano`) e para a junção com `m1.ano`. Incluir o `mes` na subconsulta de `Y` é desnecessário e não se alinha com o propósito de `Y` de representar apenas os anos para agregação.
(E) Incorreta: Embora conceitualmente correta em termos de quais dados selecionar (`distinct ano`), esta alternativa está sintaticamente incorreta para ser usada como uma tabela na cláusula `FROM` na maioria dos SGBDs. Uma subconsulta na cláusula `FROM` deve ser envolvida por parênteses, como na alternativa (C). O comando `select distinct ano from IPCA` por si só é uma instrução `SELECT` completa, não um alias de tabela.

Fonte: FGV STN 2024 Auditor Federal de Finanças e Controle - Tecnologia da Informação (Transformação Digital) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho