diff options
Diffstat (limited to 'db/init.sql')
-rw-r--r-- | db/init.sql | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/db/init.sql b/db/init.sql new file mode 100644 index 0000000..f1c3506 --- /dev/null +++ b/db/init.sql @@ -0,0 +1,55 @@ +create schema if not exists webs; + +create table if not exists webs.category ( + `ID` int not null auto_increment, + `name` varchar(45) not null, + primary key (`ID`) +); + +create table if not exists webs.product ( + `ID` int not null auto_increment, + `name` varchar(45) not null, + `price` decimal(5, 2) not null, + `image` mediumblob null default null, + `category` int not null, + primary key (`ID`), + constraint `product_category_fk` + foreign key (`category`) + references webs.category (`ID`) + on update cascade +); + +create table if not exists webs.customer ( + `ID` int not null auto_increment, + `name` varchar(45) not null, + primary key (`ID`) +); + +create table if not exists webs.cart ( + `ID` int not null auto_increment, + `product` int not null, + `customer` int not null, + `count` int not null default 1, + primary key (`ID`), + constraint `cart_product_fk` + foreign key (`product`) + references webs.product (`ID`) + on update cascade, + constraint `cart_customer_fk` + foreign key (`customer`) + references webs.customer (`ID`) + on update cascade +); + +create table if not exists webs.promotion ( + `ID` int not null auto_increment, + `product` int not null, + `count_buff` int not null default 1, + `price_buff` decimal(4, 3) not null default 1.0, + primary key (`ID`), + constraint `promotion_product_fk` + foreign key (`product`) + references webs.product (`ID`) + on update cascade +); + |