开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat-环境搭建-数据库准备 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/758/detail/13307
MyCat-环境搭建-数据库准备
数据库
下面就是这个案例所涉及到的数据库,以及数据库表的结构。
第一个就是存储省份表,第二个就是存储市表,第三张就是存储区县表。一个省份包括多个市,一个城市下面会有很多区县,包括城市,区县的名称,还有当前城市是归属哪一个省的。所以,前面三张表就是省市区的基础信息表。
1.省份表 tb_provinces
Feild |
Type |
Comment |
provinceid |
varchar(20) |
省份 ID |
province |
varchar(50) |
省份名称 |
2. 市表 tb_cities
Feild |
Type |
Comment |
cityid |
varchar(20) |
城市 ID |
city |
varchar(50) |
城市名称 |
provinceid |
varchar(20) |
省份 ID |
3. 区县表 tb_areas
Feild |
Type |
Comment |
areaid |
varchar(20) |
区域 ID |
area |
varchar(50) |
区域名称 |
cityid |
varchar(20) |
城市 ID |
4. 商品分类表 tb_category
接下来是商品分类表。因为是电商项目,所以每个电商项目就会有对应的商品的分类。包括分类的名称,当前分类的商品数量,是否展示导航,排序等信息。
Feild |
Type |
Comment |
id |
int(20) |
分类 ID |
name |
varchar(50) |
分类名称 |
goods_num |
int(11) |
商品数量 |
is_show |
char(1) |
是否显示 |
is_menu |
char(1) |
是否导航 |
seq |
int(11) |
排序 |
parent_id |
int(20) |
上级 ID |
5. 品牌表 tb_brand
电商当中还有一个非常重要的品牌表,品牌表就包含品牌的名称,品牌的图片,地址,因为每个品牌都会有这样一个 LOGO,所以还会有品牌的图片地址,然后接下来就是品牌的首字母以及当前品牌的排序情况是什么样的。这是关于商品表的前两个部分,一个是分类,一个是品牌。
Feild |
Type |
Comment |
id |
int(11) |
品牌 ID |
name |
varchar(100) |
品牌名称 |
image |
varchar(1000) |
品牌图片地址 |
letter |
char(1) |
品牌的首字母 |
seq |
int(11) |
排序 |
6. 商品SPU表 tb_spu
前面两个表是关于商品表的两个部分,一个是分类,一个是品牌。然后接下来还有一个商品表,这个商品表叫做 SPU 表,就是商品的一个基本的一个单元标准产品单元,这个里面存储的是商品的一些基础信息,比如当前商品的货号,当前商品的名称就是 SPU 的名称,商品的副标题,商品所属的品牌分类,以及模板,图片等信息,还有一些商品的规格参数等信息。
Feild |
Type |
Comment |
id |
varchar(20) |
主键 |
sn |
varchar(60) |
货号 |
name |
varchar(100) |
SPU 名 |
caption |
varchar(100) |
副标题 |
brand_id |
int(11) |
品牌 ID |
category1_id |
int(20) |
一级分类 |
category2_id |
int(10) |
二级分类 |
category3_id |
int(10) |
三级分类 |
template_id |
int(20) |
模板 ID |
freight_id |
Int(11) |
运费模板 ID |
image |
varchar(200) |
图片 |
images |
varchar(2000) |
图片列表 |
sale_service |
varchar(50) |
售后服务 |
introduction |
text |
介绍 |
spec_items |
varchar(3000) |
规格列表 |
para_items |
varchar(3000) |
参数列表 |
sale_num |
int(11) |
销量 |
comment_num |
int(11) |
评论数 |
is_marketable |
char(1) |
是否上架 |
is_enable_spec |
char(1) |
是否启用规格 |
is_delete |
char(1) |
是否删除 |
status |
char(1) |
审核状态 |
7. 商品 SKU 表 tb_sku
对于商品表还有一张表,就是这个叫做 SKU 表,而一个 SKU 是可以对应多个 SKU 的,那么这个就是 SKU 表,这个表里面存储的就是商品的 SKU 信息,这个里面包含了商品 SKU 对应的这些规格信息是什么样的,品牌信息,还有一个库存的数量,库存的预警数量等信息。
那么,这是商品涉及到的四张表,这四张表分别是分类表品牌表,商品的基本信息表, SPU 表还有 SKU 表,这些字段目前在这块先做一个简单的介绍,我们再去做具体业务的时候,我们再来详细说一下这块对吧。
Feild |
Type |
Comment |
id |
varchar(20) |
商品 ID |
sn |
varchar(100) |
商品条码 |
name |
varchar(200) |
SKU名称 |
price |
int(20) |
价格(分) |
num |
int(10) |
库存数量 |
alter_num |
int(11) |
库存预警数量 |
image |
varchar(200) |
商品图片 |
images |
varchar(2000) |
商品图片列表 |
weight |
int(11) |
重量(克) |
create_time |
datetime |
创建时间 |
update_time |
datetime |
更新时间 |
spu_id |
varchar(20) |
SPUID |
category_id |
int(10) |
类目 ID |
category_name |
varchar(200) |
类目名称 |
brand_name |
varchar(100) |
品牌名称 |
spec |
varchar(200) |
规格 |
sale_num |
int(11) |
销量 |
comment_num |
int(11) |
评论数 |
status |
char(1) |
商品状态 1-正常,2-下架,3-删除 |
version |
int(255) |
|
8. 订单表 tb_order
然后接下来,就是订单模块涉及到的表。那么下面这张表这就是订单表,然后还有一张表叫做 order_item ,这张表就是订单明细表了。用户在这一块去生成一个订单的同时,那么在这一块可能也会产生多条订单明细,所以订单和订单明细的表结构之间的关系就是一对多。里面这份字段还是之后再说。
Feild |
Type |
Comment |
id |
varchar(200) |
订单 ID |
total_num |
int(11) |
数量合计 |
total_money |
int(11) |
金额合计 |
pre_money |
int(11) |
优惠金额 |
post_fee |
int(11) |
邮费 |
pay_money |
int(11) |
实付金额 |
pay_type |
varchar(1) |
支付类型,1-在线支付,0-货到付款 |
create_time |
datetime |
订单创建时间 |
update_time |
datetime |
订单更新时间 |
pay_time |
datetime |
付款时间 |
consign_time |
datetime |
发货时间 |
end_time |
datetime |
交易完成时间 |
close_time |
datetime |
交易关闭时间 |
shipping_name |
varchar(20) |
物流名称 |
shipping_code |
varchar(20) |
物流单号 |
username |
varchar(50) |
用户名称 |
buyer_message |
varchar(1000) |
买家留言 |
buyer_rate |
char(1) |
是否评价 |
receiver_contact |
varchar(50) |
收货人 |
receiver_mobile |
varchar(12) |
收货人手机 |
receiver_province |
varchar(200) |
收货人省份 |
receiver_city |
varchar(200) |
收货人市 |
receiver_area |
varchar(200) |
收货人区/县 |
receiver_address |
varchar(200) |
收货人具体街道地址 |
source_type |
char(1) |
订单来源:1:web,2:app,3:微信公众号,4:微信小程序,5:H5手机页面 |
transaction_id |
varchar(30) |
交易流水号 |
order_status |
char(1) |
订单状态 |
pay_status |
char(1) |
支付状态:0:未支付,1:已支付 |
consign_status |
char(1) |
发货状态0:未发货,1:已发货,2:已送达 |
is_delete |
char(1) |
是否删除 |
9.订单明细表 tb_order_item
Feild |
Type |
Comment |
id |
varchar(200) |
ID |
category_id1 |
int(11) |
1级分类 |
category_id2 |
int(11) |
2级分类 |
category_id3 |
int(11) |
3级分类 |
spu_id |
varchar(200) |
SPU_ID |
sku_id |
varchar(200) |
SKU_ID |
order_id |
varchar(200) |
订单 ID |
name |
varchar(200) |
商品名称 |
price |
int(20) |
单价 |
num |
int(10) |
数量 |
money |
int(20) |
总金额 |
pay_money |
int(11) |
实付金额 |
image |
varchar(200) |
图片地址 |
weight |
int(11) |
重量 |
post_fee |
int(11) |
运费 |
is_return |
char(1) |
是否退货 |
10.订单日志表 tb_order_log
在这里还有张订单相关的表是订单日志表,订单日志表当中记录的就是订单的数据变更,比如我对这个订单的修改,这个发货状态做了一个修改支付状态,做了修改,那么这些我们都会记录在订单日志当中,用于后期我们对订单的这块数据进行跟踪。
Feild |
Type |
Comment |
id |
varchar(20) |
ID |
operater |
varchar(50) |
操作员 |
operate_time |
datetime |
操作时间 |
order_id |
bigint(20) |
订单 ID |
order_status |
char(1) |
订单状态 |
pay_status |
char(1) |
付款状态 |
consign_status |
char(1) |
发货状态 |
remarks |
varchar(100) |
备注 |
11. 操作日志表 tb_operatelog
然后再往下走,那么在这里还有一个装是操作日志表,那么这个是日志模块涉及到的表结构,这张表是用来记录我们系统当中所产生的日志信息,我们在操作日志模块的时候,日志微博的时候,就需要用到这张表当中大数据。
Feild |
Type |
Comment |
id |
bigint(20) |
ID |
model_name |
varchar(200) |
模块名 |
model_value |
varchar(200) |
模块值 |
return_value |
varchar(200) |
返回值 |
return_class |
varchar(200) |
返回值类型 |
operate_user |
varchar(20) |
操作用户 |
operate_time |
varchar(20) |
操作时间 |
param_and_value |
varchar(500) |
请求参数名及参数值 |
operate_class |
varchar(200) |
操作类 |
operate_method |
varchar(200) |
操作方法 |
cost_time |
bigint(20) |
执行方法耗时,单位ms |
12.字典表 tb_dictionary
最后一张表就是数据字典表,叫做 tb_dictionary 。这张表就是数据字典表,在数据字典表中维护的就是当前这个项目当中的一些基础的数据,都会维护在字典表当中。
Feild |
Type |
Comment |
id |
int(11) |
主键 ID ,自增 |
codeid |
int(11) |
码表 ID |
codetype |
varchar(2) |
码值类型 |
codename |
varchar(50) |
名称 |
codevalue |
varchar(50) |
码值 |
description |
varchar(100) |
描述 |
createtime |
datetime |
创建时间 |
updatetime |
datetime |
修改时间 |
createuser |
int(11) |
创建人 |
updateuser |
int(11) |
修改人 |
这是我们当前这个案例所涉及到的这么十二张表。
接下来,就需要将这十二张表的表结构创建出来。
大家只需要把这个 sql 语句导入到我们的数据库表结构当中就可以了,那么在这里,它会给我们创建一个数据库,叫做 v_shop 。
那么,在 v_shop 这个数据库当中,我们将会来创建这十二张表。在我的数据库当中, v_shop 这个数据库已经创建好了,十二章表结构也已经有。
里面的数据,这个表结构主要是分为四个部分,第一个部分基础数据的表结构。比如这里的
省 province
city 市
areas 区
dictionary
这些都是属于基础信息表。
接下来再来看商品表,这里涉及到
category
brand
spu
Sku
这是第二部分商品模块涉及到的表。
接下来的三个部分就是订单模块涉及到的表。
order
order_item 订单明细
order_log 订单日志
这是订单模块涉及到的表。
而第四块就是日志模块涉及到的表。
operatelog
这是案例的数据库表结构。对于表结构当中具体的字段,我们在做业务的时候具体来说。











