第二节——数据库设计
执键写春秋 589 1

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
表2.1 管理员信息表
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
email E-mail varchar 50 NO
pwd 密码 varchar 50 NO
rtime 注册时间 datetime —— NO
utime 更新时间 datetime —— YES
表2.2 用户信息表
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
表2.3 商品类型表
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
表2.4 商品信息表
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
表2.5 购物车信息表
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
表2.6 商品收藏表
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
表2.7 订单基础表
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
表2.8 订单详情表
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='订单详情表';
评论区

索引目录