一:创建数据库:
创建数据库:tmall_springboot
并且将数据库的编码设置为utf8,便于存放中文
DROP DATABASE IF EXISTS tmall_springboot;
CREATE DATABASE tmall_springboot DEFAULT CHARACTER SET utf8;
二:表关系图:
表名 | 中文含义 | 介绍 |
Category | 分类表 | 存放分类信息,如女装,平板电视,沙发等 |
Property | 属性表 | 存放属性信息,如颜色,重量,品牌,厂商,型号等 |
Product | 产品表 | 存放产品信息,如LED40EC平板电视机,海尔EC6005热水器 |
PropertyValue | 属性值表 | 存放属性值信息,如重量是900g,颜色是粉红色 |
ProductImage | 产品图片表 | 存放产品图片信息,如产品页显示的5个图片 |
Review | 评论表 | 存放评论信息,如买回来的蜡烛很好用,么么哒 |
User | 用户表 | 存放用户信息,如斩手狗,千手小粉红 |
Order | 订单表 | 存放订单信息,包括邮寄地址,电话号码等信息 |
OrderItem | 订单项表 | 存放订单项信息,包括购买产品种类,数量等 |
三:表与表的关系
一 | 多 |
Category-分类 | Product-产品 |
Category-分类 | Property-属性 |
Property-属性 | PropertyValue-属性值 |
Product-产品 | PropertyValue-属性值 |
Product-产品 | ProductImage-产品图片 |
Product-产品 | Review-评价 |
User-用户 | Order-订单 |
Product-产品 | OrderItem-订单项 |
User-用户 | OrderItem-订单项 |
Order-订单 | OrderItem-订单项 |
User-用户 | Review-评价 |
四:建用户表
CREATE TABLE user(
id int(11)NOT NULL AUTO_INCREMENT,
name varchar(255)DEFAULT NULL,
passworld varchar(255)DEFAULT NULL,
salt varchar(255)DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
五:建分类表
CREATE TABLE category(
id int(11)NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
六:建属性表
CREATE TABLE property(
id int(11)NOT NULL AUTO_INCREMENT,
cid int(11)DEFAULT NULL,
name varchar(255)DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_property_category FOREIGN KEY(cid)
REFERENCES category(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
七:建产品表
CREATE TABLE product(
id int(11)NOT NULL AUTO_INCREMENT,
name varchar(255)DEFAULT NULL,
subTitle varchar(255)DEFAULT NULL,
originalPrice float DEFAULT NULL,
promotePrice float DEFAULT NULL,
stock int(11) DEFAULT NULL,
cid int(11) DEFAULT NULL,
createDate datetime DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_product_category FOREIGN KEY(cid)REFERENCES category(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
八:建属性值表
CREATE TABLE propertyvalue(
id int(11) NOT NULL AUTO_INCREMENT,
pid int(11)DEFAULT NULL,
ptid int(11)DEFAULT NULL,
value varchar(255)DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_propertyvalue_property FOREIGN KEY(ptid)REFERENCES property(id),
CONSTRAINT fk_propertyvalue_product FOREIGN KEY(pid)REFERENCES product(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
九:建产品图片表
CREATE TABLE productimage(
id int(11)NOT NULL AUTO_INCREMENT,
pid int(11) DEFAULT NULL,
type varchar(255)DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_productimage_product FOREIGN KEY(pid)REFERENCES product(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
十:建评价表
CREATE TABLE review(
id int(11) NOT NULL AUTO_INCREMENT,
content varchar(4000)DEFAULT NULL,
uid int(11)DEFAULT NULL,
pid int(11)DEFAULT NULL,
createDate datEtime DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_review_product FOREIGN KEY(pid) REFERENCES product (id),
CONSTRAINT fk_review_user FOREIGN KEY(uid)REFERENCES user(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
十一:创建订单表
CREATE TABLE order_(
id int(11) NOT NULL AUTO_INCREMENT,
orderCode varchar(255) DEFAULT NULL,
address varchar(255) DEFAULT NULL,
post varchar(255) DEFAULT NULL,
receiver varchar(255) DEFAULT NULL,
mobile varchar(255) DEFAULT NULL,
userMessage varchar(255)DEFAULT NULL,
createDate datetime DEFAULT NULL,
payDate datetime DEFAULT NULL,
deliveryDate datetime DEFAULT NULL,
confirmDate datetime DEFAULT NULL,
uid int(11)DEFAULT NULL,
status varchar(255) DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_order_user FOREIGN KEY(uid)REFERENCES user(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
十二:创建订单项表
CREATE TABLE orderitem(
id int(11) NOT NULL AUTO_INCREMENT,
pid int(11) DEFAULT NULL,
oid int(11) DEFAULT NULL,
uid int(11) DEFAULT NULL,
number int(11)DEFAULT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_orderitem_user FOREIGN KEY(uid) REFERENCES user(id),
CONSTRAINT fk_orderitem_product FOREIGN KEY(pid)REFERENCES product(id),
CONSTRAINT fk_orderitem_order FOREIGN KEY(oid)REFERENCES order_(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;