Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Mão na massa: gerenciamento escolar com banco de dados relacional

Desafio concluído.

SELECT p.nome_professor, t.Nome_Turma FROM Professores p
    JOIN Turmas t ON id_professor = id_professor_orientador;

SELECT a.Nome_Aluno, MAX(n.Nota) FROM Alunos a
    JOIN Notas n ON a.ID_Aluno = n.ID_Aluno
        GROUP by a.nome_aluno
    HAVING n.ID_Disciplina = 1
LIMIT 1;

SELECT COUNT(id_aluno) FROM Turma_Alunos
    GROUP BY id_turma;

SELECT ta.ID_Aluno, td.ID_Disciplina From Turma_Alunos ta 
    JOIN Turma_Disciplinas td ON ta.id_turma = td.id_disciplina;

CREATE VIEW view_alunos AS
    SELECT a.nome_aluno, d.nome_disciplina, n.nota
        FROM Alunos a 
    JOIN Notas n ON a.id_aluno = n.id_aluno
JOIN Disciplinas d ON n.ID_Disciplina = d.ID_Disciplina;

SELECT * FROM view_alunos
1 resposta
solução!

Boa tarde Breno! Tudo bem com você?

Meus parabéns pela conclusão do desafio e por compartilhar a sua resolução com a comunidade do fórum Alura. Gostaria de aproveitar a oportunidade e deixar uma recomendação de correção na query do exercício 4, pois ela está apresentando um resultado diferente do esperado. A consulta correta para listar os alunos e as disciplinas em que estão matriculados deve seguir o modelo abaixo:

SELECT A.Nome_Aluno, D.Nome_Disciplina
FROM Alunos A 
JOIN Turma_Alunos TA ON A.ID_Aluno = TA.ID_Aluno
JOIN Turma_Disciplinas TD ON TA.ID_Turma = TD.ID_Turma
JOIN Disciplinas D ON D.ID_Disciplina = TD.ID_Disciplina;

Onde nesta consulta temos:

  • Tabela Alunos (A): Contém informações dos alunos, como o nome.
  • Tabela Turma_Alunos (TA): Relaciona os alunos às turmas. Aqui é feito o primeiro JOIN, para conectar os alunos (A.ID_Aluno) às turmas (TA.ID_Aluno).
  • Tabela Turma_Disciplinas (TD): Relaciona as turmas às disciplinas. O segundo JOIN conecta as turmas (TA.ID_Turma) às disciplinas (TD.ID_Turma).
  • Tabela Disciplinas (D): Finalmente, obtemos o nome da disciplina conectando (D.ID_Disciplina) ao TD.ID_Disciplina.

Dessa forma, a consulta retorna corretamente o nome do aluno e a disciplina em que ele está matriculado. Como apresentado na imagem abaixo:

Imagem apresentando o resultado da query

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!