· 5 years ago · Nov 26, 2020, 10:36 AM
1-- MySQL Script generated by MySQL Workbench
2-- Thu Nov 26 11:10:17 2020
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5-- Autor: Kepa A. de Gamboa
6-- version: A.0.3.201126
7
8
9SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
10SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
11SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
12
13-- -----------------------------------------------------
14-- Schema db_receta
15-- -----------------------------------------------------
16
17-- -----------------------------------------------------
18-- Schema db_receta
19-- -----------------------------------------------------
20CREATE SCHEMA IF NOT EXISTS `db_receta` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci ;
21USE `db_receta` ;
22
23-- -----------------------------------------------------
24-- Table `db_receta`.`dificultad`
25-- -----------------------------------------------------
26CREATE TABLE IF NOT EXISTS `db_receta`.`dificultad` (
27 `id` INT NOT NULL AUTO_INCREMENT,
28 `dificultad` VARCHAR(45) NOT NULL,
29 PRIMARY KEY (`id`),
30 UNIQUE INDEX `dificultad_UNIQUE` (`dificultad` ASC) VISIBLE)
31ENGINE = InnoDB;
32
33
34-- -----------------------------------------------------
35-- Table `db_receta`.`pais`
36-- -----------------------------------------------------
37CREATE TABLE IF NOT EXISTS `db_receta`.`pais` (
38 `id` INT NOT NULL AUTO_INCREMENT,
39 `pais` VARCHAR(100) NOT NULL,
40 PRIMARY KEY (`id`),
41 UNIQUE INDEX `pais_UNIQUE` (`pais` ASC) VISIBLE)
42ENGINE = InnoDB;
43
44
45-- -----------------------------------------------------
46-- Table `db_receta`.`temporadareceta`
47-- -----------------------------------------------------
48CREATE TABLE IF NOT EXISTS `db_receta`.`temporadareceta` (
49 `id` INT NOT NULL AUTO_INCREMENT,
50 `temporadareceta` VARCHAR(45) NOT NULL,
51 PRIMARY KEY (`id`))
52ENGINE = InnoDB;
53
54
55-- -----------------------------------------------------
56-- Table `db_receta`.`tipoplato`
57-- -----------------------------------------------------
58CREATE TABLE IF NOT EXISTS `db_receta`.`tipoplato` (
59 `id` INT NOT NULL AUTO_INCREMENT,
60 `tipoplato` VARCHAR(45) NOT NULL,
61 PRIMARY KEY (`id`))
62ENGINE = InnoDB;
63
64
65-- -----------------------------------------------------
66-- Table `db_receta`.`receta`
67-- -----------------------------------------------------
68CREATE TABLE IF NOT EXISTS `db_receta`.`receta` (
69 `id` INT NOT NULL AUTO_INCREMENT,
70 `nombre` VARCHAR(100) NULL,
71 `descripcion` TEXT NULL,
72 `comensal` TINYINT NOT NULL,
73 `duracion` TIME NOT NULL,
74 `pais_id` INT NOT NULL,
75 `dificultad_id` INT NOT NULL,
76 `temporadareceta_id` INT NOT NULL,
77 `tipoplato_id` INT NOT NULL,
78 PRIMARY KEY (`id`),
79 INDEX `fk_receta_pais_idx` (`pais_id` ASC) VISIBLE,
80 INDEX `fk_receta_dificultad1_idx` (`dificultad_id` ASC) VISIBLE,
81 INDEX `fk_receta_temporadareceta1_idx` (`temporadareceta_id` ASC) VISIBLE,
82 INDEX `fk_receta_tipoplato1_idx` (`tipoplato_id` ASC) VISIBLE,
83 FULLTEXT INDEX `idx_nombre` (`nombre`) INVISIBLE,
84 FULLTEXT INDEX `idx_descripcion` (`descripcion`) VISIBLE,
85 CONSTRAINT `fk_receta_pais`
86 FOREIGN KEY (`pais_id`)
87 REFERENCES `db_receta`.`pais` (`id`)
88 ON DELETE NO ACTION
89 ON UPDATE NO ACTION,
90 CONSTRAINT `fk_receta_dificultad1`
91 FOREIGN KEY (`dificultad_id`)
92 REFERENCES `db_receta`.`dificultad` (`id`)
93 ON DELETE NO ACTION
94 ON UPDATE NO ACTION,
95 CONSTRAINT `fk_receta_temporadareceta1`
96 FOREIGN KEY (`temporadareceta_id`)
97 REFERENCES `db_receta`.`temporadareceta` (`id`)
98 ON DELETE NO ACTION
99 ON UPDATE NO ACTION,
100 CONSTRAINT `fk_receta_tipoplato1`
101 FOREIGN KEY (`tipoplato_id`)
102 REFERENCES `db_receta`.`tipoplato` (`id`)
103 ON DELETE NO ACTION
104 ON UPDATE NO ACTION)
105ENGINE = InnoDB;
106
107
108-- -----------------------------------------------------
109-- Table `db_receta`.`grupoalimento`
110-- -----------------------------------------------------
111CREATE TABLE IF NOT EXISTS `db_receta`.`grupoalimento` (
112 `id` INT NOT NULL AUTO_INCREMENT,
113 `grupoalimento` VARCHAR(50) NOT NULL,
114 PRIMARY KEY (`id`))
115ENGINE = InnoDB;
116
117
118-- -----------------------------------------------------
119-- Table `db_receta`.`ingrediente`
120-- -----------------------------------------------------
121CREATE TABLE IF NOT EXISTS `db_receta`.`ingrediente` (
122 `id` INT NOT NULL AUTO_INCREMENT,
123 `ingrediente` VARCHAR(45) NOT NULL,
124 `grupoalimento_id` INT NOT NULL,
125 PRIMARY KEY (`id`),
126 INDEX `fk_ingrediente_grupoalimento1_idx` (`grupoalimento_id` ASC) VISIBLE,
127 CONSTRAINT `fk_ingrediente_grupoalimento1`
128 FOREIGN KEY (`grupoalimento_id`)
129 REFERENCES `db_receta`.`grupoalimento` (`id`)
130 ON DELETE NO ACTION
131 ON UPDATE NO ACTION)
132ENGINE = InnoDB;
133
134
135-- -----------------------------------------------------
136-- Table `db_receta`.`ingrediente_has_receta`
137-- -----------------------------------------------------
138CREATE TABLE IF NOT EXISTS `db_receta`.`ingrediente_has_receta` (
139 `ingrediente_id` INT NOT NULL,
140 `receta_id` INT NOT NULL,
141 `cantidad` TINYINT NOT NULL,
142 PRIMARY KEY (`ingrediente_id`, `receta_id`),
143 INDEX `fk_ingrediente_has_receta_receta1_idx` (`receta_id` ASC) VISIBLE,
144 INDEX `fk_ingrediente_has_receta_ingrediente1_idx` (`ingrediente_id` ASC) VISIBLE,
145 CONSTRAINT `fk_ingrediente_has_receta_ingrediente1`
146 FOREIGN KEY (`ingrediente_id`)
147 REFERENCES `db_receta`.`ingrediente` (`id`)
148 ON DELETE NO ACTION
149 ON UPDATE NO ACTION,
150 CONSTRAINT `fk_ingrediente_has_receta_receta1`
151 FOREIGN KEY (`receta_id`)
152 REFERENCES `db_receta`.`receta` (`id`)
153 ON DELETE NO ACTION
154 ON UPDATE NO ACTION)
155ENGINE = InnoDB;
156
157
158-- -----------------------------------------------------
159-- Table `db_receta`.`temporadaingrediente`
160-- -----------------------------------------------------
161CREATE TABLE IF NOT EXISTS `db_receta`.`temporadaingrediente` (
162 `id` INT NOT NULL AUTO_INCREMENT,
163 `temporadaingrediente` VARCHAR(45) NOT NULL,
164 PRIMARY KEY (`id`),
165 UNIQUE INDEX `temporadaingrediente_UNIQUE` (`temporadaingrediente` ASC) VISIBLE)
166ENGINE = InnoDB;
167
168
169-- -----------------------------------------------------
170-- Table `db_receta`.`temporadaingrediente_has_ingrediente`
171-- -----------------------------------------------------
172CREATE TABLE IF NOT EXISTS `db_receta`.`temporadaingrediente_has_ingrediente` (
173 `temporadaingrediente_id` INT NOT NULL,
174 `ingrediente_id` INT NOT NULL,
175 PRIMARY KEY (`temporadaingrediente_id`, `ingrediente_id`),
176 INDEX `fk_temporadaingrediente_has_ingrediente_ingrediente1_idx` (`ingrediente_id` ASC) VISIBLE,
177 INDEX `fk_temporadaingrediente_has_ingrediente_temporadaingredient_idx` (`temporadaingrediente_id` ASC) VISIBLE,
178 CONSTRAINT `fk_temporadaingrediente_has_ingrediente_temporadaingrediente1`
179 FOREIGN KEY (`temporadaingrediente_id`)
180 REFERENCES `db_receta`.`temporadaingrediente` (`id`)
181 ON DELETE NO ACTION
182 ON UPDATE NO ACTION,
183 CONSTRAINT `fk_temporadaingrediente_has_ingrediente_ingrediente1`
184 FOREIGN KEY (`ingrediente_id`)
185 REFERENCES `db_receta`.`ingrediente` (`id`)
186 ON DELETE NO ACTION
187 ON UPDATE NO ACTION)
188ENGINE = InnoDB;
189
190
191-- -----------------------------------------------------
192-- Table `db_receta`.`consejo`
193-- -----------------------------------------------------
194CREATE TABLE IF NOT EXISTS `db_receta`.`consejo` (
195 `id` INT NOT NULL AUTO_INCREMENT,
196 `consejo` VARCHAR(255) NOT NULL,
197 PRIMARY KEY (`id`))
198ENGINE = InnoDB;
199
200
201-- -----------------------------------------------------
202-- Table `db_receta`.`receta_has_consejo`
203-- -----------------------------------------------------
204CREATE TABLE IF NOT EXISTS `db_receta`.`receta_has_consejo` (
205 `receta_id` INT NOT NULL,
206 `consejo_id` INT NOT NULL,
207 PRIMARY KEY (`receta_id`, `consejo_id`),
208 INDEX `fk_receta_has_consejo_consejo1_idx` (`consejo_id` ASC) VISIBLE,
209 INDEX `fk_receta_has_consejo_receta1_idx` (`receta_id` ASC) VISIBLE,
210 CONSTRAINT `fk_receta_has_consejo_receta1`
211 FOREIGN KEY (`receta_id`)
212 REFERENCES `db_receta`.`receta` (`id`)
213 ON DELETE NO ACTION
214 ON UPDATE NO ACTION,
215 CONSTRAINT `fk_receta_has_consejo_consejo1`
216 FOREIGN KEY (`consejo_id`)
217 REFERENCES `db_receta`.`consejo` (`id`)
218 ON DELETE NO ACTION
219 ON UPDATE NO ACTION)
220ENGINE = InnoDB;
221
222
223-- -----------------------------------------------------
224-- Table `db_receta`.`alergia`
225-- -----------------------------------------------------
226CREATE TABLE IF NOT EXISTS `db_receta`.`alergia` (
227 `id` INT NOT NULL AUTO_INCREMENT,
228 `sustancia` VARCHAR(100) NOT NULL,
229 `consecuencia` VARCHAR(250) NOT NULL DEFAULT '-',
230 PRIMARY KEY (`id`),
231 UNIQUE INDEX `ingrediente_UNIQUE` (`sustancia` ASC) VISIBLE)
232ENGINE = InnoDB;
233
234
235-- -----------------------------------------------------
236-- Table `db_receta`.`ingrediente_has_alergia`
237-- -----------------------------------------------------
238CREATE TABLE IF NOT EXISTS `db_receta`.`ingrediente_has_alergia` (
239 `ingrediente_id` INT NOT NULL,
240 `alergia_id` INT NOT NULL,
241 PRIMARY KEY (`ingrediente_id`, `alergia_id`),
242 INDEX `fk_ingrediente_has_alergia_alergia1_idx` (`alergia_id` ASC) VISIBLE,
243 INDEX `fk_ingrediente_has_alergia_ingrediente1_idx` (`ingrediente_id` ASC) VISIBLE,
244 CONSTRAINT `fk_ingrediente_has_alergia_ingrediente1`
245 FOREIGN KEY (`ingrediente_id`)
246 REFERENCES `db_receta`.`ingrediente` (`id`)
247 ON DELETE NO ACTION
248 ON UPDATE NO ACTION,
249 CONSTRAINT `fk_ingrediente_has_alergia_alergia1`
250 FOREIGN KEY (`alergia_id`)
251 REFERENCES `db_receta`.`alergia` (`id`)
252 ON DELETE NO ACTION
253 ON UPDATE NO ACTION)
254ENGINE = InnoDB;
255
256
257-- -----------------------------------------------------
258-- Table `db_receta`.`tipococina`
259-- -----------------------------------------------------
260CREATE TABLE IF NOT EXISTS `db_receta`.`tipococina` (
261 `id` INT NOT NULL AUTO_INCREMENT,
262 `tipococina` VARCHAR(100) NOT NULL,
263 PRIMARY KEY (`id`),
264 UNIQUE INDEX `tipococina_UNIQUE` (`tipococina` ASC) VISIBLE)
265ENGINE = InnoDB;
266
267
268-- -----------------------------------------------------
269-- Table `db_receta`.`receta_has_tipococina`
270-- -----------------------------------------------------
271CREATE TABLE IF NOT EXISTS `db_receta`.`receta_has_tipococina` (
272 `receta_id` INT NOT NULL,
273 `tipococina_id` INT NOT NULL,
274 PRIMARY KEY (`receta_id`, `tipococina_id`),
275 INDEX `fk_receta_has_tipococina_tipococina1_idx` (`tipococina_id` ASC) VISIBLE,
276 INDEX `fk_receta_has_tipococina_receta1_idx` (`receta_id` ASC) VISIBLE,
277 CONSTRAINT `fk_receta_has_tipococina_receta1`
278 FOREIGN KEY (`receta_id`)
279 REFERENCES `db_receta`.`receta` (`id`)
280 ON DELETE NO ACTION
281 ON UPDATE NO ACTION,
282 CONSTRAINT `fk_receta_has_tipococina_tipococina1`
283 FOREIGN KEY (`tipococina_id`)
284 REFERENCES `db_receta`.`tipococina` (`id`)
285 ON DELETE NO ACTION
286 ON UPDATE NO ACTION)
287ENGINE = InnoDB;
288
289
290SET SQL_MODE=@OLD_SQL_MODE;
291SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
292SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
293