CREATE TABLE departamento (
id_depto INT NOT NULL,
nome VARCHAR(50) NOT NULL,
PRIMARY KEY (id_depto)
);
CREATE TABLE professor (
id_professor INT NOT NULL,
nome VARCHAR(100) NOT NULL,
cpf CHAR(11) NOT NULL,
data_nasc DATE NOT NULL,
id_depto INT NOT NULL,
PRIMARY KEY (id_professor),
UNIQUE (cpf),
CONSTRAINT FK_professor_departamento
FOREIGN KEY (id_depto)
REFERENCES departamento (id_depto)
);
CREATE TABLE curso (
id_curso INT NOT NULL,
nome VARCHAR(100) NOT NULL,
duracao INT,
data_inicio DATE,
data_final DATE,
PRIMARY KEY (id_curso)
);
CREATE TABLE aluno_tipobolsa (
id_tipobolsa INT NOT NULL,
nome VARCHAR(30) NOT NULL,
PRIMARY KEY (id_tipobolsa)
);
CREATE TABLE aluno (
id_aluno INT NOT NULL,
nome VARCHAR(100) NOT NULL,
cpf CHAR(11) NOT NULL,
data_nasc DATE NOT NULL,
id_curso INT,
id_tipobolsa INT,
PRIMARY KEY (id_aluno),
UNIQUE (cpf),
CONSTRAINT FK_aluno_curso
FOREIGN KEY (id_curso)
REFERENCES curso (id_curso),
CONSTRAINT FK_aluno_tipobolsa
FOREIGN KEY (id_tipobolsa)
REFERENCES aluno_tipobolsa (id_tipobolsa)
);
CREATE TABLE disciplina (
id_disc INT NOT NULL,
nome VARCHAR(60) NOT NULL,
id_professor INT,
id_curso INT,
inicio DATE NOT NULL,
final DATE NOT NULL,
situacao VARCHAR(9) NOT NULL,
carga_horaria INT,
PRIMARY KEY (id_disc),
UNIQUE (nome, carga_horaria),
CONSTRAINT FK_disciplina_professor
FOREIGN KEY (id_professor)
REFERENCES professor (id_professor),
CONSTRAINT FK_disciplina_curso
FOREIGN KEY (id_curso)
REFERENCES curso (id_curso)
);
CREATE TABLE pre_requisito (
id_disc INT NOT NULL,
id_pre_req INT NOT NULL,
nome VARCHAR(30),
PRIMARY KEY (id_disc, id_pre_req),
CONSTRAINT FK_pre_req_disciplina
FOREIGN KEY (id_disc)
REFERENCES disciplina (id_disc),
CONSTRAINT FK_pre_req_disciplina2
FOREIGN KEY (id_pre_req)
REFERENCES disciplina (id_disc)
);
CREATE TABLE aluno_disciplina (
id_aluno INT NOT NULL,
id_disc INT NOT NULL,
nota_disc DECIMAL(4,2),
PRIMARY KEY (id_aluno, id_disc),
CONSTRAINT FK_aluno_disciplina_aluno
FOREIGN KEY (id_aluno)
REFERENCES aluno (id_aluno),
CONSTRAINT FK_aluno_disciplina_disciplina
FOREIGN KEY (id_disc)
REFERENCES disciplina (id_disc)
);
INSERT INTO departamento (id_depto, nome)
VALUES
(1, 'Humanas'),
(2, 'Exatas'),
(3, 'Biológicas');
INSERT INTO professor (id_professor, nome, cpf, data_nasc, id_depto)
VALUES
(1, 'Carlos Silva', '12345678901', '1980-05-10', 1),
(2, 'Sergio Santana','98765443298','1979-03-25', 1),
(3, 'Paula Amorim','89712308729', '1994-06-21', 2),
(4, 'Solange Gomes','47890138756','2000-12-04', 2);
INSERT INTO curso (id_curso, nome, duracao, data_inicio, data_final)
VALUES
(1, 'Engenharia', 8, '2024-02-01', '2028-12-15'),
(2, 'Direito', 8, '2021-02-01', '2025-12-18'),
(3, 'Desenvolvimento Mobile', 4, '2025-02-01', '2027-02-01'),
(4, 'Processos Gerenciais', 5, '2025-02-01', '2028-07-10');
INSERT INTO aluno_tipobolsa (id_tipobolsa, nome)
VALUES
(1, 'Integral'),
(2, 'Parcial'),
(3, 'Pesquisa');
INSERT INTO aluno (id_aluno, nome, cpf, data_nasc, id_curso, id_tipobolsa)
VALUES
(1, 'Ana Souza', '98765432100', '2003-03-15', 1, NULL),
(2, 'Zulmira Santanielli','00436722902', '1959-03-26', 3, 2),
(3, 'Jacob Luab','90732712309','1979-06-28', 2, NULL),
(4, 'Julianna Borges','67843129870','1994-12-23', 4, NULL);
INSERT INTO disciplina (id_disc, nome, id_professor, id_curso, inicio, final, situacao, carga_horaria)
VALUES
(1, 'Banco de Dados', 1, 1, '2024-02-10', '2024-06-30', 'Ativa', 80),
(2, 'Direito Tributário', 2, 2, '2021-02-10', '2021-03-28', 'Aprovado', 90),
(3, 'Linguagem OO', 4, 3, '2025-08-03', '2025-09-29', 'Reprovada', 58);
INSERT INTO pre_requisito (id_disc, id_pre_req, nome)
VALUES
(1, 3, 'SGBD'),
(2, 1, NULL),
(3, 1, 'Análise e Modelagem');
INSERT INTO aluno_disciplina (id_aluno, id_disc, nota_disc)
VALUES
(1, 1, 8.0),
(2, 2, 9.0),
(3, 3, 5.9);
SELECT * FROM curso;
SELECT * FROM professor;
SELECT*FROM departamento;
SELECT * FROM aluno_tipobolsa;;;
SELECT * FROM aluno;
SELECT * FROM aluno_disciplina;
SELECT * FROM pre_requisito;
To embed this project on your website, copy the following code and paste it into your website's HTML: