CREATE TABLE tabelaalunos
(ID_alunos INT PRIMARY KEY,
nome_aluno VARCHAR(100) NOT NULL,
data_nascimento DATE NOT NULL,
genero VARCHAR(20),
endereco VARCHAR(200),
telefone VARCHAR(15),
email VARCHAR(100) UNIQUE
);
CREATE TABLE tabelaprofessores
(id_professor INT PRIMARY KEY,
nome_professor VARCHAR(100) not NULL,
data_nascimento DATE NOT NULL,
genero VARCHAR(20),
telefone VARCHAR(15),
email VARCHAR(100) UNIQUE
);
CREATE TABLE tabeladisciplinas
( id_disciplina INT PRIMARY KEY,
nome_disciplina VARCHAR(100) NOT NULL,
descricao TEXT,
carga_horaria INT,
id_professor INT,
FOREIGN key (id_professor) REFERENCES tabelaprofessores(id_professor)
);
CREATE TABLE tabelaturmas
(id_turma INT PRIMARY KEY,
nome_turma VARCHAR(100) not NULL,
ano_letivo INT NOT NULL,
id_professor_orientador INT,
FOREIGN key (id_professor_orientador) REFERENCES tabelaprofessores(id_professor)
);
CREATE TABLE tabela_turmas_disciplinas
(id_turma INT,
id_disciplina INT,
PRIMARY KEY (id_turma, id_disciplina),
FOREIGN KEY (id_turma) REFERENCES tabelaturmas(id_turma),
FOREIGN KEY (id_disciplina) REFERENCES tabeladisciplinas(id_disciplina)
);
CREATE TABLE tabela_turmas_alunos
(id_turma INT,
id_aluno INT,
PRIMARY key (id_turma, id_aluno),
FOREIGN key (id_turma) REFERENCES tabelaturmas(id_turma),
FOREIGN key (id_aluno) REFERENCES tabelaalunos(id_aluno)
);
CREATE TABLE tabelanotas
(id_nota INT PRIMARY KEY,
id_aluno INT,
id_disciplina INT,
valor_da_nota NUMERIC(5,2),
data_da_avaliacao DATE,
FOREIGN key (id_aluno) REFERENCES tabelaalunos(id_aluno),
FOREIGN key (id_disciplina) REFERENCES tabeladisciplinas(id_disciplina)
);
INSERT into tabelaalunos
VALUES
('1', 'João Silva', '005-03-15', 'Masculino' , 'Rua das Flores, 123', '(11) 9876-5432', 'joao@email.com'),
('2', 'Maria Santos', '2006-06-20', 'Feminino', 'Avenida Principal, 456', '(11) 8765-4321', 'maria@email.com'),
('3','Pedro Soares', '2004-01-10' , 'Masculino', 'Rua Central, 789', '(11) 7654-3210','pedro@email.com');
INSERT into tabelaprofessores
VALUES
('1', 'Ana Oliveira', '1980-05-25', 'Feminino', '(11) 1234-5678', 'ana@email.com'),
('2', 'Carlos Ferreira', '1975-09-12', 'Masculino', '(11) 2345-6789', 'carlos@email.com'),
('3', 'Mariana Santos', '1982-03-15', 'Feminino', '(11) 3456-7890', 'mariana@email.com');
INSERT INTO tabeladisciplinas
values
('1','Matemática', 'Estudo de conceitos matemáticos avançados', '60', '1'),
('2','História', 'História mundial e local', '45', '2'),
('3','Física', 'Princípios fundamentais da física', '60', '1');
INSERT INTO tabelaturmas
VALUES
('1', 'Turma A', '2023', '1'),
('2', 'Turma B', '2023', '2'),
('3', 'Turma C', '2023', '3');
INSERT INTO tabela_turmas_disciplinas
VALUES
('1', '1'),
('2', '2'),
('3', '3');
INSERT into tabela_turmas_alunos
VALUES
('1', '1'),
('2', '2'),
('3', '3');
INSERT INTO tabelanotas
values
('2', '1', '1', 6.19, '07/07/2023'),
('3', '1', '2', 7.18, '07/07/2023'),
('4', '1', '3', 7.47, '07/07/2023');
SELECT * from //nome da tabela
SELECT * from tabelaalunos ORDER by nome_aluno;
SELECT nome_disciplina,carga_horaria FROM tabeladisciplinas WHERE carga_horaria > 40;
SELECT * from tabelanotas WHERE valor_da_nota BETWEEN 6 and 8;