2 数据库设计
系统采用SpringBoot集成Mybatis连接Mysql数据库。数据库名:online_shop。
CREATE DATABASE online_shop ;
2.1 数据库概念结构设计
2.1.1 管理员
管理员包含用户名和密码。管理员的用户名和密码由数据库管理员预设,不需要注册。
2.1.2 用户
用户包括用户ID、邮箱、密码、注册时间、更新时间。注册的用户邮箱不能相同,用户ID唯一。
2.1.3 商品类型
商品类型包括类型ID、类型名称、类型注解、创建时间、更新时间。商品类型由数据库管理员管理,包括新增、删除和修改管理。
2.1.4 商品
商品包括商品编号、名称、原价、现价、库存、图片、类型、商品描述、入库时间、更新时间。
2.1.5 购物车
购物车包括购物车ID、用户ID、商品编号以及购买数量。
2.1.6 收藏商品
收藏商品包括ID、用户ID、商品编号、收藏时间。
2.1.7 订单基础信息
订单基础信息包括订单编号、用户ID、订单金额、订单状态以及下单时间。
2.1.8 订单详情
订单详情包括ID、订单编号、商品编号以及购买数量。
2.2 数据库逻辑结构设计
2.2.1 管理员信息表设计【表名:auser_table]
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
aname | 用户名【PK】 | varchar | 50 | NO |
apwd | 密码 | varchar | 50 | NO |
USE online_shop;
CREATE TABLE auser_table(
aname VARCHAR(50) NOT NULL PRIMARY KEY COMMENT '管理员用户名',
apwd VARCHAR(50) NOT NULL COMMENT '管理员密码'
)COMMENT='管理员信息表';
2.2.2 用户信息表设计【表名:user_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
varchar | 50 | NO | ||
pwd | 密码 | varchar | 50 | NO |
rtime | 注册时间 | datetime | —— | NO |
utime | 更新时间 | datetime | —— | YES |
USE online_shop;
CREATE TABLE user_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
email VARCHAR(50) NOT NULL COMMENT '用户邮箱E-Mail',
pwd VARCHAR(50) NOT NULL COMMENT '用户密码',
rtime datetime NOT NULL COMMENT '注册时间',
utime datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间-根据当前时间戳更新',
)COMMENT='用户信息表';
2.2.3 商品类型表设计【表名:goodstype_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
typename | 类型名称 | varchar | 50 | NO |
description | 描述 | varchar | 255 | NO |
ctime | 创建时间 | datetime | —— | NO |
utime | 更新时间 | datetime | —— | YES |
USE online_shop;
CREATE TABLE goodstype_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
typename VARCHAR(50) NOT NULL COMMENT '类型名称',
description varchar(255) NOT NULL COMMENT '描述',
ctime datetime NOT NULL COMMENT '创建时间',
utime datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
)COMMENT='商品类型表';
2.2.4 商品信息表设计【表名:goods_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | 商品编号【PK-自增】 | int | 11 | NO |
gname | 商品名称 | varchar | 50 | NO |
description | 描述 | varchar | 255 | NO |
goprice | 原价 | double | —— | NO |
grprice | 现价 | double | —— | NO |
gstore | 库存 | int | 11 | NO |
gpicture | 商品图片 | varchar | 50 | YES |
isAdvertisement | 是否广告 | tinyint | 2 | NO |
isRecommend | 是否推荐 | tinyint | 2 | NO |
goodstype_id | 商品类型ID | int | 11 | NO |
etime | 入库时间 | datetime | —— | NO |
utime | 更新时间 | datetime | —— | YES |
USE online_shop;
CREATE TABLE goods_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
gname VARCHAR(50) NOT NULL COMMENT '商品名称',
description VARCHAR(255) NOT NULL COMMENT '商品描述',
goprice DOUBLE NOT NULL COMMENT '商品原价',
grprice DOUBLE NOT NULL COMMENT '商品现价',
gstore INT(11) NOT NULL COMMENT '商品库存',
gpicture VARCHAR(50) NULL COMMENT '商品图片',
isAdvertisement TINYINT(2) NOT NULL COMMENT '是否推荐',
isRecommend TINYINT(2) NOT NULL COMMENT '是否广告',
goodstype_id INT(11) NOT NULL COMMENT '商品类型ID',
etime datetime NOT NULL COMMENT '入库时间',
utime datetime NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
)COMMENT='商品信息表';
2.2.5 购物车信息表设计【表名:cart_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
usertable_id | 用户ID | int | 11 | NO |
goodstable_id | 商品编号 | int | 11 | NO |
shoppingnum | 购买数量 | int | 11 | NO |
USE online_shop;
CREATE TABLE cart_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
usertable_id INT(11) NOT NULL COMMENT '用户ID',
goodstable_id INT(11) NOT NULL COMMENT '商品编号',
shoppingnum INT(11) NOT NULL COMMENT '购买数量'
)COMMENT='购物车信息表';
2.2.6 商品收藏表设计【表名:focus_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
usertable_id | 用户ID | int | 11 | NO |
goodstable_id | 商品编号 | int | 11 | NO |
ftime | 收藏时间 | datetime | —— | NO |
USE online_shop;
CREATE TABLE focus_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
usertable_id INT(11) NOT NULL COMMENT '用户ID',
goodstable_id INT(11) NOT NULL COMMENT '商品编号',
ftime datetime NOT NULL COMMENT '收藏时间'
)COMMENT='商品收藏表';
2.2.7 订单基础表设计【表名:orderbase_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
usertable_id | 用户ID | int | 11 | NO |
amount | 订单金额 | double | —— | NO |
status | 订单状态 | tinyint | 4 | NO |
otime | 下单时间 | datetime | —— | NO |
USE online_shop;
CREATE TABLE orderbase_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
usertable_id INT(11) NOT NULL COMMENT '用户ID',
amount DOUBLE NOT NULL COMMENT '订单金额',
status TINYINT(4) NOT NULL COMMENT '订单状态',
otime datetime NOT NULL COMMENT '下单时间'
)COMMENT='订单基础表';
2.2.8 订单详情表设计【表名:orderdetail_table】
字段 | 含义 | 类型 | 长度 | 是否为空 |
---|---|---|---|---|
id | ID【PK-自增】 | int | 11 | NO |
orderbasetable_id | 订单编号 | int | 11 | NO |
goodstable_id | 商品编号 | int | 11 | NO |
shoppingnum | 购买数量 | int | 11 | NO |
USE online_shop;
CREATE TABLE orderdetail_table(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ID-自增',
orderbasetable_id INT(11) NOT NULL COMMENT '订单编号',
goodstable_id INT(11) NOT NULL COMMENT '商品编号',
shoppingnum INT(11) NOT NULL COMMENT '购买数量'
)COMMENT='订单详情表';