Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 1/7 Avaliação Virtual (Quiz) n. 10 Entrega 29 de nov de 2020 em 23:59 Pontos 2 Perguntas 4 Disponível 17 de nov de 2020 em 7:00 - 29 de nov de 2020 em 23:59 13 dias Limite de tempo Nenhum Este teste não está mais disponível, pois o curso foi concluído. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 16.088 minutos 2 de 2 Pontuação deste teste: 2 de 2 Enviado 28 de nov de 2020 em 12:00 Esta tentativa levou 16.088 minutos. 0,5 / 0,5 ptsPergunta 1 Considere que uma competição de esportes individuais possui vários atletas. Um esporte tem vários atletas competindo e para efeito de simplificação, um(a) atleta compete em apenas um único esporte. Para tanto, foram modeladas as seguintes tabelas com a PK grifada: ESPORTE (COD_ESPORTE, NOME_ESPORTE) ATLETA (COD_ATLETA, NOME_ATLETA, PAIS_ATLETA, QTDE_MEDALHAS, VALOR_PREMIOS, COD_ESPORTE (FK)) O organizador da competição solicitou uma consulta que liste a quantidade de atletas por nome do esporte, mas apenas para os esportes com mais de 50 atletas, em ordem decrescente da quantidade. O comando SQL-DML que gera tais dados é: (Marque a alternativa correta). https://pucminas.instructure.com/courses/45730/quizzes/81248/history?version=1 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 2/7 SELECT NOME_ESPORTE, COUNT(COD_ATLETA) AS QTDE FROM ESPORTE A JOIN ATLETA B ON A.COD_ESPORTE = B.COD_ESPORTE GROUP BY NOME_ESPORTE HAVING COUNT(COD_ATLETA) > 50 ORDER BY QTDE DESC Correto!Correto! SELECT NOME_ESPORTE, COUNT(*) AS QTDE FROM ESPORTE A RIGHT JOIN ATLETA B ON A.COD_ESPORTE = B.COD_ESPORTE WHERE COD_ESPORTE IN (SELECT COD_ESPORTE FROM ATLETA WHERE COUNT(COD_ATLETA) > 50 ) ORDER BY 2 DESC SELECT NOME_ESPORTE, COUNT(COD_ATLETA) AS QTDE FROM ESPORTE, ATLETA B WHERE COUNT(COD_ATLETA) > 50 GROUP BY NOME_ESPORTE ORDER BY COUNT(COD_ATLETA) DESC SELECT NOME_ESPORTE, COUNT(*) AS QTDE FROM ESPORTE A JOIN ATLETA B ON A.COD_ESPORTE = B.COD_ESPORTE HAVING COUNT(COD_ATLETA) > 50 ORDER BY 2 DESC 0,5 / 0,5 ptsPergunta 2 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 3/7 Considere que uma competição de esportes individuais possui vários atletas. Um esporte tem vários atletas competindo e, para efeito de simplificação, um(a) atleta compete em apenas um único esporte. Para tanto, foram modeladas as seguintes tabelas com a PK grifada: ESPORTE (COD_ESPORTE, NOME_ESPORTE) ATLETA (COD_ATLETA, NOME_ATLETA, PAIS_ATLETA, QTDE_MEDALHAS, VALOR_PREMIOS, COD_ESPORTE (FK)) O organizador da competição solicitou uma consulta que liste os distintos nomes de países que possuem atletas do esporte 'Natação', mas não possuem atletas do esporte 'Atletismo'.O comando SQL-DML que gera tais dados é: (Marque a alternativa correta). SELECT DISTINCT PAIS_ATLETA FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND NOME_ESPORTE = 'NATACAO' AND NOME_ESPORTE <> 'ATLETISMO' SELECT DISTINCT PAIS_ATLETA FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND NOME_ESPORTE = 'NATACAO' AND PAIS_ATLETA IN (SELECT PAIS_ATLETA FROM ESPORTE C, ATLETA D WHERE C.COD_ESPORTE = D.COD_ESPORTE AND NOME_ESPORTE = 'ATLETISMO' ) 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 4/7 SELECT DISTINCT PAIS_ATLETA FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND NOME_ESPORTE = 'NATACAO' AND NOT EXISTS (SELECT PAIS_ATLETA FROM ESPORTE C, ATLETA D WHERE C.COD_ESPORTE = D.COD_ESPORTE AND NOME_ESPORTE = 'ATLETISMO' AND D.PAIS_ATLETA = B.PAIS_ATLETA) Correto!Correto! SELECT DISTINCT PAIS_ATLETA FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND NOME_ESPORTE = 'NATACAO' AND NOT EXISTS (SELECT PAIS_ATLETA FROM ESPORTE C, ATLETA D WHERE C.COD_ESPORTE = D.COD_ESPORTE AND NOME_ESPORTE = 'ATLETISMO' AND D.COD_ESPORTE = B.COD_ESPORTE) 0,5 / 0,5 ptsPergunta 3 Considere que uma competição de esportes individuais possui vários atletas. Um esporte tem vários atletas competindo e, para efeito de simplificação, um(a) atleta compete em apenas um único esporte. Para tanto, foram modeladas as seguintes tabelas com a PK grifada: ESPORTE (COD_ESPORTE, NOME_ESPORTE) ATLETA (COD_ATLETA, NOME_ATLETA, PAIS_ATLETA, QTDE_MEDALHAS, VALOR_PREMIOS, COD_ESPORTE (FK)) 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 5/7 O organizador da competição solicitou uma consulta que liste os nomes dos esportes, nomes dos atletas e valor dos prêmios dos atletas que possuem valor de prêmios acima da média dos valores de prêmios do seu respectivo esporte, em ordem alfabética do nome do esporte e do nome do atleta.O comando SQL-DML que gera tais dados é: (Marque a alternativa correta). SELECT NOME_ESPORTE, NOME_ATLETA, VALOR_PREMIOS FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE GROUP BY NOME_ESPORTE HAVING VALOR_PREMIOS > AVG (VALOR_PREMIOS) ORDER BY NOME_ESPORTE, NOME_ATLETA SELECT NOME_ESPORTE, NOME_ATLETA, VALOR_PREMIOS FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND VALOR_PREMIOS > (SELECT AVG (VALOR_PREMIOS) FROM ATLETA C ) ORDER BY 1, 2 SELECT NOME_ESPORTE, NOME_ATLETA, VALOR_PREMIOS FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND VALOR_PREMIOS > (SELECT AVG (VALOR_PREMIOS) FROM ATLETA C WHERE C.COD_ESPORTE = B.COD_ESPORTE) ORDER BY 1, 2 Correto!Correto! 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 6/7 SELECT NOME_ESPORTE, NOME_ATLETA, VALOR_PREMIOS FROM ESPORTE A JOIN ATLETA B ON A.COD_ATLETA = B.COD_ATLETA WHERE A.COD_ESPORTE = B.COD_ESPORTE AND VALOR_PREMIOS > (SELECT AVG (VALOR_PREMIOS) FROM ATLETA C WHERE C.PAIS_ATLETA = B.PAIS_ATLETA) ORDER BY NOME_ESPORTE, NOME_ATLETA 0,5 / 0,5 ptsPergunta 4 Considere que uma competição de esportes individuais possui vários atletas. Um esporte tem vários atletas competindo e, para efeito de simplificação, um(a) atleta compete em apenas um único esporte. Para tanto, foram modeladas as seguintes tabelas com a PK grifada: ESPORTE (COD_ESPORTE, NOME_ESPORTE) ATLETA (COD_ATLETA, NOME_ATLETA, PAIS_ATLETA, QTDE_MEDALHAS, VALOR_PREMIOS, COD_ESPORTE (FK)) O organizador da competição solicitou uma consulta que liste o somatório do valor de prêmios por nome do país dos seguintes países Brasil, Rússia, Alemanha e China, em ordem decrescente do somatório.O comando SQL-DML que gera tais dados da maneira mais eficiente é: (Marque a alternativa correta). SELECT PAIS_ATLETA, SUM (VALOR_PREMIOS) AS SOMA FROM ESPORTE A, ATLETA B WHERE A.COD_ESPORTE = B.COD_ESPORTE AND PAIS_ATLETA IN ('BRASIL', 'RUSSIA', 'ALEMANHA', 'CHINA') ORDER BY SOMA DESC 08/11/2021 11:56 Avaliação Virtual (Quiz) n. 10: Bancos de Dados - Engenharia de Computação - Campus Coração Eucarístico - PMG - Noite … https://pucminas.instructure.com/courses/45730/quizzes/81248 7/7 SELECT PAIS_ATLETA, SUM (VALOR_PREMIOS) AS SOMA FROM ATLETA GROUP BY PAIS_ATLETA HAVING PAIS_ATLETA IN ('BRASIL', 'RUSSIA', 'ALEMANHA', 'CHINA') ORDER BY SOMA DESC SELECT PAIS_ATLETA, SUM (VALOR_PREMIOS) AS SOMA FROM ATLETA WHERE PAIS_ATLETAIN ('BRASIL', 'RUSSIA', 'ALEMANHA', 'CHINA') GROUP BY PAIS_ATLETA ORDER BY SOMA DESC Correto!Correto! SELECT PAIS_ATLETA, COUNT (VALOR_PREMIOS) AS SOMA FROM ATLETA WHERE PAIS_ATLETA IN ('BRASIL', 'RUSSIA', 'ALEMANHA', 'CHINA') GROUP BY PAIS_ATLETA ORDER BY 2 DESC Pontuação do teste: 2 de 2
Compartilhar