Abaixo em partes as criações de tabelas, inserção de dados e consulta
CREATE TABLE Alunos
(id_aluno INT PRIMARY KEY,
nome_aluno VARCHAR(255),
data_de_nascimento DATE,
genero VARCHAR(15),
endereco TEXT,
telefone VARCHAR(20),
email VARCHAR(255))
CREATE TABLE Professores
(id_professor INT PRIMARY KEY,
nome_professor VARCHAR(255),
data_de_nascimento DATE,
genero VARCHAR(15),
telefone VARCHAR(20),
email VARCHAR(255))
DROP TABLE Professores
CREATE TABLE Disciplinas
(id_disciplina INT PRIMARY key,
nome_disciplina VARCHAR(100),
descricao TEXT,
carga_horaria INT,
id_professor INT,
FOREIGN KEY (id_professor) REFERENCES Professores(id_professor))
CREATE TABLE Turmas
(id_turma INT PRIMARY KEY,
nome_turma VARCHAR(100),
ano_letivo INT,
id_professor_orientador INT,
FOREIGN KEY (id_professor_orientador) REFERENCES Professores(id_professor))
CREATE TABLE Turma_Disciplinas
(id_turma INT,
id_disciplina INT,
PRIMARY key (id_turma, id_disciplina),
FOREIGN KEY (id_turma) REFERENCES Turmas(id_turma),
FOREIGN KEY (id_disciplina) REFERENCES Disciplinas(id_disciplina))
CREATE Table Turma_Alunos
(id_turma INT,
id_aluno INT,
PRIMARY KEY (id_turma, id_aluno),
FOREIGN KEY (id_turma) REFERENCES Turmas(id_turma),
FOREIGN KEY (id_aluno) REFERENCES Alunos(id_aluno))
CREATE TABLE Notas
(id_nota INT PRIMARY KEY,
id_aluno INT,
id_disciplina INT,
nota INT,
data_da_avaliacao DATE,
FOREIGN key (id_aluno) REFERENCES Alunos(id_aluno),
FOREIGN KEY (id_disciplina) REFERENCES Disciplinas(id_disciplina))