QuestLab Plataforma Inteligente de Questões
Questão pública

Questão de Tecnologia da Informação

CESGRANRIO - UNIRIO - Técnico em Tecnologia da Informação - 2019 • CESGRANRIO • 2019

Texto associado

Texto-base

Considere as informações a seguir para responder às questões de nos 56 e 57.

O esquema relacional a seguir define um banco de dados, que contém os resultados das provas de natação dos Jogos Pan-americanos de 2019. Os nomes das tabelas e dos campos são autoexplicativos, permitindo, assim, entender a organização dos dados. As únicas exceções são os campos TEMPO_INDV e TEMPO, presentes na tabela RESULTADO. Eles existem porque em provas de revezamento são registrados os tempos (TEMPO_INDV) de cada um dos 4 membros da equipe e o tempo total (TEMPO) gasto pela equipe para completar a prova. Em provas individuais, o campo TEMPO_INDV recebe o valor nulo (NULL), enquanto o tempo gasto pelo atleta para completar a prova é registrado no campo TEMPO.

CREATE TABLE ATLETA (
NUMERO NUMBER(5,0) NOT NULL,
NOME VARCHAR2(50) NOT NULL,
PAIS CHAR(3) NOT NULL,
CONSTRAINT ATLETA_PK PRIMARY KEY (NUMERO))

CREATE TABLE PROVA (
CODIGO CHAR(5) NOT NULL,
DESCRICAO VARCHAR2(30) NOT NULL,
CONSTRAINT PROVA_PK PRIMARY KEY (CODIGO))

CREATE TABLE RESULTADO (
NUM_ATL NUMBER(5,0) NOT NULL,
COD_PRV CHAR(5) NOT NULL,
COLOCACAO NUMBER(2,0) NOT NULL,
TEMPO_INDV VARCHAR2(8),
TEMPO VARCHAR2(8) NOT NULL,
CONSTRAINT RESULTADO_PK PRIMARY KEY (NUM_ATL,COD_PRV),
CONSTRAINT RES_FK1 FOREIGN KEY (NUM_ATL)
REFERENCES ATLETA (NUMERO)
CONSTRAINT RES_FK2 FOREIGN KEY (COD_PRV)
REFERENCES PROVA (CODIGO))
Deseja-se conhecer os nomes dos nadadores brasileiros (PAIS='BRA') que conquistaram medalhas de ouro
(COLOCACAO=1), juntamente com a quantidade de medalhas de ouro que cada um conquistou. Os dados devem estar
ordenados em ordem decrescente de número de medalhas conquistadas.

Qual consulta SQL executa o que foi pedido?
A
SELECT A.NOME, COUNT(*) FROM ATLETA A, RESULTADO R
WHERE A.NUMERO=R.NUM_ATL AND R.COLOCACAO=1 AND A.PAIS='BRA'
GROUP BY A.NUMERO
ORDER BY COUNT(*) DESC
B
SELECT A.NOME, COUNT(*) FROM RESULTADO R, ATLETA A
WHERE A.NUMERO=R.NUM_ATL AND R.COLOCACAO=1 AND A.PAIS='BRA'
ORDER BY COUNT(R.COLOCACAO) DESC
C
SELECT NOME, COUNT(*)
FROM RESULTADO, ATLETA
WHERE NUMERO=NUM_ATL AND COLOCACAO=1 AND PAIS='BRA'
GROUP BY NOME

ORDER BY COUNT(*) DESC
D
SELECT A.NOME, COUNT(*)
FROM ATLETA A, RESULTADO R
HAVING A.NUMERO=NUM_ATL AND R.COLOCACAO=1 AND A.PAIS='BRA'
GROUP BY A.NOME
ORDER BY COUNT(*) DESC
E
SELECT A.NOME, COUNT(*)
FROM ATLETA A, RESULTADO R
WHERE A.NUMERO=NUM_ATL AND R.COLOCACAO=1
GROUP BY A.NOME
HAVING A.PAIS='BRA'
ORDER BY COUNT(*) DESC
Quer responder esta questão e acompanhar seu desempenho?

Entre na QuestLab para responder, acessar a AURA, estatísticas, cadernos, anotações e outros recursos da plataforma.