失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 点餐系统mysql设计 SpringBoot 微信点餐系统 1:数据库表设计

点餐系统mysql设计 SpringBoot 微信点餐系统 1:数据库表设计

时间:2021-07-17 01:55:18

相关推荐

点餐系统mysql设计 SpringBoot 微信点餐系统 1:数据库表设计

项目设计

买家,手机端

卖家,PC 端

功能分析

买家 -> 查询商品 -> 创建/取消订单 -> 支付

卖家 -> 查询/取消/接受订单 -> 管理商品 -> 退款

部署架构

微信/浏览器 -> ng -> tomcat -> redis/mysql

数据库设计

1. product_info

注意点:

因为自增类型有上限,所以不能使用自增类型作为主键。

字符串长度一般设为2的n次方,这样才是整数。

update_time timestamp not null default current_timestamp on update current_timestamp comment '修改时间'。注意默认当前时间default current_timestamp,on update current_timestamp,可以在修改的时候自动更新时间.

查看数据库版本,sql语句,select version();

一般根据商品 product_id 来查询,所以把 product_id 设为主键。

完整建表语句:

create table wxorder_product_info(

`product_id` varchar(32) not null,

`product_name` varchar(64) not null comment '商品名称',

`product_price` decimal(8,2) not null comment '单价',

`product_stock` int not null comment '库存',

`product_desciption` varchar(64) comment '描述',

`product_icon` varchar(512) comment '小图,存放的是链接',

`category_type` int not null comment '类目标号',

`create_time` timestamp not null default current_timestamp comment '创建时间',

`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间',

primary key (`product_id`)

)comment '商品表';

2. product_info

注意点 :

为什么不用id作为类目编号,因为类目编号...(不太理解)

类目编号是唯一的,所以要加约束索引。

create table `wxorder_product_category`(

`category_id` int not null auto_increment,

`category_name` varchar(64) not null comment '类目名字',

`category_type` int not null comment '类目编号',

`create_time` timestamp not null default current_timestamp comment '创建时间',

`update_time` timestamp not null default current_timestamp on update current_timestamp comment '更新时间',

primary key (`category_id`),

unique key `uqe_category_type` (`category_type`)

) comment '类目表';

3. order_master

create table `wxorder_order_master`(

order_id varchar(32) not null,

buyer_name varchar(32) not null comment '买家名字',

buyer_phone varchar(32) not null comment '买家电话',

buyer_address varchar(128) not null comment '买家地址',

buyer_openid varchar(64) not null comment '买家微信openid',

order_amount decimal(8,2) not null comment '订单总金额',

order_status tinyint(3) not null default 0 comment '订单状态,0未下单',

pay_status tinyint(3) not null default 0 comment '支付状态,0未支付',

create_time timestamp not null default current_timestamp comment '创建时间',

update_time timestamp not null default current_timestamp on update current_timestamp comment '修改时间',

primary key (`order_id`),

key key_buyer_openid (`buyer_openid`)

)comment '订单表';

4. wxorder_order_detail

create table `wxorder_order_detail`(

detail_id varchar(32) not null,

order_id varchar(32) not null,

product_id varchar(32) not null,

product_name varchar(64) not null comment '商品名称',

product_price decimal(8,2) not null comment '商品价格',

product_quantity int not null comment '商品数量',

product_icon varchar(512) comment '商品小图',

create_time timestamp not null default current_timestamp comment '创建时间',

update_time timestamp not null default current_timestamp on update current_timestamp comment '修改时间',

primary key (`detail_id`),

index `idx_order_id` (`order_id`)

) comment '订单详情';

5. wxorder_order_master

如果觉得《点餐系统mysql设计 SpringBoot 微信点餐系统 1:数据库表设计》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。