SQL如何在单个预订号(主键)下管理多条预订商品数据
原表结构参考

实现方案
你需要采用订单主表+订单明细表的一对多关联结构调整表设计,具体操作逻辑如下:
- 新建订单主表,存储预订整体的公共信息,将
预订号作为该表的唯一主键,核心字段参考:- 预订号(主键,全局唯一)
- 学生ID
- 提交时间
- 支付状态
- 收货信息
- 调整原有单条存单个商品的表为订单明细表,新增
预订号字段作为外键关联订单主表的主键,核心字段参考:- 明细ID(主键)
- 预订号(外键,关联主表的预订号)
- 商品ID
- 尺码
- 购买数量
- 单价
- 数据写入逻辑:用户提交多商品预订时,先在订单主表生成一条带唯一预订号的主记录,再将所有选购的商品逐条写入订单明细表,每条明细的
预订号字段统一填充刚生成的主表预订号即可完成关联。
如果暂时不想拆分表,也可以在现有表中新增关联预订号字段,同一次预订的所有商品记录填充同一个唯一的关联预订号值,给该字段加索引即可实现关联查询。但该方案会重复存储学生信息、预订公共信息,存在数据冗余,更推荐使用主明细拆分的设计。
内容的提问来源于stack exchange,提问作者Dave Israel Gundiao
相关产品推荐
相关产品推荐

