· 4 years ago · May 28, 2021, 03:18 PM
1-- MySQL Script generated by MySQL Workbench
2-- Fri Mar 5 18:11:42 2021
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
7SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
8SET @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';
9
10-- -----------------------------------------------------
11-- Schema internet_sales
12-- -----------------------------------------------------
13DROP SCHEMA IF EXISTS `internet_sales` ;
14
15-- -----------------------------------------------------
16-- Schema internet_sales
17-- -----------------------------------------------------
18CREATE SCHEMA IF NOT EXISTS `internet_sales` DEFAULT CHARACTER SET utf8 ;
19USE `internet_sales` ;
20
21-- -----------------------------------------------------
22-- Table `internet_sales`.`users`
23-- -----------------------------------------------------
24DROP TABLE IF EXISTS `internet_sales`.`users` ;
25
26CREATE TABLE IF NOT EXISTS `internet_sales`.`users` (
27 `id` INT NOT NULL AUTO_INCREMENT,
28 `fio` VARCHAR(255) NOT NULL,
29 `login` VARCHAR(255) NULL,
30 `password` VARCHAR(255) NULL,
31 `e_mail` VARCHAR(225) NULL,
32 `type` VARCHAR(45) NULL,
33 `userscol` VARCHAR(45) NULL,
34 PRIMARY KEY (`id`, `fio`),
35 UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
36 UNIQUE INDEX `login_UNIQUE` (`login` ASC) VISIBLE)
37ENGINE = InnoDB;
38
39
40-- -----------------------------------------------------
41-- Table `internet_sales`.`Shops`
42-- -----------------------------------------------------
43DROP TABLE IF EXISTS `internet_sales`.`Shops` ;
44
45CREATE TABLE IF NOT EXISTS `internet_sales`.`Shops` (
46 `id` INT NOT NULL AUTO_INCREMENT,
47 `name` VARCHAR(225) NULL,
48 `address` VARCHAR(225) NULL,
49 `tel` VARCHAR(225) NULL,
50 `site` VARCHAR(225) NULL,
51 `email` VARCHAR(100) NULL,
52 PRIMARY KEY (`id`))
53ENGINE = InnoDB;
54
55
56-- -----------------------------------------------------
57-- Table `internet_sales`.`settings`
58-- -----------------------------------------------------
59DROP TABLE IF EXISTS `internet_sales`.`settings` ;
60
61CREATE TABLE IF NOT EXISTS `internet_sales`.`settings` (
62 `id` INT NOT NULL AUTO_INCREMENT,
63 `host` VARCHAR(45) NULL,
64 `db` VARCHAR(45) NULL,
65 `user` VARCHAR(45) NULL,
66 PRIMARY KEY (`id`))
67ENGINE = InnoDB;
68
69
70-- -----------------------------------------------------
71-- Table `internet_sales`.`product_type`
72-- -----------------------------------------------------
73DROP TABLE IF EXISTS `internet_sales`.`product_type` ;
74
75CREATE TABLE IF NOT EXISTS `internet_sales`.`product_type` (
76 `id` INT NOT NULL,
77 `name` VARCHAR(225) NULL,
78 PRIMARY KEY (`id`))
79ENGINE = InnoDB;
80
81
82-- -----------------------------------------------------
83-- Table `internet_sales`.`Products`
84-- -----------------------------------------------------
85DROP TABLE IF EXISTS `internet_sales`.`Products` ;
86
87CREATE TABLE IF NOT EXISTS `internet_sales`.`Products` (
88 `id` INT NOT NULL AUTO_INCREMENT,
89 `shop_id` INT NOT NULL,
90 `type_id` INT NOT NULL,
91 `brand` VARCHAR(225) NULL,
92 `model` VARCHAR(225) NULL,
93 `data` TINYTEXT NULL,
94 `img` VARCHAR(225) NULL,
95 `price` VARCHAR(45) NULL,
96 `warranty` VARCHAR(45) NULL,
97 `Productscol` VARCHAR(45) NULL,
98 PRIMARY KEY (`id`, `shop_id`, `type_id`),
99 INDEX `shop_to_products_idx` (`type_id` ASC, `shop_id` ASC) VISIBLE,
100 CONSTRAINT `shop_to_products`
101 FOREIGN KEY (`type_id` , `shop_id`)
102 REFERENCES `internet_sales`.`Shops` (`id` , `id`)
103 ON DELETE NO ACTION
104 ON UPDATE NO ACTION,
105 CONSTRAINT `product_to_type`
106 FOREIGN KEY (`type_id`)
107 REFERENCES `internet_sales`.`product_type` (`id`)
108 ON DELETE NO ACTION
109 ON UPDATE NO ACTION)
110ENGINE = InnoDB;
111
112
113-- -----------------------------------------------------
114-- Table `internet_sales`.`Orders`
115-- -----------------------------------------------------
116DROP TABLE IF EXISTS `internet_sales`.`Orders` ;
117
118CREATE TABLE IF NOT EXISTS `internet_sales`.`Orders` (
119 `id` INT NOT NULL,
120 `shop_id` INT NOT NULL,
121 `product_id` INT NOT NULL,
122 `fio` INT NOT NULL,
123 `date` DATE NULL,
124 `quantity` TINYINT NULL,
125 `tel` VARCHAR(100) NULL,
126 `confirm` TINYINT NULL,
127 PRIMARY KEY (`id`, `shop_id`, `product_id`, `fio`),
128 INDEX `fio_to_orders_idx` (`fio` ASC) VISIBLE,
129 INDEX `shops_to_orders_idx` (`shop_id` ASC) VISIBLE,
130 INDEX `product_to_orders_idx` (`product_id` ASC) VISIBLE,
131 CONSTRAINT `fio_to_orders`
132 FOREIGN KEY (`fio`)
133 REFERENCES `internet_sales`.`users` (`id`)
134 ON DELETE NO ACTION
135 ON UPDATE NO ACTION,
136 CONSTRAINT `shops_to_orders`
137 FOREIGN KEY (`shop_id`)
138 REFERENCES `internet_sales`.`Shops` (`id`)
139 ON DELETE NO ACTION
140 ON UPDATE NO ACTION,
141 CONSTRAINT `product_to_orders`
142 FOREIGN KEY (`product_id`)
143 REFERENCES `internet_sales`.`Products` (`id`)
144 ON DELETE NO ACTION
145 ON UPDATE NO ACTION)
146ENGINE = InnoDB;
147
148
149-- -----------------------------------------------------
150-- Table `internet_sales`.`Deliveries`
151-- -----------------------------------------------------
152DROP TABLE IF EXISTS `internet_sales`.`Deliveries` ;
153
154CREATE TABLE IF NOT EXISTS `internet_sales`.`Deliveries` (
155 `order_id` INT NOT NULL AUTO_INCREMENT,
156 `fio` INT NOT NULL,
157 `address` VARCHAR(225) NULL,
158 `time` VARCHAR(45) NULL,
159 `date` DATE NULL,
160 `confirm` TINYINT NULL,
161 PRIMARY KEY (`order_id`, `fio`),
162 INDEX `fio_to_deliveries_idx` (`fio` ASC) VISIBLE,
163 CONSTRAINT `fio_to_deliveries`
164 FOREIGN KEY (`fio`)
165 REFERENCES `internet_sales`.`Orders` (`fio`)
166 ON DELETE NO ACTION
167 ON UPDATE NO ACTION,
168 CONSTRAINT `orders_to_deliviries`
169 FOREIGN KEY (`order_id`)
170 REFERENCES `internet_sales`.`Orders` (`id`)
171 ON DELETE NO ACTION
172 ON UPDATE NO ACTION)
173ENGINE = InnoDB;
174
175
176SET SQL_MODE=@OLD_SQL_MODE;
177SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
178SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
179