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;







Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: