· 7 years ago · Feb 26, 2019, 04:32 PM
1SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
2SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
3SET @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';
4
5CREATE SCHEMA IF NOT EXISTS `cupcake` DEFAULT CHARACTER SET utf8 ;
6USE `cupcake` ;
7DROP TABLE IF EXISTS cupcake.cupcakerecipes_has_invoice;
8DROP TABLE IF EXISTS cupcake.invoice;
9DROP TABLE IF EXISTS cupcake.`admin`;
10DROP TABLE IF EXISTS cupcake.customers;
11DROP TABLE IF EXISTS cupcake.users;
12DROP TABLE IF EXISTS cupcake.cupcakerecipes;
13
14CREATE TABLE IF NOT EXISTS `cupcake`.`CupcakeRecipes` (
15 `Id` INT NOT NULL AUTO_INCREMENT,
16 `Name` VARCHAR(45) NOT NULL,
17 `Toppings` VARCHAR(45) NOT NULL,
18 `Bottom` VARCHAR(45) NOT NULL,
19 `Price` INT NULL,
20 PRIMARY KEY (`Id`),
21 UNIQUE INDEX `Id_UNIQUE` (`Id` ASC) VISIBLE,
22 UNIQUE INDEX `Name_UNIQUE` (`Name` ASC) VISIBLE)
23ENGINE = InnoDB;
24
25CREATE TABLE IF NOT EXISTS `cupcake`.`Customers` (
26 `Balance` VARCHAR(45) NULL,
27 `Email` VARCHAR(45) NOT NULL,
28 PRIMARY KEY (`Email`))
29ENGINE = InnoDB;
30
31CREATE TABLE IF NOT EXISTS `cupcake`.`Users` (
32 `Username` VARCHAR(45) NOT NULL,
33 `Password` VARCHAR(45) NULL,
34 `Email` VARCHAR(45) NULL,
35 PRIMARY KEY (`Username`),
36 UNIQUE INDEX `Username_UNIQUE` (`Username` ASC) VISIBLE,
37 INDEX `Email_idx` (`Email` ASC) VISIBLE,
38 CONSTRAINT `Email`
39 FOREIGN KEY (`Email`)
40 REFERENCES `cupcake`.`Customers` (`Email`)
41 ON DELETE NO ACTION
42 ON UPDATE NO ACTION)
43ENGINE = InnoDB;
44
45CREATE TABLE IF NOT EXISTS `cupcake`.`Admin` (
46 `Admin` TINYINT NOT NULL,
47 `Username` VARCHAR(45) NOT NULL,
48 INDEX `Username_idx` (`Username` ASC) VISIBLE,
49 PRIMARY KEY (`Admin`),
50 CONSTRAINT `Username`
51 FOREIGN KEY (`Username`)
52 REFERENCES `cupcake`.`users` (`Username`)
53 ON DELETE NO ACTION
54 ON UPDATE NO ACTION)
55ENGINE = InnoDB;
56
57CREATE TABLE IF NOT EXISTS `cupcake`.`Invoice` (
58 `Quantity` INT NOT NULL,
59 `TotalPrice` INT NULL,
60 `Id` INT NOT NULL AUTO_INCREMENT,
61 `Admin` TINYINT NULL,
62 `Username` VARCHAR(45) NULL,
63 PRIMARY KEY (`Id`),
64 INDEX `Admin_idx` (`Admin` ASC) VISIBLE,
65 INDEX `Username_idx` (`Username` ASC) VISIBLE,
66 CONSTRAINT `Admin`
67 FOREIGN KEY (`Admin`)
68 REFERENCES `cupcake`.`Admin` (`Admin`)
69 ON DELETE NO ACTION
70 ON UPDATE NO ACTION,
71 CONSTRAINT `Username`
72 FOREIGN KEY (`Username`)
73 REFERENCES `cupcake`.`users` (`Username`)
74 ON DELETE NO ACTION
75 ON UPDATE NO ACTION)
76ENGINE = InnoDB;
77
78CREATE TABLE IF NOT EXISTS `cupcake`.`CupcakeRecipes_has_Invoice` (
79 `Invoice_id` INT NOT NULL,
80 `CupecakeRecipes_id` INT NOT NULL,
81 `Quantity` INT NULL,
82 INDEX `Invoice_idx` (`Invoice_id` ASC) VISIBLE,
83 UNIQUE INDEX `Invoice_id_UNIQUE` (`Invoice_id` ASC) VISIBLE,
84 UNIQUE INDEX `CupecakeRecipes_id_UNIQUE` (`CupecakeRecipes_id` ASC) VISIBLE,
85 CONSTRAINT `Invoice_id`
86 FOREIGN KEY (`Invoice_id`)
87 REFERENCES `cupcake`.`Invoice` (`Id`)
88 ON DELETE NO ACTION
89 ON UPDATE NO ACTION,
90 CONSTRAINT `CupecakeRecipes_id`
91 FOREIGN KEY (`CupecakeRecipes_id`)
92 REFERENCES `cupcake`.`CupcakeRecipes` (`Id`)
93 ON DELETE NO ACTION
94 ON UPDATE NO ACTION)
95ENGINE = InnoDB;
96
97
98SET SQL_MODE=@OLD_SQL_MODE;
99SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
100SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;