· 4 years ago · Apr 05, 2021, 12:38 PM
1CREATE TABLE IF NOT EXISTS `Customer` (
2 `id` INT AUTO_INCREMENT,
3 `Email` TEXT NOT NULL,
4 `Phone` TEXT NOT NULL,
5 `Address` TEXT,
6 PRIMARY KEY (`id`)
7);
8
9CREATE TABLE IF NOT EXISTS `ShoppingBasket` (
10 `id` INT AUTO_INCREMENT,
11 `customer_id` INT NOT NULL,
12 PRIMARY KEY (`id`)
13);
14
15CREATE TABLE IF NOT EXISTS `Publisher` (
16 `id` INT AUTO_INCREMENT,
17 `Name` TEXT NOT NULL,
18 `Phone` TEXT,
19 `URL` TEXT,
20 `Address` TEXT,
21 PRIMARY KEY (`id`)
22);
23
24CREATE TABLE IF NOT EXISTS `Author` (
25 `id` INT AUTO_INCREMENT,
26 `Name` TEXT NOT NULL,
27 `Address` TEXT NOT NULL,
28 PRIMARY KEY (`id`)
29);
30
31CREATE TABLE IF NOT EXISTS `Warehouse` (
32 `id` INT AUTO_INCREMENT,
33 `Code` TEXT NOT NULL,
34 `Phone` TEXT NOT NULL,
35 `Address` TEXT NOT NULL,
36 PRIMARY KEY (`id`)
37);
38
39CREATE TABLE IF NOT EXISTS `Book` (
40 `id` INT AUTO_INCREMENT,
41 `ISBN` TEXT NOT NULL,
42 `Year` DATE NOT NULL,
43 `Title` TEXT NOT NULL,
44 `Price` DOUBLE NOT NULL,
45 `author_id` INT NOT NULL,
46 `publisher_id` INT NOT NULL,
47 PRIMARY KEY (`id`),
48 UNIQUE KEY unique_ISBN (ISBN)
49);
50
51CREATE TABLE IF NOT EXISTS `Storage` (
52 `book_id` INT NOT NULL,
53 `warehouse_id` INT NOT NULL
54);
55
56CREATE TABLE IF NOT EXISTS `CurrentRowInBasket` (
57 `Count` INT NOT NULL,
58 `book_id` INT NOT NULL,
59 `shopping_basket_id` INT NOT NULL
60);
61
62ALTER TABLE `ShoppingBasket` ADD CONSTRAINT `ShoppingBasket_fk_0_customer_id` FOREIGN KEY (customer_id) REFERENCES `Customer`(`id`) ;
63ALTER TABLE `Book` ADD CONSTRAINT `Book_fk_0_author_id` FOREIGN KEY (author_id) REFERENCES `Author`(`id`) ;
64ALTER TABLE `Book` ADD CONSTRAINT `Book_fk_0_publisher_id` FOREIGN KEY (publisher_id) REFERENCES `Publisher`(`id`) ;
65ALTER TABLE `Storage` ADD CONSTRAINT `Storage_fk_0_book_id` FOREIGN KEY (book_id) REFERENCES `Book`(`id`) ;
66ALTER TABLE `Storage` ADD CONSTRAINT `Storage_fk_0_warehouse_id` FOREIGN KEY (warehouse_id) REFERENCES `Warehouse`(`id`) ;
67ALTER TABLE `CurrentRowInBasket` ADD CONSTRAINT `CurrentRowInBasket_fk_0_book_id` FOREIGN KEY (book_id) REFERENCES `Book`(`id`) ;
68ALTER TABLE `CurrentRowInBasket` ADD CONSTRAINT `CurrentRowInBasket_fk_0_shopping_basket_id` FOREIGN KEY (shopping_basket_id) REFERENCES `ShoppingBasket`(`id`) ;
69