· 8 years ago · May 04, 2018, 01:28 AM
1-- MySQL Workbench Forward Engineering
2
3SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
4SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
5SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
6
7-- -----------------------------------------------------
8-- Schema app
9-- -----------------------------------------------------
10
11-- -----------------------------------------------------
12-- Schema app
13-- -----------------------------------------------------
14CREATE SCHEMA IF NOT EXISTS `app` DEFAULT CHARACTER SET utf8 ;
15USE `app` ;
16
17-- -----------------------------------------------------
18-- Table `app`.`alunos`
19-- -----------------------------------------------------
20DROP TABLE IF EXISTS `app`.`alunos` ;
21
22CREATE TABLE IF NOT EXISTS `app`.`alunos` (
23 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
24 `matricula` VARCHAR(255) NOT NULL,
25 `nome` VARCHAR(255) NOT NULL,
26 `email` VARCHAR(255) NULL,
27 `telefone` VARCHAR(15) NULL,
28 `cpf` VARCHAR(15) NOT NULL,
29 PRIMARY KEY (`id`),
30 UNIQUE INDEX `matricula_UNIQUE` (`matricula` ASC),
31 UNIQUE INDEX `cpf_UNIQUE` (`cpf` ASC))
32ENGINE = InnoDB;
33
34
35-- -----------------------------------------------------
36-- Table `app`.`locais`
37-- -----------------------------------------------------
38DROP TABLE IF EXISTS `app`.`locais` ;
39
40CREATE TABLE IF NOT EXISTS `app`.`locais` (
41 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
42 `nome` VARCHAR(255) NOT NULL,
43 `cep` VARCHAR(255) NULL,
44 `logradouro` VARCHAR(255) NULL,
45 `numero` VARCHAR(255) NULL,
46 `complemento` VARCHAR(255) NULL,
47 `bairro` VARCHAR(255) NULL,
48 `cidade` VARCHAR(255) NULL,
49 `uf` VARCHAR(2) NULL,
50 PRIMARY KEY (`id`))
51ENGINE = InnoDB;
52
53
54-- -----------------------------------------------------
55-- Table `app`.`preceptores`
56-- -----------------------------------------------------
57DROP TABLE IF EXISTS `app`.`preceptores` ;
58
59CREATE TABLE IF NOT EXISTS `app`.`preceptores` (
60 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
61 `nome` VARCHAR(255) NOT NULL,
62 `email` VARCHAR(255) NOT NULL,
63 `senha` TEXT NOT NULL,
64 PRIMARY KEY (`id`))
65ENGINE = InnoDB;
66
67
68-- -----------------------------------------------------
69-- Table `app`.`cursos`
70-- -----------------------------------------------------
71DROP TABLE IF EXISTS `app`.`cursos` ;
72
73CREATE TABLE IF NOT EXISTS `app`.`cursos` (
74 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
75 `nome` VARCHAR(255) NOT NULL,
76 `descricao` TEXT NULL,
77 PRIMARY KEY (`id`))
78ENGINE = InnoDB;
79
80
81-- -----------------------------------------------------
82-- Table `app`.`estagios`
83-- -----------------------------------------------------
84DROP TABLE IF EXISTS `app`.`estagios` ;
85
86CREATE TABLE IF NOT EXISTS `app`.`estagios` (
87 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
88 `curso_id` INT(10) UNSIGNED NOT NULL,
89 `local_id` INT(10) UNSIGNED NOT NULL,
90 `preceptor_id` INT(10) UNSIGNED NOT NULL,
91 `data_inicio` DATE NOT NULL,
92 `data_final` DATE NOT NULL,
93 PRIMARY KEY (`id`),
94 INDEX `fk_estagios1_idx` (`local_id` ASC),
95 INDEX `fk_estagios3_idx` (`preceptor_id` ASC),
96 INDEX `fk_estagios4_idx` (`curso_id` ASC),
97 CONSTRAINT `fk_estagios1`
98 FOREIGN KEY (`local_id`)
99 REFERENCES `app`.`locais` (`id`)
100 ON DELETE CASCADE
101 ON UPDATE CASCADE,
102 CONSTRAINT `fk_estagios3`
103 FOREIGN KEY (`preceptor_id`)
104 REFERENCES `app`.`preceptores` (`id`)
105 ON DELETE CASCADE
106 ON UPDATE CASCADE,
107 CONSTRAINT `fk_estagios4`
108 FOREIGN KEY (`curso_id`)
109 REFERENCES `app`.`cursos` (`id`)
110 ON DELETE CASCADE
111 ON UPDATE CASCADE)
112ENGINE = InnoDB;
113
114
115-- -----------------------------------------------------
116-- Table `app`.`alunos_estagios`
117-- -----------------------------------------------------
118DROP TABLE IF EXISTS `app`.`alunos_estagios` ;
119
120CREATE TABLE IF NOT EXISTS `app`.`alunos_estagios` (
121 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
122 `aluno_id` INT(10) UNSIGNED NOT NULL,
123 `estagio_id` INT(10) UNSIGNED NOT NULL,
124 `aluno_periodo` VARCHAR(255) NULL,
125 `data_hora` TIMESTAMP NULL,
126 PRIMARY KEY (`id`),
127 INDEX `fk_alunos_estagios1_idx` (`aluno_id` ASC),
128 INDEX `fk_alunos_estagios2_idx` (`estagio_id` ASC),
129 CONSTRAINT `fk_alunos_estagios1`
130 FOREIGN KEY (`aluno_id`)
131 REFERENCES `app`.`alunos` (`id`)
132 ON DELETE CASCADE
133 ON UPDATE CASCADE,
134 CONSTRAINT `fk_alunos_estagios2`
135 FOREIGN KEY (`estagio_id`)
136 REFERENCES `app`.`estagios` (`id`)
137 ON DELETE CASCADE
138 ON UPDATE CASCADE)
139ENGINE = InnoDB;
140
141
142-- -----------------------------------------------------
143-- Table `app`.`avaliacoes`
144-- -----------------------------------------------------
145DROP TABLE IF EXISTS `app`.`avaliacoes` ;
146
147CREATE TABLE IF NOT EXISTS `app`.`avaliacoes` (
148 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
149 `nota` DECIMAL(10,2) NULL,
150 `data` DATE NOT NULL,
151 `observacoes` TEXT NULL,
152 `aluno_estagio_id` INT(10) UNSIGNED NOT NULL,
153 PRIMARY KEY (`id`),
154 INDEX `fk_avaliacoes1_idx` (`aluno_estagio_id` ASC),
155 CONSTRAINT `fk_avaliacoes1`
156 FOREIGN KEY (`aluno_estagio_id`)
157 REFERENCES `app`.`alunos_estagios` (`id`)
158 ON DELETE CASCADE
159 ON UPDATE CASCADE)
160ENGINE = InnoDB;
161
162
163-- -----------------------------------------------------
164-- Table `app`.`usuarios`
165-- -----------------------------------------------------
166DROP TABLE IF EXISTS `app`.`usuarios` ;
167
168CREATE TABLE IF NOT EXISTS `app`.`usuarios` (
169 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
170 `nome` VARCHAR(255) NOT NULL,
171 `email` VARCHAR(255) NOT NULL,
172 `senha` VARCHAR(255) NOT NULL,
173 PRIMARY KEY (`id`))
174ENGINE = InnoDB;
175
176
177SET SQL_MODE=@OLD_SQL_MODE;
178SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
179SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;