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