新零售mysql设计(购物券表 客户关联购物券表)二次修改

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


前言(购物券的特点):
购物券有使用期限。而且一个订单只能使用一张购物券.
购物券是需要领取的。是程序员设计的一个功能。领取购物券后达到某种金额才能使用购物券.
购物券与客户之间的关系?
一对多的关系。一个客户可以领取很多的购物券
用几张表呢?做购物券功能?
两张。那些用户领取了购物券一张表。购物券一张表.
购物券一般有几个字段呢?
id 购物券金额deno (也就是说可以抵多少钱) 超过多少金额才能使用购物券condition 使用购物券的开始时间start_date 购物券的过期时间end_date 该购物券最多发放多少张max_num

购物券+客户关联购物券数据表的关系:
在这里插入图片描述

在客户表id1的客户,领取了3张购物券表中id1的购物券。又领取了id==2的购物券两张.

sql(购物券表)

举个例子;购物券是不是的有开始时间过期时间,是不是满多少钱才能使用。是不是要有可以抵用多少钱。是不是还得看平台发多少张.

create TABLE  t_voucher(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
deno decimal(10,2) unsigned not null COMMENT "面值",
`condition`  decimal(10,2) unsigned not null COMMENT "订单满多少钱可以使用",
start_date DATE COMMENT "起始日期",
end_date DATE COMMENT "截止日期",
max_num int COMMENT "代金券发放最大数量"
) COMMENT="购物券表";

解析 购物券表类型:

deno `condition凡是钱有关的都用decimal. 而且还是unsigned。毕竟没有钱是0或者负数的吧。对吧.
start_date的话,购物券上面的都是这种格式的啦年-月-日什么的啦.
购物券数量的话,都是int整型。毕竟没有人会发5.5张购物券对吧

在这里插入图片描述

sql:客户关联购物券数据表

…意思就是客户领取的购物券的记录

CREATE TABLE t_voucher_customer(
 id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    voucher_id int unsigned not null COMMENT "购物券id",
    customer_id int unsigned not null COMMENT "客户id"
) COMMENT="客户关联购物券数据表";

解析类型:

凡是_id的话,都是int unsigned我理解的.因为这个是关联的。一般关联的是某张表的id,而id一般是从0开始计算的啦
为什么not null?
因为关联必须有数据才能关联啊。比如客户关联购物券数据表这张表,关联别的表的id是不是都是有数据的呢?没数据怎么关联呢?对吧.
在这里插入图片描述

注意:价格的有decimal类型,
购物券中日期用date类型
用类型的秘诀是:
根据现实生活的情况来运用.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值