· 6 years ago · Oct 08, 2019, 01:46 AM
1ALUNOS:
2 LUCAS RODRIGUES SOUZA - RA: 21069949
3 LUCAS OLIVEIRA - RA: 21094755
4
5-- -----------------------------------------------------
6-- Schema faculdade
7-- -----------------------------------------------------
8CREATE SCHEMA IF NOT EXISTS `faculdade` DEFAULT CHARACTER SET utf8 ;
9USE `faculdade` ;
10
11-- -----------------------------------------------------
12-- Criação da Tabela: Curso
13-- -----------------------------------------------------
14CREATE TABLE IF NOT EXISTS `faculdade`.`curso` (
15 `codigo` INT NOT NULL AUTO_INCREMENT,
16 `nome` VARCHAR(100) NOT NULL,
17 `numero_creditos` INT NOT NULL,
18 PRIMARY KEY (`codigo`))
19ENGINE = InnoDB;
20
21
22-- -----------------------------------------------------
23-- Criação da Tabela: Dsciplina
24-- -----------------------------------------------------
25CREATE TABLE IF NOT EXISTS `faculdade`.`disciplina` (
26 `codigo` INT NOT NULL AUTO_INCREMENT,
27 `nome` VARCHAR(100) NOT NULL,
28 `carga_horaria` INT NOT NULL,
29 `descricao` VARCHAR(150) NOT NULL,
30 PRIMARY KEY (`codigo`))
31ENGINE = InnoDB;
32
33
34-- -----------------------------------------------------
35-- Criação da Tabela de Relação : Curso possui Disciplina
36-- -----------------------------------------------------
37CREATE TABLE IF NOT EXISTS `faculdade`.`curso_possui_disciplina` (
38 `curso_codigo` INT NOT NULL,
39 `disciplina_codigo` INT NOT NULL,
40 PRIMARY KEY (`curso_codigo`, `disciplina_codigo`),
41 INDEX `fk_curso_has_disciplina_disciplina1_idx` (`disciplina_codigo` ASC) VISIBLE,
42 INDEX `fk_curso_has_disciplina_curso_idx` (`curso_codigo` ASC) VISIBLE,
43 CONSTRAINT `fk_curso_has_disciplina_curso`
44 FOREIGN KEY (`curso_codigo`)
45 REFERENCES `faculdade`.`curso` (`codigo`)
46 ON DELETE NO ACTION
47 ON UPDATE NO ACTION,
48 CONSTRAINT `fk_curso_has_disciplina_disciplina1`
49 FOREIGN KEY (`disciplina_codigo`)
50 REFERENCES `faculdade`.`disciplina` (`codigo`)
51 ON DELETE NO ACTION
52 ON UPDATE NO ACTION)
53ENGINE = InnoDB;
54
55
56-- -----------------------------------------------------
57-- Criação da Tabela: Usuário (Para Login no Sistema)
58-- -----------------------------------------------------
59CREATE TABLE IF NOT EXISTS `faculdade`.`usuario` (
60 `ra` VARCHAR(45) NOT NULL,
61 `senha` VARCHAR(200) NOT NULL,
62 PRIMARY KEY (`ra`))
63ENGINE = InnoDB;
64
65
66-- -----------------------------------------------------
67-- Criação da Tabela: Aluno
68-- -----------------------------------------------------
69CREATE TABLE IF NOT EXISTS `faculdade`.`aluno` (
70 `ra` VARCHAR(45) NOT NULL,
71 `nome` VARCHAR(100) NOT NULL,
72 `data_nascimento` DATETIME NOT NULL,
73 `usuario_ra` VARCHAR(45) NOT NULL,
74 PRIMARY KEY (`ra`),
75 INDEX `fk_aluno_usuario1_idx` (`usuario_ra` ASC) VISIBLE,
76 CONSTRAINT `fk_aluno_usuario1`
77 FOREIGN KEY (`usuario_ra`)
78 REFERENCES `faculdade`.`usuario` (`ra`)
79 ON DELETE NO ACTION
80 ON UPDATE NO ACTION)
81ENGINE = InnoDB;
82
83
84-- -----------------------------------------------------
85-- Criação da Tabela: Professor
86-- -----------------------------------------------------
87CREATE TABLE IF NOT EXISTS `faculdade`.`professor` (
88 `ra` VARCHAR(45) NOT NULL,
89 `nome` VARCHAR(100) NOT NULL,
90 `usuario_ra` VARCHAR(45) NOT NULL,
91 PRIMARY KEY (`ra`),
92 INDEX `fk_professor_usuario1_idx` (`usuario_ra` ASC) VISIBLE,
93 CONSTRAINT `fk_professor_usuario1`
94 FOREIGN KEY (`usuario_ra`)
95 REFERENCES `faculdade`.`usuario` (`ra`)
96 ON DELETE NO ACTION
97 ON UPDATE NO ACTION)
98ENGINE = InnoDB;
99
100
101-- -----------------------------------------------------
102-- Criação da Tabela de Relação : Disciplina Possui Aluno
103-- -----------------------------------------------------
104CREATE TABLE IF NOT EXISTS `faculdade`.`disciplina_possui_aluno` (
105 `disciplina_codigo` INT NOT NULL,
106 `aluno_ra` VARCHAR(45) NOT NULL,
107 PRIMARY KEY (`disciplina_codigo`, `aluno_ra`),
108 INDEX `fk_disciplina_has_aluno_aluno1_idx` (`aluno_ra` ASC) VISIBLE,
109 INDEX `fk_disciplina_has_aluno_disciplina1_idx` (`disciplina_codigo` ASC) VISIBLE,
110 CONSTRAINT `fk_disciplina_has_aluno_disciplina1`
111 FOREIGN KEY (`disciplina_codigo`)
112 REFERENCES `faculdade`.`disciplina` (`codigo`)
113 ON DELETE NO ACTION
114 ON UPDATE NO ACTION,
115 CONSTRAINT `fk_disciplina_has_aluno_aluno1`
116 FOREIGN KEY (`aluno_ra`)
117 REFERENCES `faculdade`.`aluno` (`ra`)
118 ON DELETE NO ACTION
119 ON UPDATE NO ACTION)
120ENGINE = InnoDB;