SSM开发大众点评实战之订单模块

数据库设计

  • SSM开发大众点评实战之订单模块_第1张图片
    订单模块.PNG

    建主外键关系?VS 不建主外键关系?
  • 数据一致性
  • 程序自身也得保证数据一致性

CREATE TABLE `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `business_id` int(11) DEFAULT NULL COMMENT '商户主键',
  `member_id` int(11) DEFAULT NULL COMMENT '会员主键',
  `num` int(11) DEFAULT NULL COMMENT '消费人数',
  `comment_state` int(1) DEFAULT NULL COMMENT '评论状态 -- 0:未评论 2:已评论',
  `price` decimal(11,2) DEFAULT NULL COMMENT '价格(消费金额)',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
  • SSM开发大众点评实战之订单模块_第2张图片
    订单表.PNG

    为什么不用手机号做关联,要用订单主键做关联?
    手机号修改时,会员表也要修改
    订单数量怎么统计?
    定时任务

  • SSM开发大众点评实战之订单模块_第3张图片
    定时任务.PNG

    定时任务实现:

  • SSM开发大众点评实战之订单模块_第4张图片
    定时任务实现.PNG
SSM开发大众点评实战之订单模块_第5张图片
SpringTask.PNG
  • 注解的方式比较麻烦,得从代码中去看,使用xml进行配置
  • 订单数量与商户星级随着购买人数的增加一直在增加,若通过全表扫描来更新数量,sql语句的执行时间也会逐渐增加,怎么办?

可以给表设置上次更新时间,每次更新时,只从表中统计上次更新时间以后的数据的数量,每次更新结束后,将上次更新时间设置为当前时间,

你可能感兴趣的:(SSM开发大众点评实战之订单模块)