FC ConcursosFC Concursos

Questão FC90573

Tendo como referência o diagrama de entidade relacionamento precedente, julgue o próximo item, a respeito de linguagem de definição de dados e SQL. Considerando-se o diagrama apres

Linguagem SQL

CEBRASPE (CESPE)



Tendo como referência o diagrama de entidade relacionamento precedente, julgue o próximo item, a respeito de linguagem de definição de dados e SQL.

Considerando-se o diagrama apresentado, é correto afirmar que a execução das expressões SQL a seguir, em um SGBD PostgreSQL 9.4 ou superior, permite gerar o resultado apresentado na tabela mostrada imediatamente após a expressão.
 
insert into aluno values (1,'Fulano');
insert into aluno values (2,'Cicrano');
insert into aluno values (3,'Beltrano');
 
insert into disciplina (id, descricao) values
(1,'Matemática');
insert into disciplina (id, descricao) values
(3,'História');
insert into disciplina (id, descricao) values
(5,'Geografia');
 
insert into matricula (aluno, disciplina,
ano, nota) values (1, 1, 2020, 6.5);
insert into matricula (aluno, disciplina,
ano, nota) values (1, 3, 2020, 9.5);
insert into matricula (aluno, disciplina,
ano, nota) values (1, 5, 2020, 10.0);

insert into matricula (aluno, disciplina,
ano, nota) values (3, 3, 2020, 8.5);
insert into matricula (aluno, disciplina,
ano, nota) values (3, 1, 2020, 5.6);
insert into matricula (aluno, disciplina,
ano, nota) values (3, 5, 2020, 7.7);
 
SELECT *
FROM crosstab( $$
select a.nome, d.descricao, m.nota
from matricula m
left join aluno a on a.id=m.aluno
left join disciplina d on d.id=m.disciplina
order by 1,2
$$)
as final_result(
nome varchar,
geografia numeric,
historia numeric,
matematica numeric
);


Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

Comentário: Este item está CORRETO, pois a execução das expressões SQL apresentadas está coerente com o modelo entidade-relacionamento e a estrutura das tabelas definidas anteriormente. A consulta utiliza corretamente:</p>

  • Inserção de Dados:
    • INSERT INTO aluno e INSERT INTO disciplina inserem registros corretamente, garantindo integridade nas tabelas.
    • INSERT INTO matricula relaciona alunos e disciplinas corretamente, respeitando a chave primária composta (aluno, disciplina, ano).
  • Consulta com Junção e Agregação:
    • A consulta SQL utiliza LEFT JOIN para unir matricula, aluno e disciplina, garantindo que todos os alunos sejam listados, mesmo que não tenham matrículas em todas as disciplinas.
    • A cláusula ORDER BY 1,2 organiza os resultados pelo nome do aluno e ordem das disciplinas.
    • A função COUNT() é usada corretamente para agregar os resultados.
  • Apresentação dos Dados:
    • A saída gerada na tabela final está de acordo com os registros inseridos, exibindo os alunos e suas respectivas notas organizadas por disciplina.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo