# 《Seckill秒杀系统》第9章:秒杀系统数据模型设计

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/10AGHUgg8 (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本章重点:万事俱备,开始对秒杀系统的数据模型进行设计,主要会涉及到用户、秒杀活动、秒杀商品和秒杀订单的数据模型设计。
  • 课程视频:https://t.zsxq.com/10AGHUgg8 (opens new window)

大家好,我是冰河~~

经过前面对秒杀系统的需求、业务流程、技术流程的梳理,完成了对秒杀系统的架构设计,并对秒杀系统的基础环境和研发环境进行了安装和配置,可以这么说,秒杀系统的前置准备工作基本已经完成。

# 一、前言

正所谓:万事俱备,只欠东风,前面我们为设计和研发秒杀系统做了那么多的准备,目前在正式搭建项目并研发代码之前,还需要梳理清楚整个秒杀系统所包含的数据模型,只有将这些数据模型梳理清楚,才能更好的指导我们研发秒杀系统。

# 二、本章诉求

在整个秒杀系统的设计中,尽量简化复杂的流程设计和无关紧要的业务设计,保留最核心的功能,让大家从秒杀系统的设计中领略如何编写高并发程序,并从总体上对系统的优化处理做到心中有数。秒杀系统简化无关紧要的业务后,主要涉及到用户、秒杀活动、秒杀商品和秒杀订单。

另外,这个秒杀系统专栏不仅仅是带着大家写业务代码,更重要的是的系统的调优过程和解决并发瓶颈的思路和方法,好了,马上开始今天的正题。

# 三、数据模型设计

数据模型对于系统的建设是至关重要的,无论一个系统如何建设和运行,最终这个系统所产生的价值,几乎都是以数据的形式呈现出来,要想体现系统的数据价值,就需要将这些数据收集并存储起来,而无论是对数据的采集、清洗,还是对数据的存储、分析和统计,都是需要建立对应的数据模型。就连时下非常火热的ChatGPT,都是需要建立在非常丰富的数据模型之上来运行的。

本节,就本着最简化的原则来设计用户、秒杀活动、秒杀商品和秒杀订单的数据模型。

注意:数据库脚本已经存放到项目的environment/mysql/init目录下,脚本文件为seckill_init.sql,在搭建秒杀研发环境时,会自动将数据脚本导入到MySQL数据库,无需自己重新运行脚本。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章与完整代码