
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主
前言(购物券的特点):
购物券有使用期限。而且一个订单只能使用一张购物券.
购物券是需要领取的。是程序员设计的一个功能。领取购物券后达到某种金额才能使用购物券.
购物券与客户之间的关系?
一对多的关系。一个客户可以领取很多的购物券
用几张表呢?做购物券功能?
两张。那些用户领取了购物券一张表。购物券一张表.
购物券一般有几个字段呢?
id 购物券金额deno (也就是说可以抵多少钱) 超过多少金额才能使用购物券condition 使用购物券的开始时间start_date 购物券的过期时间end_date 该购物券最多发放多少张max_num
购物券+客户关联购物券数据表的关系:

在客户表id1的客户,领取了3张购物券表中id1的购物券。又领取了id==2的购物券两张.
举个例子;购物券是不是的有开始时间过期时间,是不是满多少钱才能使用。是不是要有可以抵用多少钱。是不是还得看平台发多少张.
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="购物券表";
…意思就是客户领取的购物券的记录
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="客户关联购物券数据表";
注意:价格的有decimal类型, 购物券中日期用date类型 用类型的秘诀是: 根据现实生活的情况来运用.