新零售mysql设计(快递表 退货表)

2022-11-02 11:28:45 浏览数 (1)

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录

  • sql
    • 快递表:
      • 解析:
      • 数据
    • 退货表
      • 解析:
      • 数据

sql

快递表:

代码语言:javascript复制
CREATE TABLE t_delivery(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
order_id int unsigned not null COMMENT "订单id",
sku JSON not null COMMENT "商品",
    qa_id INT unsigned not null COMMENT "质检员id",
    de_id int unsigned not null COMMENT "发货员id",
    postid varchar(20) not null COMMENT "快递单号",
    price decimal unsigned not null COMMENT "快递费",
    ecp tinyint unsigned not null COMMENT "快递公司编号",
    address_id int unsigned not null COMMENT "收货地址id",
    warehouse_id int unsigned not null COMMENT "仓库id",
    create_time timestamp not null DEFAULT NOW()  COMMENT "添加时间",
    INDEX idx_order_id(order_id),
    INDEX idx_qa_id(qa_id),
    INDEX idx_de_id(de_id),
    INDEX idx_postid(postid),
    INDEX idx_warehouse_id(warehouse_id),
    INDEX idx_address_id(address_id),
    INDEX idx_ecp(ecp)
) COMMENT="快递表";

解析:

你想啊。一个快递表是吧。也就是这个表包括送快递这块的方方面面对吧,那这个快递表是送什么的。是不是订单里面的商品。所以得包括订单表的id对吧。也包括商品对吧。那这个订单送的过程中,是不是需要质检员检测有没有质量问题破损什么的。对吧。发货给我们的快递小哥也需要对吧。快递单号也需要对吧。快递费也需要。谁送的也就是快递公司编号也需要。收货地址当然需要啦.从哪里开始送的也需要。

注意:为什么not null呢? 因为一些内容不填写的话,不知道送去哪。谁接收。对吧

代码语言:javascript复制
 INDEX idx_order_id(order_id),
    INDEX idx_qa_id(qa_id),
    INDEX idx_de_id(de_id),
    INDEX idx_postid(postid),
    INDEX idx_warehouse_id(warehouse_id),
    INDEX idx_address_id(address_id),
    INDEX idx_ecp(ecp)

索引的作用是查询速度快。关联的别的表需要索引的。

数据

退货表

代码语言:javascript复制
CREATE TABLE t_backstock(
    id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    order_id int unsigned not null COMMENT "订单id",
    sku JSON not null COMMENT "退货商品",
    reason varchar(200) not null COMMENT "退款原因",
    qa_id int unsigned not null COMMENT "质检员id",
    payment decimal(10,2)  unsigned not null COMMENT "退款金额",
    payment_type tinyint unsigned  not null COMMENT "退款方式:1借记卡,2信用卡,3微信,4支付宝,5现金",
    `status` tinyint unsigned not null COMMENT "状态:1退货成功,无法退货",
    create_time timestamp not null default now() COMMENT "添加时间",
    INDEX idx_order_id(order_id),
    INDEX idx_qa_id(qa_id),
    INDEX idx_status(`status`)
) COMMENT="退货表";

解析:

你想啊。如果你要退货的话,是不是得像工作人员说明是拿一个订单。这个订单退货的商品是什么。有什么原因导致退货的。要质检员字段的原因是因为要核实是不是质量问题还是说明问题导致要退货的。那退款金额是多少。是全部还是部分。退款的方式是那些退款成没成功。是不是都要有啊.

注意: 为什么有些not null啊? 因为不填可能无法证实原因哦

数据

0 人点赞