商品表设计-实现侧滑栏类目Catagory和商品的多对多关系

商品表设计-实现侧滑栏类目Catagory和商品的多对多关系

需求描述

  1. 手机端展示店铺或商城类页面 —— 一般有个左边侧滑栏(slidebar),一般为类目,也可以称为种类。右边为商品的详情展示。如下图:
  2. 那么现在有个问题,通常在这种店铺来说,一个商品只能对应一种类目,即一个侧滑栏类目中里有多个商品。(拿铁,摩卡,卡布奇诺 在咖啡类目中;法式蛋糕,吐司蛋糕在甜品类目中)。商家想要在侧边栏添加一个推荐,套餐类目,且这个类目下的东西也在其他类目下(拿铁既在本周推荐侧滑栏里又在咖啡侧滑栏里),这样就打破了原来的固有的类目对商品的一对多关系,成为了多对多关系。原本只需要一个类目表,一个商品表就可以实现的功能被迫要加入第三张表维持多对多关系。后续的查询可能需要频繁的3表关联查询,及其影响效率。
    在这里插入图片描述
  3. 现在提供新的思路解决优化:因为推荐侧边栏不是个主要的业务功能,相比一对多的类目表和商品表,引入一张完全多对多映射的关系表的深度耦合,开销和资源浪费实在太大,故通过业务把第三张表改为专门的畅销表,同样放在侧边栏,如下图,侧边栏的上下两部分数据库中完全独立的关系,只通过各自ID和商品相关联。在有业务需求的情况下,可以使用畅销表,加入侧边栏,不需要就回归简单的类目对商品,一对多的简单关系。
  4. 这样简化了数据库压力,不用为了维持一个简单的业务造成多对多的复杂表结构。为了方便展示在商品表中可以适当加入畅销表 name和类目表 name 等字段的适当冗余,可以做到信息展示时单表查询。效率大大提升。
  5. 一下设计草图请仔细查阅,较为潦草,见谅。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值