Skip to content

数据库设计文档


涉及的表

序号数据表名中文名称
1employee员工表
2category分类表
3dish菜品表
4dish_flavor菜品口味表
5setmeal套餐表
6setmeal_dish套餐菜品关系表
7user用户表
8address_book地址表
9shopping_cart购物车表
10orders订单表
11order_detail订单明细表

1. employee

employee 表为员工表,用于存储商家内部的员工信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)姓名
usernamevarchar(32)用户名唯一
passwordvarchar(64)密码
phonevarchar(11)手机号
sexvarchar(2)性别
id_numbervarchar(18)身份证号
statusint账号状态1 正常 0 锁定
create_timedatetime创建时间
update_timedatetime最后修改时间
create_userbigint创建人 id
update_userbigint最后修改人 id

2. category

category 表为分类表,用于存储商品的分类信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)分类名称唯一
typeint分类类型1 菜品分类 2 套餐分类
sortint排序字段用于分类数据的排序
statusint状态1 启用 0 禁用
create_timedatetime创建时间
update_timedatetime最后修改时间
create_userbigint创建人 id
update_userbigint最后修改人 id

3. dish

dish 表为菜品表,用于存储菜品的信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)菜品名称唯一
category_idbigint分类 id逻辑外键
pricedecimal(10,2)菜品价格
imagevarchar(255)图片路径
descriptionvarchar(255)菜品描述
statusint售卖状态1 起售 0 停售
create_timedatetime创建时间
update_timedatetime最后修改时间
create_userbigint创建人 id
update_userbigint最后修改人 id

4. dish_flavor

dish_flavor 表为菜品口味表,用于存储菜品的口味信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
dish_idbigint菜品 id逻辑外键
namevarchar(32)口味名称
valuevarchar(255)口味值

5. setmeal

setmeal 表为套餐表,用于存储套餐的信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)套餐名称唯一
category_idbigint分类 id逻辑外键
pricedecimal(10,2)套餐价格
imagevarchar(255)图片路径
descriptionvarchar(255)套餐描述
statusint售卖状态1 起售 0 停售
create_timedatetime创建时间
update_timedatetime最后修改时间
create_userbigint创建人 id
update_userbigint最后修改人 id

6. setmeal_dish

setmeal_dish 表为套餐菜品关系表,用于存储套餐和菜品的关联关系。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
setmeal_idbigint套餐 id逻辑外键
dish_idbigint菜品 id逻辑外键
namevarchar(32)菜品名称冗余字段
pricedecimal(10,2)菜品单价冗余字段
copiesint菜品份数

7. user

user 表为用户表,用于存储 C 端用户的信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
openidvarchar(45)微信用户的唯一标识
namevarchar(32)用户姓名
phonevarchar(11)手机号
sexvarchar(2)性别
id_numbervarchar(18)身份证号
avatarvarchar(500)微信用户头像路径
create_timedatetime注册时间

8. address_book

address_book 表为地址表,用于存储 C 端用户的收货地址信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
user_idbigint用户 id逻辑外键
consigneevarchar(50)收货人
sexvarchar(2)性别
phonevarchar(11)手机号
province_codevarchar(12)省份编码
province_namevarchar(32)省份名称
city_codevarchar(12)城市编码
city_namevarchar(32)城市名称
district_codevarchar(12)区县编码
district_namevarchar(32)区县名称
detailvarchar(200)详细地址信息具体到门牌号
labelvarchar(100)标签公司、家、学校
is_defaulttinyint(1)是否默认地址1 是 0 否

9. shopping_cart

shopping_cart 表为购物车表,用于存储 C 端用户的购物车信息。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)商品名称
imagevarchar(255)商品图片路径
user_idbigint用户 id逻辑外键
dish_idbigint菜品 id逻辑外键
setmeal_idbigint套餐 id逻辑外键
dish_flavorvarchar(50)菜品口味
numberint商品数量
amountdecimal(10,2)商品单价
create_timedatetime创建时间

10. orders

orders 表为订单表,用于存储 C 端用户的订单数据。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
numbervarchar(50)订单号
statusint订单状态1 待付款 2 待接单 3 已接单 4 派送中 5 已完成 6 已取消
user_idbigint用户 id逻辑外键
address_book_idbigint地址 id逻辑外键
order_timedatetime下单时间
checkout_timedatetime付款时间
pay_methodint支付方式1 微信支付 2 支付宝支付
pay_statustinyint支付状态0 未支付 1 已支付 2 退款
amountdecimal(10,2)订单金额
remarkvarchar(100)备注信息
phonevarchar(11)手机号
addressvarchar(255)详细地址信息
user_namevarchar(32)用户姓名
consigneevarchar(32)收货人
cancel_reasonvarchar(255)订单取消原因
rejection_reasonvarchar(255)拒单原因
cancel_timedatetime订单取消时间
estimated_delivery_timedatetime预计送达时间
delivery_statustinyint配送状态1 立即送出 0 选择具体时间
delivery_timedatetime送达时间
pack_amountint打包费
tableware_numberint餐具数量
tableware_statustinyint餐具数量状态1 按餐量提供 0 选择具体数量

11. order_detail

order_detail 表为订单明细表,用于存储 C 端用户的订单明细数据。具体表结构如下

字段名数据类型说明备注
idbigint主键自增
namevarchar(32)商品名称
imagevarchar(255)商品图片路径
order_idbigint订单 id逻辑外键
dish_idbigint菜品 id逻辑外键
setmeal_idbigint套餐 id逻辑外键
dish_flavorvarchar(50)菜品口味
numberint商品数量
amountdecimal(10,2)商品单价