开课吧孤尽T31训练营学习笔记-DAY4-MYSQL设计实践

332 阅读2分钟

MYSQL数据设计实践

设计数据库时,也靠考虑一些关键的业务问题。实践过程,通过processon作为ER图设计的协作工具,大家基于ER图达成共识后,直接创建云数据库,云上把库建好,导出sql,交付老师作业。

车站区间

车站区间的意义:便于查询。

策略1: 自动生成,根据站点顺序,全量生成;

策略2: 由人工设置

策略3: 根据售卖天数逐步释放车站区间

我们采用策略1来自动全量生成所有的车站区间。

车票价格计算

车票价格 = 运行距离 * 价格系数 * 优惠系数

运行距离

运行距离就是车次区间距离,根据两个站点距离始发站的距离相见可得;

价格系数

价格系数根据每一个影响要素的价格系数综合得出

影响要素:

  1. 车次级别:快车K / 特快T / 直达Z / 高铁G,
  2. 车厢类别:一等座/二等座/卧铺/软卧
  3. 座位类别:硬座/上铺/下铺

优惠策略

根据儿童,学生等身份,设置优惠策略。

其他策略

不再考虑: 可能根据旅游季、淡季等因素,还会有一定的价格浮动率。

车票生成策略

车票会将所有的车票提前生成好, 在购票时,方便资源争抢,直接锁定一个车票资源。车票业务有特殊性,不太利于使用库存这个概念,和传统电商有差别。

生成车票

生成车票分为两个阶段

  1. 首先发布车次时,会生成车票模板,车次中所有车厢的每一个座位生成一个车票模板;
  2. 每天基于所有的车票模板生成具有日期属性的车票

车票就是最终要售卖的商品。

车票数量

根据车厢类型汇总代售状态的车票。

车票售卖

订单锁定车票时,赋予车票 乘车人、乘车区间、乘车日期、乘车价格等属性;订单过期未支付,则释放车票资源。

车票售出后,不再根据车次区间,重新生成新的车票。