CREATE TABLE Turmas_Disciplinas (
id_turma INT,
id_disciplina INT,
PRIMARY KEY (id_turma, id_disciplina),
FOREIGN KEY (id_turma) REFERENCES Turmas (id_turma)ON DELETE CASCADE,
FOREIGN KEY (id_disciplina) REFERENCES Disciplinas (id_disciplina) ON DELETE CASCADE
);
INSERT INTO Turmas_Disciplinas (
id_turma,
id_disciplina)
VALUES
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(1, 3),
(2, 1),
(3, 2);
SELECT * FROM Turmas_Disciplinas;
CREATE TABLE Turmas_Alunos (
id_turma INT,
id_aluno INT,
PRIMARY KEY (id_turma, id_aluno),
FOREIGN KEY (id_turma) REFERENCES Turmas (id_turma) ON DELETE CASCADE,
FOREIGN KEY (id_aluno) REFERENCES Alunos (id_aluno) ON DELETE CASCADE
);
INSERT INTO Turmas_Alunos (
id_turma,
id_aluno)
VALUES
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(1, 6),
(2, 7),
(3, 8),
(4, 9),
(5, 10);
SELECT * FROM Turmas_Alunos;
CREATE TABLE Notas (
id_nota INT PRIMARY KEY,
id_disciplina INT,
id_aluno INT,
valor_nota DECIMAL (4,2),
data_avaliacao DATE,
FOREIGN KEY (id_aluno) REFERENCES Alunos (id_aluno) ON DELETE CASCADE,
FOREIGN KEY (id_disciplina) REFERENCES Disciplinas (id_disciplina) ON DELETE CASCADE
);
INSERT INTO Notas (
id_nota,
id_disciplina,
id_aluno,
valor_nota,
data_avaliacao)
VALUES
(2, 1, 1, 6.19, '2023-07-07'),
(3, 1, 2, 7.18, '2023-07-07'),
(4, 1, 3, 7.47, '2023-07-07'),
(5, 1, 4, 7.46, '2023-07-07'),
(6, 1, 5, 4.35, '2023-07-07'),
(7, 1, 6, 4.43, '2023-07-07'),
(8, 1, 7, 0.76, '2023-07-07'),
(9, 1, 8, 9.22, '2023-07-07'),
(10, 1, 9, 9.04, '2023-07-07'),
(11, 1, 10, 3.28, '2023-07-07'),
(12, 2, 1, 1.34, '2023-07-09'),
(13, 2, 2, 3.1, '2023-07-09'),
(14, 2, 3, 1.66, '2023-07-09'),
(15, 2, 4, 0.03, '2023-07-09'),
(16, 2, 5, 4.34, '2023-07-09'),
(17, 2, 6, 4.02, '2023-07-09'),
(18, 2, 7, 8.79, '2023-07-09'),
(19, 2, 8, 1.17, '2023-07-09'),
(20, 2, 9, 8.26, '2023-07-09'),
(21, 2, 10, 3.41, '2023-07-09'),
(22, 3, 1, 6.82, '2023-07-27'),
(23, 3, 2, 8.21, '2023-07-27'),
(24, 3, 3, 1.3, '2023-07-27'),
(25, 3, 4, 4.01, '2023-07-27'),
(26, 3, 5, 0.25, '2023-07-27'),
(27, 3, 6, 6.63, '2023-07-27'),
(28, 3, 7, 9.74, '2023-07-27'),
(29, 3, 8, 3.77, '2023-07-27'),
(30, 3, 9, 0.58, '2023-07-27'),
(31, 3, 10, 8.52, '2023-07-27'),
(32, 4, 1, 8.37, '2023-08-08'),
(33, 4, 2, 0.26, '2023-08-08'),
(34, 4, 3, 5.95, '2023-08-08'),
(35, 4, 4, 6.98, '2023-08-08'),
(36, 4, 5, 6.18, '2023-08-08'),
(37, 4, 6, 4.79, '2023-08-08'),
(38, 4, 7, 7.96, '2023-08-08'),
(39, 4, 8, 0.62, '2023-08-08'),
(40, 4, 9, 7.77, '2023-08-08'),
(41, 4, 10, 5.81, '2023-08-08'),
(42, 5, 1, 2.25, '2023-08-15'),
(43, 5, 2, 5.82, '2023-08-15'),
(44, 5, 3, 4.11, '2023-08-15'),
(45, 5, 4, 7.99, '2023-08-01'),
(46, 5, 5, 3.23, '2023-08-15'),
(47, 5, 6, 8.09, '2023-08-15'),
(48, 5, 7, 8.24, '2023-08-15'),
(49, 5, 8, 3.33, '2023-08-15'),
(50, 5, 9, 4.24, '2023-08-15'),
(51, 5, 10, 0.11, '2023-08-15');
SELECT * FROM Notas;
SELECT COUNT(*) FROM Alunos;
SELECT COUNT(*) FROM Professores;
SELECT COUNT(*) FROM Disciplinas;
SELECT COUNT(*) FROM Turmas;
SELECT COUNT(*) FROM Turmas_Disciplinas;
SELECT COUNT(*) FROM Turmas_Alunos;
SELECT COUNT(*) FROM Notas;
SELECT * FROM Alunos ORDER BY nome_aluno ASC;
SELECT * FROM Disciplinas WHERE carga_horaria > 40;
SELECT * FROM Notas WHERE valor_nota > 6 AND valor_nota < 8;
DROP TABLE Notas;
DROP TABLE Turmas_Alunos;
DROP TABLE Turmas_Disciplinas;
DROP TABLE Disciplinas;
DROP TABLE Turmas;
DROP TABLE Alunos;
DROP TABLE Professores;