Pular para o conteúdo principal

Questão de Banco de Dados — OLAP (On-line Analytical Processing) — CESGRANRIO 2024

Banco de DadosOLAP (On-line Analytical Processing)
Código
cg021306
Banca
CESGRANRIO
Órgão
Banco da Amazônia
Ano
2024
Nível
Superior
Cargo
Técnico Científico - Tecnologia da Informação
Um gerente executivo de um grande banco deseja estudar o investimento feito pelos clientes pessoas físicas, considerando o valor investido em reais, com detalhamento por tipo de investimento e agência. Para isso, encomendou um painel OLAP, no qual a tela inicial deve ser o valor, em reais, da soma do investimento de todos os clientes de cada agência, listados por agência, agregando todos os tipos de investimento, na forma de um relatório em tela com duas colunas: Nome da Agência e Valor Total Investido.Considere que as seguintes visões estão disponíveis:Agencia(idAgencia,nomeAgencia)Cliente(idCliente,nomeCliente)Conta(idCliente,idAgencia,idConta)TipoInvestimento(idTipoInvestimento,nomeInvestimento)Investimento(idConta,idTipoInvestimento,valorInvestido)Nesse contexto, considerando-se o uso do banco de dados MySQL, que consulta SQL fornece corretamente os dados para a tela inicial desejada?
  1. ASELECT a.nomeAgencia AS Agencia, i.valorInvestido AS ValorTotalInvestido FROM Agencia a JOIN Conta c ON a.idAgencia = c.idAgencia JOIN Investimento i ON c.idConta = i.idConta GROUP BY a.nomeAgencia;
  2. BSELECT a.nomeAgencia AS Agencia, SUM(i.valorInvestido) AS ValorTotalInvestido FROM Agencia a JOIN Conta c ON a.idAgencia = c.idAgencia JOIN Investimento i ON c.idConta = i.idConta GROUP BY c.idCliente;
  3. CSELECT a.nomeAgencia AS Agencia, SUM(i.valorInvestido) AS ValorTotalInvestido FROM Agencia a JOIN Conta c ON a.idAgencia = c.idAgencia JOIN Investimento i ON c.idCliente = i.idConta GROUP BY a.nomeAgencia;
  4. DSELECT a.nomeAgencia AS Agencia, SUM(i.valorInvestido) AS ValorTotalInvestido FROM Agencia a JOIN Conta c ON a.idAgencia = c.idAgencia JOIN Investimento i ON c.idConta = i.idConta GROUP BY a.nomeAgencia;
Revelar gabarito e comentário

GabaritoD — SELECT a.nomeAgencia AS Agencia, SUM(i.valorInvestido) AS ValorTotalInvestido FROM Agencia a JOIN Conta c ON a.idAgencia = c.idAgencia JOIN Investimento i ON c.idConta = i.idConta GROUP BY a.nomeAgencia;

Link permanente: /questoes/cg021306