· 4 years ago · Dec 16, 2020, 08:04 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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
6
7-- -----------------------------------------------------
8-- Schema mydb
9-- -----------------------------------------------------
10
11-- -----------------------------------------------------
12-- Schema mydb
13-- -----------------------------------------------------
14CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
15USE `mydb` ;
16
17-- -----------------------------------------------------
18-- Table `mydb`.`Магазин`
19-- -----------------------------------------------------
20DROP TABLE IF EXISTS `mydb`.`Магазин` ;
21
22CREATE TABLE IF NOT EXISTS `mydb`.`Магазин` (
23 `Магазин_id` INT NOT NULL,
24 `Название` VARCHAR(45) NOT NULL,
25 `Описание` VARCHAR(1000) NOT NULL,
26 `Адрес` VARCHAR(100) NOT NULL,
27 `Прибыль` FLOAT NOT NULL,
28 PRIMARY KEY (`Магазин_id`))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `mydb`.`Производитель`
34-- -----------------------------------------------------
35DROP TABLE IF EXISTS `mydb`.`Производитель` ;
36
37CREATE TABLE IF NOT EXISTS `mydb`.`Производитель` (
38 `Производитель_id` INT NOT NULL,
39 `Имя` VARCHAR(45) NOT NULL,
40 `Страна` VARCHAR(45) NOT NULL,
41 `Телефон` VARCHAR(45) NOT NULL,
42 PRIMARY KEY (`Производитель_id`))
43ENGINE = InnoDB;
44
45
46-- -----------------------------------------------------
47-- Table `mydb`.`Поставщик`
48-- -----------------------------------------------------
49DROP TABLE IF EXISTS `mydb`.`Поставщик` ;
50
51CREATE TABLE IF NOT EXISTS `mydb`.`Поставщик` (
52 `Поставщик_id` INT NOT NULL,
53 `Имя` VARCHAR(45) NOT NULL,
54 `Телефон` VARCHAR(45) NOT NULL,
55 `Адрес` VARCHAR(100) NOT NULL,
56 PRIMARY KEY (`Поставщик_id`))
57ENGINE = InnoDB;
58
59
60-- -----------------------------------------------------
61-- Table `mydb`.`Скидка`
62-- -----------------------------------------------------
63DROP TABLE IF EXISTS `mydb`.`Скидка` ;
64
65CREATE TABLE IF NOT EXISTS `mydb`.`Скидка` (
66 `Скидка_id` INT NOT NULL,
67 `Величина` INT NOT NULL DEFAULT 0,
68 PRIMARY KEY (`Скидка_id`))
69ENGINE = InnoDB;
70
71
72-- -----------------------------------------------------
73-- Table `mydb`.`Акция`
74-- -----------------------------------------------------
75DROP TABLE IF EXISTS `mydb`.`Акция` ;
76
77CREATE TABLE IF NOT EXISTS `mydb`.`Акция` (
78 `Акция_id` INT NOT NULL,
79 `Название` VARCHAR(45) NOT NULL,
80 `Начало_акции` DATE NOT NULL,
81 `Конец_акции` DATE NOT NULL,
82 `Скидка_id` INT NOT NULL,
83 PRIMARY KEY (`Акция_id`),
84 CONSTRAINT `fk_Акция_Скидка1`
85 FOREIGN KEY (`Скидка_id`)
86 REFERENCES `mydb`.`Скидка` (`Скидка_id`)
87 ON DELETE NO ACTION
88 ON UPDATE NO ACTION)
89ENGINE = InnoDB;
90
91CREATE INDEX `fk_Акция_Скидка1_idx` ON `mydb`.`Акция` (`Скидка_id` ASC) VISIBLE;
92
93
94-- -----------------------------------------------------
95-- Table `mydb`.`Товар`
96-- -----------------------------------------------------
97DROP TABLE IF EXISTS `mydb`.`Товар` ;
98
99CREATE TABLE IF NOT EXISTS `mydb`.`Товар` (
100 `Товар_id` INT NOT NULL,
101 `Название` VARCHAR(45) NOT NULL,
102 `Категория` VARCHAR(45) NOT NULL,
103 `Описание` VARCHAR(1000) NOT NULL,
104 `Файл_фотографии` VARCHAR(45) NOT NULL,
105 `Срок_хранения` FLOAT NOT NULL,
106 `Состав` VARCHAR(100) NULL,
107 `Производитель_id` INT NOT NULL,
108 `Поставщик_id` INT NOT NULL,
109 `Скидка_id` INT NULL,
110 `Акция_id` INT NULL,
111 PRIMARY KEY (`Товар_id`),
112 CONSTRAINT `fk_Товар_Производитель1`
113 FOREIGN KEY (`Производитель_id`)
114 REFERENCES `mydb`.`Производитель` (`Производитель_id`)
115 ON DELETE NO ACTION
116 ON UPDATE NO ACTION,
117 CONSTRAINT `fk_Товар_Поставщик1`
118 FOREIGN KEY (`Поставщик_id`)
119 REFERENCES `mydb`.`Поставщик` (`Поставщик_id`)
120 ON DELETE NO ACTION
121 ON UPDATE NO ACTION,
122 CONSTRAINT `fk_Товар_Скидка1`
123 FOREIGN KEY (`Скидка_id`)
124 REFERENCES `mydb`.`Скидка` (`Скидка_id`)
125 ON DELETE NO ACTION
126 ON UPDATE NO ACTION,
127 CONSTRAINT `fk_Товар_Акция1`
128 FOREIGN KEY (`Акция_id`)
129 REFERENCES `mydb`.`Акция` (`Акция_id`)
130 ON DELETE NO ACTION
131 ON UPDATE NO ACTION)
132ENGINE = InnoDB;
133
134CREATE INDEX `fk_Товар_Производитель1_idx` ON `mydb`.`Товар` (`Производитель_id` ASC) VISIBLE;
135
136CREATE INDEX `fk_Товар_Поставщик1_idx` ON `mydb`.`Товар` (`Поставщик_id` ASC) VISIBLE;
137
138CREATE INDEX `fk_Товар_Скидка1_idx` ON `mydb`.`Товар` (`Скидка_id` ASC) VISIBLE;
139
140CREATE INDEX `fk_Товар_Акция1_idx` ON `mydb`.`Товар` (`Акция_id` ASC) VISIBLE;
141
142
143-- -----------------------------------------------------
144-- Table `mydb`.`Покупатель`
145-- -----------------------------------------------------
146DROP TABLE IF EXISTS `mydb`.`Покупатель` ;
147
148CREATE TABLE IF NOT EXISTS `mydb`.`Покупатель` (
149 `Покупатель_id` INT NOT NULL,
150 `Имя` VARCHAR(45) NOT NULL,
151 `Телефон` VARCHAR(45) GENERATED ALWAYS AS () VIRTUAL,
152 PRIMARY KEY (`Покупатель_id`))
153ENGINE = InnoDB;
154
155
156-- -----------------------------------------------------
157-- Table `mydb`.`Работник`
158-- -----------------------------------------------------
159DROP TABLE IF EXISTS `mydb`.`Работник` ;
160
161CREATE TABLE IF NOT EXISTS `mydb`.`Работник` (
162 `Работник_id` INT NOT NULL,
163 `Имя` VARCHAR(45) NOT NULL,
164 `Логин` VARCHAR(45) NOT NULL DEFAULT 'admin',
165 `Пароль` VARCHAR(45) NOT NULL,
166 `Должность` VARCHAR(45) NOT NULL,
167 PRIMARY KEY (`Работник_id`))
168ENGINE = InnoDB;
169
170CREATE UNIQUE INDEX `Пароль_UNIQUE` ON `mydb`.`Работник` (`Пароль` ASC) VISIBLE;
171
172CREATE UNIQUE INDEX `Логин_UNIQUE` ON `mydb`.`Работник` (`Логин` ASC) VISIBLE;
173
174
175-- -----------------------------------------------------
176-- Table `mydb`.`Доставка`
177-- -----------------------------------------------------
178DROP TABLE IF EXISTS `mydb`.`Доставка` ;
179
180CREATE TABLE IF NOT EXISTS `mydb`.`Доставка` (
181 `Доставка_id` INT NOT NULL,
182 `Дата` DATE NOT NULL,
183 `Адрес` VARCHAR(100) NOT NULL,
184 `Работник_id` INT NOT NULL,
185 PRIMARY KEY (`Доставка_id`),
186 CONSTRAINT `fk_Доставка_Работник1`
187 FOREIGN KEY (`Работник_id`)
188 REFERENCES `mydb`.`Работник` (`Работник_id`)
189 ON DELETE NO ACTION
190 ON UPDATE NO ACTION)
191ENGINE = InnoDB;
192
193CREATE INDEX `fk_Доставка_Работник1_idx` ON `mydb`.`Доставка` (`Работник_id` ASC) VISIBLE;
194
195
196-- -----------------------------------------------------
197-- Table `mydb`.`Заказ`
198-- -----------------------------------------------------
199DROP TABLE IF EXISTS `mydb`.`Заказ` ;
200
201CREATE TABLE IF NOT EXISTS `mydb`.`Заказ` (
202 `Заказ_id` INT NOT NULL,
203 `Дата` DATE NOT NULL,
204 `Итоговая_стоимость` FLOAT NOT NULL DEFAULT 0,
205 `Промокод` VARCHAR(45) NULL,
206 `Покупатель_id` INT NOT NULL,
207 `Доставка_id` INT NULL,
208 `Скидка_id` INT NULL,
209 PRIMARY KEY (`Заказ_id`),
210 CONSTRAINT `fk_Заказ_Покупатель1`
211 FOREIGN KEY (`Покупатель_id`)
212 REFERENCES `mydb`.`Покупатель` (`Покупатель_id`)
213 ON DELETE NO ACTION
214 ON UPDATE NO ACTION,
215 CONSTRAINT `fk_Заказ_Доставка1`
216 FOREIGN KEY (`Доставка_id`)
217 REFERENCES `mydb`.`Доставка` (`Доставка_id`)
218 ON DELETE NO ACTION
219 ON UPDATE NO ACTION,
220 CONSTRAINT `fk_Заказ_Скидка1`
221 FOREIGN KEY (`Скидка_id`)
222 REFERENCES `mydb`.`Скидка` (`Скидка_id`)
223 ON DELETE NO ACTION
224 ON UPDATE NO ACTION)
225ENGINE = InnoDB;
226
227CREATE INDEX `fk_Заказ_Покупатель1_idx` ON `mydb`.`Заказ` (`Покупатель_id` ASC) VISIBLE;
228
229CREATE INDEX `fk_Заказ_Доставка1_idx` ON `mydb`.`Заказ` (`Доставка_id` ASC) VISIBLE;
230
231CREATE INDEX `fk_Заказ_Скидка1_idx` ON `mydb`.`Заказ` (`Скидка_id` ASC) VISIBLE;
232
233
234-- -----------------------------------------------------
235-- Table `mydb`.`Контракт`
236-- -----------------------------------------------------
237DROP TABLE IF EXISTS `mydb`.`Контракт` ;
238
239CREATE TABLE IF NOT EXISTS `mydb`.`Контракт` (
240 `Контракт_id` INT NOT NULL,
241 `Дата_оформления` DATE NOT NULL,
242 `Дата_поставки` DATE NOT NULL,
243 `Работник_id` INT NOT NULL,
244 `Поставщик_id` INT NOT NULL,
245 PRIMARY KEY (`Контракт_id`),
246 CONSTRAINT `fk_Контракт_Работник1`
247 FOREIGN KEY (`Работник_id`)
248 REFERENCES `mydb`.`Работник` (`Работник_id`)
249 ON DELETE NO ACTION
250 ON UPDATE NO ACTION,
251 CONSTRAINT `fk_Контракт_Поставщик1`
252 FOREIGN KEY (`Поставщик_id`)
253 REFERENCES `mydb`.`Поставщик` (`Поставщик_id`)
254 ON DELETE NO ACTION
255 ON UPDATE NO ACTION)
256ENGINE = InnoDB;
257
258CREATE INDEX `fk_Контракт_Работник1_idx` ON `mydb`.`Контракт` (`Работник_id` ASC) VISIBLE;
259
260CREATE INDEX `fk_Контракт_Поставщик1_idx` ON `mydb`.`Контракт` (`Поставщик_id` ASC) VISIBLE;
261
262
263-- -----------------------------------------------------
264-- Table `mydb`.`Набор_товаров`
265-- -----------------------------------------------------
266DROP TABLE IF EXISTS `mydb`.`Набор_товаров` ;
267
268CREATE TABLE IF NOT EXISTS `mydb`.`Набор_товаров` (
269 `Набор_товаров_id` INT NOT NULL,
270 `Название` VARCHAR(45) NOT NULL,
271 `Цена` FLOAT NOT NULL,
272 PRIMARY KEY (`Набор_товаров_id`))
273ENGINE = InnoDB;
274
275
276-- -----------------------------------------------------
277-- Table `mydb`.`Сырье`
278-- -----------------------------------------------------
279DROP TABLE IF EXISTS `mydb`.`Сырье` ;
280
281CREATE TABLE IF NOT EXISTS `mydb`.`Сырье` (
282 `Сырье_id` INT NOT NULL,
283 `Материал` VARCHAR(45) NOT NULL,
284 `Вес` FLOAT NOT NULL,
285 PRIMARY KEY (`Сырье_id`))
286ENGINE = InnoDB;
287
288
289-- -----------------------------------------------------
290-- Table `mydb`.`Расписание`
291-- -----------------------------------------------------
292DROP TABLE IF EXISTS `mydb`.`Расписание` ;
293
294CREATE TABLE IF NOT EXISTS `mydb`.`Расписание` (
295 `Расписание_id` INT NOT NULL,
296 `День_недели` VARCHAR(45) NOT NULL,
297 `Время_начала` TIME NULL,
298 `Время_окончания` TIME NULL,
299 `Выходной` TINYINT NOT NULL DEFAULT 0,
300 `Магазин_id` INT NOT NULL,
301 PRIMARY KEY (`Расписание_id`),
302 CONSTRAINT `fk_Расписание_Магазин`
303 FOREIGN KEY (`Магазин_id`)
304 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
305 ON DELETE NO ACTION
306 ON UPDATE NO ACTION)
307ENGINE = InnoDB;
308
309CREATE INDEX `fk_Расписание_Магазин_idx` ON `mydb`.`Расписание` (`Магазин_id` ASC) VISIBLE;
310
311
312-- -----------------------------------------------------
313-- Table `mydb`.`Аккаунт`
314-- -----------------------------------------------------
315DROP TABLE IF EXISTS `mydb`.`Аккаунт` ;
316
317CREATE TABLE IF NOT EXISTS `mydb`.`Аккаунт` (
318 `Аккаунт_id` INT NOT NULL,
319 `Название` VARCHAR(45) NOT NULL,
320 `Ссылка` VARCHAR(1000) NOT NULL,
321 `Магазин_id` INT NOT NULL,
322 PRIMARY KEY (`Аккаунт_id`),
323 CONSTRAINT `fk_Аккаунт_Магазин1`
324 FOREIGN KEY (`Магазин_id`)
325 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
326 ON DELETE NO ACTION
327 ON UPDATE NO ACTION)
328ENGINE = InnoDB;
329
330CREATE INDEX `fk_Аккаунт_Магазин1_idx` ON `mydb`.`Аккаунт` (`Магазин_id` ASC) VISIBLE;
331
332
333-- -----------------------------------------------------
334-- Table `mydb`.`Сертификат`
335-- -----------------------------------------------------
336DROP TABLE IF EXISTS `mydb`.`Сертификат` ;
337
338CREATE TABLE IF NOT EXISTS `mydb`.`Сертификат` (
339 `Сертификат_id` INT NOT NULL,
340 `Название` VARCHAR(45) NOT NULL,
341 `Ссылка` VARCHAR(1000) NOT NULL,
342 `Магазин_id` INT NOT NULL,
343 PRIMARY KEY (`Сертификат_id`),
344 CONSTRAINT `fk_Сертификат_Магазин1`
345 FOREIGN KEY (`Магазин_id`)
346 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
347 ON DELETE NO ACTION
348 ON UPDATE NO ACTION)
349ENGINE = InnoDB;
350
351CREATE INDEX `fk_Сертификат_Магазин1_idx` ON `mydb`.`Сертификат` (`Магазин_id` ASC) VISIBLE;
352
353
354-- -----------------------------------------------------
355-- Table `mydb`.`Отзыв`
356-- -----------------------------------------------------
357DROP TABLE IF EXISTS `mydb`.`Отзыв` ;
358
359CREATE TABLE IF NOT EXISTS `mydb`.`Отзыв` (
360 `Отзыв_id` INT NOT NULL,
361 `Оценка` INT NOT NULL,
362 `Описание` VARCHAR(1000) NULL,
363 PRIMARY KEY (`Отзыв_id`))
364ENGINE = InnoDB;
365
366
367-- -----------------------------------------------------
368-- Table `mydb`.`Содержимое_набора`
369-- -----------------------------------------------------
370DROP TABLE IF EXISTS `mydb`.`Содержимое_набора` ;
371
372CREATE TABLE IF NOT EXISTS `mydb`.`Содержимое_набора` (
373 `Товар_id` INT NOT NULL,
374 `Набор_id` INT NOT NULL,
375 `Количество_товара` INT NOT NULL DEFAULT 0,
376 `Описание_товара` VARCHAR(100) NULL,
377 PRIMARY KEY (`Товар_id`, `Набор_id`),
378 CONSTRAINT `fk_Товар_has_Набор_Товар1`
379 FOREIGN KEY (`Товар_id`)
380 REFERENCES `mydb`.`Товар` (`Товар_id`)
381 ON DELETE NO ACTION
382 ON UPDATE NO ACTION,
383 CONSTRAINT `fk_Товар_has_Набор_Набор1`
384 FOREIGN KEY (`Набор_id`)
385 REFERENCES `mydb`.`Набор_товаров` (`Набор_товаров_id`)
386 ON DELETE NO ACTION
387 ON UPDATE NO ACTION)
388ENGINE = InnoDB;
389
390CREATE INDEX `fk_Товар_has_Набор_Набор1_idx` ON `mydb`.`Содержимое_набора` (`Набор_id` ASC) VISIBLE;
391
392CREATE INDEX `fk_Товар_has_Набор_Товар1_idx` ON `mydb`.`Содержимое_набора` (`Товар_id` ASC) VISIBLE;
393
394
395-- -----------------------------------------------------
396-- Table `mydb`.`Тара`
397-- -----------------------------------------------------
398DROP TABLE IF EXISTS `mydb`.`Тара` ;
399
400CREATE TABLE IF NOT EXISTS `mydb`.`Тара` (
401 `Тара_id` INT NOT NULL,
402 `Название` VARCHAR(45) NOT NULL,
403 `Материал` VARCHAR(45) NOT NULL,
404 `Вес` FLOAT NOT NULL,
405 `Количество` INT NOT NULL,
406 `Поставщик_id` INT NOT NULL,
407 PRIMARY KEY (`Тара_id`),
408 CONSTRAINT `fk_Тара_Поставщик1`
409 FOREIGN KEY (`Поставщик_id`)
410 REFERENCES `mydb`.`Поставщик` (`Поставщик_id`)
411 ON DELETE NO ACTION
412 ON UPDATE NO ACTION)
413ENGINE = InnoDB;
414
415CREATE INDEX `fk_Тара_Поставщик1_idx` ON `mydb`.`Тара` (`Поставщик_id` ASC) VISIBLE;
416
417
418-- -----------------------------------------------------
419-- Table `mydb`.`Характеристика`
420-- -----------------------------------------------------
421DROP TABLE IF EXISTS `mydb`.`Характеристика` ;
422
423CREATE TABLE IF NOT EXISTS `mydb`.`Характеристика` (
424 `Характеристика_id` INT NOT NULL,
425 `Название` VARCHAR(45) NOT NULL,
426 `Величина` VARCHAR(45) NOT NULL,
427 `Тара_id` INT NULL,
428 PRIMARY KEY (`Характеристика_id`),
429 CONSTRAINT `fk_Характеристика_Тара1`
430 FOREIGN KEY (`Тара_id`)
431 REFERENCES `mydb`.`Тара` (`Тара_id`)
432 ON DELETE NO ACTION
433 ON UPDATE NO ACTION)
434ENGINE = InnoDB;
435
436CREATE INDEX `fk_Характеристика_Тара1_idx` ON `mydb`.`Характеристика` (`Тара_id` ASC) VISIBLE;
437
438
439-- -----------------------------------------------------
440-- Table `mydb`.`Характеристики_товара`
441-- -----------------------------------------------------
442DROP TABLE IF EXISTS `mydb`.`Характеристики_товара` ;
443
444CREATE TABLE IF NOT EXISTS `mydb`.`Характеристики_товара` (
445 `Товар_id` INT NOT NULL,
446 `Характеристика_id` INT NOT NULL,
447 PRIMARY KEY (`Товар_id`, `Характеристика_id`),
448 CONSTRAINT `fk_Товар_has_Характеристика_Товар1`
449 FOREIGN KEY (`Товар_id`)
450 REFERENCES `mydb`.`Товар` (`Товар_id`)
451 ON DELETE NO ACTION
452 ON UPDATE NO ACTION,
453 CONSTRAINT `fk_Товар_has_Характеристика_Характе1`
454 FOREIGN KEY (`Характеристика_id`)
455 REFERENCES `mydb`.`Характеристика` (`Характеристика_id`)
456 ON DELETE NO ACTION
457 ON UPDATE NO ACTION)
458ENGINE = InnoDB;
459
460CREATE INDEX `fk_Товар_has_Характеристика_Характ_idx` ON `mydb`.`Характеристики_товара` (`Характеристика_id` ASC) VISIBLE;
461
462CREATE INDEX `fk_Товар_has_Характеристика_Товар1_idx` ON `mydb`.`Характеристики_товара` (`Товар_id` ASC) VISIBLE;
463
464
465-- -----------------------------------------------------
466-- Table `mydb`.`Товары_магазина`
467-- -----------------------------------------------------
468DROP TABLE IF EXISTS `mydb`.`Товары_магазина` ;
469
470CREATE TABLE IF NOT EXISTS `mydb`.`Товары_магазина` (
471 `Магазин_id` INT NOT NULL,
472 `Товар_id` INT NOT NULL,
473 PRIMARY KEY (`Магазин_id`, `Товар_id`),
474 CONSTRAINT `fk_Магазин_has_Товар_Магазин1`
475 FOREIGN KEY (`Магазин_id`)
476 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
477 ON DELETE NO ACTION
478 ON UPDATE NO ACTION,
479 CONSTRAINT `fk_Магазин_has_Товар_Товар1`
480 FOREIGN KEY (`Товар_id`)
481 REFERENCES `mydb`.`Товар` (`Товар_id`)
482 ON DELETE NO ACTION
483 ON UPDATE NO ACTION)
484ENGINE = InnoDB;
485
486CREATE INDEX `fk_Магазин_has_Товар_Товар1_idx` ON `mydb`.`Товары_магазина` (`Товар_id` ASC) VISIBLE;
487
488CREATE INDEX `fk_Магазин_has_Товар_Магазин1_idx` ON `mydb`.`Товары_магазина` (`Магазин_id` ASC) VISIBLE;
489
490
491-- -----------------------------------------------------
492-- Table `mydb`.`Работники_магазина`
493-- -----------------------------------------------------
494DROP TABLE IF EXISTS `mydb`.`Работники_магазина` ;
495
496CREATE TABLE IF NOT EXISTS `mydb`.`Работники_магазина` (
497 `Магазин_id` INT NOT NULL,
498 `Работник_id` INT NOT NULL,
499 `Опыт_работы` FLOAT NOT NULL DEFAULT 0,
500 PRIMARY KEY (`Магазин_id`, `Работник_id`),
501 CONSTRAINT `fk_Магазин_has_Работник_Магазин1`
502 FOREIGN KEY (`Магазин_id`)
503 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
504 ON DELETE NO ACTION
505 ON UPDATE NO ACTION,
506 CONSTRAINT `fk_Магазин_has_Работник_Работник1`
507 FOREIGN KEY (`Работник_id`)
508 REFERENCES `mydb`.`Работник` (`Работник_id`)
509 ON DELETE NO ACTION
510 ON UPDATE NO ACTION)
511ENGINE = InnoDB;
512
513CREATE INDEX `fk_Магазин_has_Работник_Работник1_idx` ON `mydb`.`Работники_магазина` (`Работник_id` ASC) VISIBLE;
514
515CREATE INDEX `fk_Магазин_has_Работник_Магазин1_idx` ON `mydb`.`Работники_магазина` (`Магазин_id` ASC) VISIBLE;
516
517
518-- -----------------------------------------------------
519-- Table `mydb`.`Товары_в_контракте`
520-- -----------------------------------------------------
521DROP TABLE IF EXISTS `mydb`.`Товары_в_контракте` ;
522
523CREATE TABLE IF NOT EXISTS `mydb`.`Товары_в_контракте` (
524 `Контракт_id` INT NOT NULL,
525 `Товар_id` INT NOT NULL,
526 PRIMARY KEY (`Контракт_id`, `Товар_id`),
527 CONSTRAINT `fk_Контракт_has_Товар_Контракт1`
528 FOREIGN KEY (`Контракт_id`)
529 REFERENCES `mydb`.`Контракт` (`Контракт_id`)
530 ON DELETE NO ACTION
531 ON UPDATE NO ACTION,
532 CONSTRAINT `fk_Контракт_has_Товар_Товар1`
533 FOREIGN KEY (`Товар_id`)
534 REFERENCES `mydb`.`Товар` (`Товар_id`)
535 ON DELETE NO ACTION
536 ON UPDATE NO ACTION)
537ENGINE = InnoDB;
538
539CREATE INDEX `fk_Контракт_has_Товар_Товар1_idx` ON `mydb`.`Товары_в_контракте` (`Товар_id` ASC) VISIBLE;
540
541CREATE INDEX `fk_Контракт_has_Товар_Контракт1_idx` ON `mydb`.`Товары_в_контракте` (`Контракт_id` ASC) VISIBLE;
542
543
544-- -----------------------------------------------------
545-- Table `mydb`.`Содержимое_заказа`
546-- -----------------------------------------------------
547DROP TABLE IF EXISTS `mydb`.`Содержимое_заказа` ;
548
549CREATE TABLE IF NOT EXISTS `mydb`.`Содержимое_заказа` (
550 `Заказ_id` INT NOT NULL,
551 `Товар_id` INT NOT NULL,
552 `Количество_товара` INT NOT NULL DEFAULT 0,
553 PRIMARY KEY (`Заказ_id`, `Товар_id`),
554 CONSTRAINT `fk_Заказ_has_Товар_Заказ1`
555 FOREIGN KEY (`Заказ_id`)
556 REFERENCES `mydb`.`Заказ` (`Заказ_id`)
557 ON DELETE NO ACTION
558 ON UPDATE NO ACTION,
559 CONSTRAINT `fk_Заказ_has_Товар_Товар1`
560 FOREIGN KEY (`Товар_id`)
561 REFERENCES `mydb`.`Товар` (`Товар_id`)
562 ON DELETE NO ACTION
563 ON UPDATE NO ACTION)
564ENGINE = InnoDB;
565
566CREATE INDEX `fk_Заказ_has_Товар_Товар1_idx` ON `mydb`.`Содержимое_заказа` (`Товар_id` ASC) VISIBLE;
567
568CREATE INDEX `fk_Заказ_has_Товар_Заказ1_idx` ON `mydb`.`Содержимое_заказа` (`Заказ_id` ASC) VISIBLE;
569
570
571-- -----------------------------------------------------
572-- Table `mydb`.`Сырье_магазина`
573-- -----------------------------------------------------
574DROP TABLE IF EXISTS `mydb`.`Сырье_магазина` ;
575
576CREATE TABLE IF NOT EXISTS `mydb`.`Сырье_магазина` (
577 `Магазин_id` INT NOT NULL,
578 `Сырье_id` INT NOT NULL,
579 PRIMARY KEY (`Магазин_id`, `Сырье_id`),
580 CONSTRAINT `fk_Магазин_has_Сырье_Магазин1`
581 FOREIGN KEY (`Магазин_id`)
582 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
583 ON DELETE NO ACTION
584 ON UPDATE NO ACTION,
585 CONSTRAINT `fk_Магазин_has_Сырье_Сырье1`
586 FOREIGN KEY (`Сырье_id`)
587 REFERENCES `mydb`.`Сырье` (`Сырье_id`)
588 ON DELETE NO ACTION
589 ON UPDATE NO ACTION)
590ENGINE = InnoDB;
591
592CREATE INDEX `fk_Магазин_has_Сырье_Сырье1_idx` ON `mydb`.`Сырье_магазина` (`Сырье_id` ASC) VISIBLE;
593
594CREATE INDEX `fk_Магазин_has_Сырье_Магазин1_idx` ON `mydb`.`Сырье_магазина` (`Магазин_id` ASC) VISIBLE;
595
596
597-- -----------------------------------------------------
598-- Table `mydb`.`Отзывы_покупателей`
599-- -----------------------------------------------------
600DROP TABLE IF EXISTS `mydb`.`Отзывы_покупателей` ;
601
602CREATE TABLE IF NOT EXISTS `mydb`.`Отзывы_покупателей` (
603 `Покупатель_id` INT NOT NULL,
604 `Отзыв_id` INT NOT NULL,
605 PRIMARY KEY (`Покупатель_id`, `Отзыв_id`),
606 CONSTRAINT `fk_Покупатель_has_Отзыв_Покупатель1`
607 FOREIGN KEY (`Покупатель_id`)
608 REFERENCES `mydb`.`Покупатель` (`Покупатель_id`)
609 ON DELETE NO ACTION
610 ON UPDATE NO ACTION,
611 CONSTRAINT `fk_Покупатель_has_Отзыв_Отзыв1`
612 FOREIGN KEY (`Отзыв_id`)
613 REFERENCES `mydb`.`Отзыв` (`Отзыв_id`)
614 ON DELETE NO ACTION
615 ON UPDATE NO ACTION)
616ENGINE = InnoDB;
617
618CREATE INDEX `fk_Покупатель_has_Отзыв_Отзыв1_idx` ON `mydb`.`Отзывы_покупателей` (`Отзыв_id` ASC) VISIBLE;
619
620CREATE INDEX `fk_Покупатель_has_Отзыв_Покупатель_idx` ON `mydb`.`Отзывы_покупателей` (`Покупатель_id` ASC) VISIBLE;
621
622
623-- -----------------------------------------------------
624-- Table `mydb`.`Переработчик`
625-- -----------------------------------------------------
626DROP TABLE IF EXISTS `mydb`.`Переработчик` ;
627
628CREATE TABLE IF NOT EXISTS `mydb`.`Переработчик` (
629 `Переработчик_id` INT NOT NULL,
630 `Имя` VARCHAR(45) NOT NULL,
631 `Адрес` VARCHAR(100) NOT NULL,
632 `Телефон` VARCHAR(45) NOT NULL,
633 `Контракт_id` INT NOT NULL,
634 PRIMARY KEY (`Переработчик_id`),
635 CONSTRAINT `fk_Переработчик_Контракт1`
636 FOREIGN KEY (`Контракт_id`)
637 REFERENCES `mydb`.`Контракт` (`Контракт_id`)
638 ON DELETE NO ACTION
639 ON UPDATE NO ACTION)
640ENGINE = InnoDB;
641
642CREATE INDEX `fk_Переработчик_Контракт1_idx` ON `mydb`.`Переработчик` (`Контракт_id` ASC) VISIBLE;
643
644
645-- -----------------------------------------------------
646-- Table `mydb`.`Благотворительность`
647-- -----------------------------------------------------
648DROP TABLE IF EXISTS `mydb`.`Благотворительность` ;
649
650CREATE TABLE IF NOT EXISTS `mydb`.`Благотворительность` (
651 `Благотворительность_id` INT NOT NULL,
652 `Название` VARCHAR(45) NOT NULL,
653 `Описание` VARCHAR(1000) NOT NULL,
654 `Телефон` VARCHAR(45) NOT NULL,
655 PRIMARY KEY (`Благотворительность_id`))
656ENGINE = InnoDB;
657
658
659-- -----------------------------------------------------
660-- Table `mydb`.`Переработка_сырья`
661-- -----------------------------------------------------
662DROP TABLE IF EXISTS `mydb`.`Переработка_сырья` ;
663
664CREATE TABLE IF NOT EXISTS `mydb`.`Переработка_сырья` (
665 `Переработчик_id` INT NOT NULL,
666 `Сырье_id` INT NOT NULL,
667 `Прибыль` FLOAT NOT NULL,
668 `Благотворительность_id` INT NOT NULL,
669 PRIMARY KEY (`Переработчик_id`, `Сырье_id`),
670 CONSTRAINT `fk_Переработчик_has_Сырье_Переработ1`
671 FOREIGN KEY (`Переработчик_id`)
672 REFERENCES `mydb`.`Переработчик` (`Переработчик_id`)
673 ON DELETE NO ACTION
674 ON UPDATE NO ACTION,
675 CONSTRAINT `fk_Переработчик_has_Сырье_Сырье1`
676 FOREIGN KEY (`Сырье_id`)
677 REFERENCES `mydb`.`Сырье` (`Сырье_id`)
678 ON DELETE NO ACTION
679 ON UPDATE NO ACTION,
680 CONSTRAINT `fk_Переработка_сырья_Благотворите1`
681 FOREIGN KEY (`Благотворительность_id`)
682 REFERENCES `mydb`.`Благотворительность` (`Благотворительность_id`)
683 ON DELETE NO ACTION
684 ON UPDATE NO ACTION)
685ENGINE = InnoDB;
686
687CREATE INDEX `fk_Переработчик_has_Сырье_Сырье1_idx` ON `mydb`.`Переработка_сырья` (`Сырье_id` ASC) VISIBLE;
688
689CREATE INDEX `fk_Переработчик_has_Сырье_Перерабо_idx` ON `mydb`.`Переработка_сырья` (`Переработчик_id` ASC) VISIBLE;
690
691CREATE INDEX `fk_Переработка_сырья_Благотворит_idx` ON `mydb`.`Переработка_сырья` (`Благотворительность_id` ASC) VISIBLE;
692
693
694-- -----------------------------------------------------
695-- Table `mydb`.`Тара_магазина`
696-- -----------------------------------------------------
697DROP TABLE IF EXISTS `mydb`.`Тара_магазина` ;
698
699CREATE TABLE IF NOT EXISTS `mydb`.`Тара_магазина` (
700 `Магазин_id` INT NOT NULL,
701 `Тара_id` INT NOT NULL,
702 PRIMARY KEY (`Магазин_id`, `Тара_id`),
703 CONSTRAINT `fk_Магазин_has_Тара_Магазин1`
704 FOREIGN KEY (`Магазин_id`)
705 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
706 ON DELETE NO ACTION
707 ON UPDATE NO ACTION,
708 CONSTRAINT `fk_Магазин_has_Тара_Тара1`
709 FOREIGN KEY (`Тара_id`)
710 REFERENCES `mydb`.`Тара` (`Тара_id`)
711 ON DELETE NO ACTION
712 ON UPDATE NO ACTION)
713ENGINE = InnoDB;
714
715CREATE INDEX `fk_Магазин_has_Тара_Тара1_idx` ON `mydb`.`Тара_магазина` (`Тара_id` ASC) VISIBLE;
716
717CREATE INDEX `fk_Магазин_has_Тара_Магазин1_idx` ON `mydb`.`Тара_магазина` (`Магазин_id` ASC) VISIBLE;
718
719
720-- -----------------------------------------------------
721-- Table `mydb`.`Вакансия`
722-- -----------------------------------------------------
723DROP TABLE IF EXISTS `mydb`.`Вакансия` ;
724
725CREATE TABLE IF NOT EXISTS `mydb`.`Вакансия` (
726 `Вакансия_id` INT NOT NULL,
727 `Описание` VARCHAR(1000) NOT NULL,
728 `Должность` VARCHAR(45) NOT NULL,
729 `Дата_публикации` DATE NOT NULL,
730 PRIMARY KEY (`Вакансия_id`))
731ENGINE = InnoDB;
732
733
734-- -----------------------------------------------------
735-- Table `mydb`.`Требование_для_работы`
736-- -----------------------------------------------------
737DROP TABLE IF EXISTS `mydb`.`Требование_для_работы` ;
738
739CREATE TABLE IF NOT EXISTS `mydb`.`Требование_для_работы` (
740 `Требование_для_работы_id` INT NOT NULL,
741 `Описание` VARCHAR(1000) NOT NULL,
742 `Вакансия_id` INT NOT NULL,
743 PRIMARY KEY (`Требование_для_работы_id`),
744 CONSTRAINT `fk_Требование_Вакансия1`
745 FOREIGN KEY (`Вакансия_id`)
746 REFERENCES `mydb`.`Вакансия` (`Вакансия_id`)
747 ON DELETE NO ACTION
748 ON UPDATE NO ACTION)
749ENGINE = InnoDB;
750
751CREATE INDEX `fk_Требование_Вакансия1_idx` ON `mydb`.`Требование_для_работы` (`Вакансия_id` ASC) VISIBLE;
752
753
754-- -----------------------------------------------------
755-- Table `mydb`.`Вакансии_магазина`
756-- -----------------------------------------------------
757DROP TABLE IF EXISTS `mydb`.`Вакансии_магазина` ;
758
759CREATE TABLE IF NOT EXISTS `mydb`.`Вакансии_магазина` (
760 `Магазин_id` INT NOT NULL,
761 `Вакансия_id` INT NOT NULL,
762 PRIMARY KEY (`Магазин_id`, `Вакансия_id`),
763 CONSTRAINT `fk_Магазин_has_Вакансия_Магазин1`
764 FOREIGN KEY (`Магазин_id`)
765 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
766 ON DELETE NO ACTION
767 ON UPDATE NO ACTION,
768 CONSTRAINT `fk_Магазин_has_Вакансия_Вакансия1`
769 FOREIGN KEY (`Вакансия_id`)
770 REFERENCES `mydb`.`Вакансия` (`Вакансия_id`)
771 ON DELETE NO ACTION
772 ON UPDATE NO ACTION)
773ENGINE = InnoDB;
774
775CREATE INDEX `fk_Магазин_has_Вакансия_Вакансия1_idx` ON `mydb`.`Вакансии_магазина` (`Вакансия_id` ASC) VISIBLE;
776
777CREATE INDEX `fk_Магазин_has_Вакансия_Магазин1_idx` ON `mydb`.`Вакансии_магазина` (`Магазин_id` ASC) VISIBLE;
778
779
780-- -----------------------------------------------------
781-- Table `mydb`.`Публикация`
782-- -----------------------------------------------------
783DROP TABLE IF EXISTS `mydb`.`Публикация` ;
784
785CREATE TABLE IF NOT EXISTS `mydb`.`Публикация` (
786 `Публикация_id` INT NOT NULL,
787 `Название` VARCHAR(45) NOT NULL,
788 `Ссылка` VARCHAR(1000) NOT NULL,
789 `Файл_фотографии` VARCHAR(45) NOT NULL,
790 `Магазин_id` INT NOT NULL,
791 PRIMARY KEY (`Публикация_id`),
792 CONSTRAINT `fk_Публикация_Магазин1`
793 FOREIGN KEY (`Магазин_id`)
794 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
795 ON DELETE NO ACTION
796 ON UPDATE NO ACTION)
797ENGINE = InnoDB;
798
799CREATE INDEX `fk_Публикация_Магазин1_idx` ON `mydb`.`Публикация` (`Магазин_id` ASC) VISIBLE;
800
801
802-- -----------------------------------------------------
803-- Table `mydb`.`Пищевая_ценность`
804-- -----------------------------------------------------
805DROP TABLE IF EXISTS `mydb`.`Пищевая_ценность` ;
806
807CREATE TABLE IF NOT EXISTS `mydb`.`Пищевая_ценность` (
808 `Пищевая_ценность_id` INT NOT NULL,
809 `Описание` VARCHAR(45) NOT NULL,
810 `Белки` FLOAT NOT NULL DEFAULT 0,
811 `Жиры` FLOAT NOT NULL DEFAULT 0,
812 `Углеводы` FLOAT NOT NULL DEFAULT 0,
813 `Калории` FLOAT NULL DEFAULT 0,
814 PRIMARY KEY (`Пищевая_ценность_id`))
815ENGINE = InnoDB;
816
817
818-- -----------------------------------------------------
819-- Table `mydb`.`Пункт_меню`
820-- -----------------------------------------------------
821DROP TABLE IF EXISTS `mydb`.`Пункт_меню` ;
822
823CREATE TABLE IF NOT EXISTS `mydb`.`Пункт_меню` (
824 `Пункт_меню_id` INT NOT NULL,
825 `Название` VARCHAR(45) NOT NULL,
826 `Описание` VARCHAR(100) NOT NULL,
827 `Магазин_id` INT NOT NULL,
828 `Пищевая_ценность_id` INT NULL,
829 `Заказ_id` INT NOT NULL,
830 PRIMARY KEY (`Пункт_меню_id`),
831 CONSTRAINT `fk_Пункт_меню_Магазин1`
832 FOREIGN KEY (`Магазин_id`)
833 REFERENCES `mydb`.`Магазин` (`Магазин_id`)
834 ON DELETE NO ACTION
835 ON UPDATE NO ACTION,
836 CONSTRAINT `fk_Пункт_меню_Пищевая_ценность1`
837 FOREIGN KEY (`Пищевая_ценность_id`)
838 REFERENCES `mydb`.`Пищевая_ценность` (`Пищевая_ценность_id`)
839 ON DELETE NO ACTION
840 ON UPDATE NO ACTION,
841 CONSTRAINT `fk_Пункт_меню_Заказ1`
842 FOREIGN KEY (`Заказ_id`)
843 REFERENCES `mydb`.`Заказ` (`Заказ_id`)
844 ON DELETE NO ACTION
845 ON UPDATE NO ACTION)
846ENGINE = InnoDB;
847
848CREATE INDEX `fk_Пункт_меню_Магазин1_idx` ON `mydb`.`Пункт_меню` (`Магазин_id` ASC) VISIBLE;
849
850CREATE INDEX `fk_Пункт_меню_Пищевая_ценность1_idx` ON `mydb`.`Пункт_меню` (`Пищевая_ценность_id` ASC) VISIBLE;
851
852CREATE INDEX `fk_Пункт_меню_Заказ1_idx` ON `mydb`.`Пункт_меню` (`Заказ_id` ASC) VISIBLE;
853
854
855-- -----------------------------------------------------
856-- Table `mydb`.`Единица_объема`
857-- -----------------------------------------------------
858DROP TABLE IF EXISTS `mydb`.`Единица_объема` ;
859
860CREATE TABLE IF NOT EXISTS `mydb`.`Единица_объема` (
861 `Единица_объема_id` INT NOT NULL,
862 `Величина` FLOAT NOT NULL,
863 `Название` VARCHAR(45) NOT NULL,
864 PRIMARY KEY (`Единица_объема_id`))
865ENGINE = InnoDB;
866
867
868-- -----------------------------------------------------
869-- Table `mydb`.`Объем_пункта_меню`
870-- -----------------------------------------------------
871DROP TABLE IF EXISTS `mydb`.`Объем_пункта_меню` ;
872
873CREATE TABLE IF NOT EXISTS `mydb`.`Объем_пункта_меню` (
874 `Пункт_меню_id` INT NOT NULL,
875 `Единица_объема_id` INT NOT NULL,
876 `Цена` FLOAT NOT NULL,
877 PRIMARY KEY (`Пункт_меню_id`, `Единица_объема_id`),
878 CONSTRAINT `fk_Пункт_меню_has_Единица_объема_Пун1`
879 FOREIGN KEY (`Пункт_меню_id`)
880 REFERENCES `mydb`.`Пункт_меню` (`Пункт_меню_id`)
881 ON DELETE NO ACTION
882 ON UPDATE NO ACTION,
883 CONSTRAINT `fk_Пункт_меню_has_Единица_объема_Еди1`
884 FOREIGN KEY (`Единица_объема_id`)
885 REFERENCES `mydb`.`Единица_объема` (`Единица_объема_id`)
886 ON DELETE NO ACTION
887 ON UPDATE NO ACTION)
888ENGINE = InnoDB;
889
890CREATE INDEX `fk_Пункт_меню_has_Единица_объема_Ед_idx` ON `mydb`.`Объем_пункта_меню` (`Единица_объема_id` ASC) VISIBLE;
891
892CREATE INDEX `fk_Пункт_меню_has_Единица_объема_Пу_idx` ON `mydb`.`Объем_пункта_меню` (`Пункт_меню_id` ASC) VISIBLE;
893
894
895-- -----------------------------------------------------
896-- Table `mydb`.`Объем_товара`
897-- -----------------------------------------------------
898DROP TABLE IF EXISTS `mydb`.`Объем_товара` ;
899
900CREATE TABLE IF NOT EXISTS `mydb`.`Объем_товара` (
901 `Товар_id` INT NOT NULL,
902 `Единица_объема_id` INT NOT NULL,
903 `Цена` FLOAT NOT NULL,
904 PRIMARY KEY (`Товар_id`, `Единица_объема_id`),
905 CONSTRAINT `fk_Товар_has_Единица_объема1_Товар1`
906 FOREIGN KEY (`Товар_id`)
907 REFERENCES `mydb`.`Товар` (`Товар_id`)
908 ON DELETE NO ACTION
909 ON UPDATE NO ACTION,
910 CONSTRAINT `fk_Товар_has_Единица_объема1_Единица1`
911 FOREIGN KEY (`Единица_объема_id`)
912 REFERENCES `mydb`.`Единица_объема` (`Единица_объема_id`)
913 ON DELETE NO ACTION
914 ON UPDATE NO ACTION)
915ENGINE = InnoDB;
916
917CREATE INDEX `fk_Товар_has_Единица_объема1_Единиц_idx` ON `mydb`.`Объем_товара` (`Единица_объема_id` ASC) VISIBLE;
918
919CREATE INDEX `fk_Товар_has_Единица_объема1_Товар1_idx` ON `mydb`.`Объем_товара` (`Товар_id` ASC) VISIBLE;
920
921
922SET SQL_MODE=@OLD_SQL_MODE;
923SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
924SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
925