sku设计mysql_SPU、SKU及相应宽表设计思路

SPU和SKU的作用

SPU和SKU是电商产品具有的两个重要概念。在电商网站设计中,它对应了一件商品在数据库表中的具体存储方式。抛开数据库来描述某一件商品,自然不需要额外加入这两个比较复杂的概念,但是考虑到电商系统中对商品信息的调用非常频繁,而数据的展现方式又各式各样,因此如果不对商品信息在数据库中存储方式进行合理设计,可能会导致数据库查询复杂化、页面请求变慢等问题。对前端而言,spu、sku可以对商品描述进行合理分级,便于在不同页面根据需求展示不同详细程度的产品信息。对后端而言,sku、sku可以统一和规范化产品的数据库设计,减少在管理商品(增/删/改/查)时数据库的开销。

SPU和SKU的定义及他们之间的关系

SPU全称Standard Product Unit,即标准化产品单元。简单理解就是某一种产品。

SKU全称Stock Keeping Unit,即库存量单元。即具体的一件商品。

这两个概念字面意思上区分较为模糊,他们是在不同层次上对商品进行描述,我们可以这么理解:

标准化产品单元(SPU),标准化,即被广泛认知的的东西。在市场中我们买卖东西,我们会说某某品牌的xx产品如何如何,而不会去说某某品牌的xx产品xx颜色xx尺寸的产品如何如何。就好比手机发布会中,说我们今年推出了一款新的手机,型号为iphone11,而不会说我们今年推出了iphone 11 128g 玫瑰金、iphone 11 128g 深空灰等等。标准化,也可以理解为对描述产品的详细程度上的一种标准,但需要注意的是这个标准是对产品的最小粒度描述。也就是说不同的spu就是不同的产品了,如iphone11和iphone8,虽然都是iphone,但是普遍认为iphone产品的最小粒度在型号上,因此他们就是两个产品了。

库存量单元(SKU),顾名思义就是库存商品单元,是要具体往外出售 的物品。SPU告诉了我们一个物品是什么东西,SKU则告诉了我们这个物品是一件具有什么特征什么规格尺寸当前是否还有库存的东西。

注意我上面的描述中,非常谨慎地使用了产品和商品两个词。个人理解,产品对应市场,商品对应顾客(和销售)。例如常说的,“9月国内手机市场排行第一名被OPPO A9拿下”(产品/spu),“我在xx商城抢购了个国行iphone x,黑色128g的,买的时候就剩x台了”(商品/sku)

数据库宽表设计思路

宽表的设计,我是从最精确的产品信息sku宽表开始的。通过sku的商品名称字段关联spu表,获取产品信息。而在spu表中,分别通过分类字段和品牌字段去和另外两个表关联,获取产品内容。

即设计4个基础宽表,分别为sku、spu、品牌、分类,关联逻辑如下图所示:

宽表逻辑.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
购物商城的Spu-Sku数据库设计主要是为了管理商品的库存和销售信息。Spu(Standard Product Unit)是商品的标准产品单位,通常指的是一组具有相同特征但可能有不同规格的商品,例如同一款衣服的不同颜色或尺码。Sku(Stock Keeping Unit)是商品的库存管理单位,是对Spu的具体细分,用于区分不同规格或属性的商品。 在数据库设计中,可以建立两个主要的SpuSkuSpu用于存储商品的基本信息,包括商品的名称、描述、品牌、分类等。此外,可以为Spu添加一些扩展字段,例如商品的图片、销售状态等。 Sku用于存储商品的具体规格和库存信息,其中包括Spu的外键关联、商品的属性、规格、价格和库存数量等。通过外键关联,可以将Sku与其对应的Spu关联起来,实现SpuSku的多对一关系。同时,可以在Sku中添加一些扩展字段,例如商品的条形码、上架时间等。 为了提高查询效率,可以在Sku中添加索引,例如根据商品的价格、库存数量、销售状态等字段进行索引,以快速获取满足条件的商品信息。 此外,为了提高系统的可维护性和可扩展性,可以添加一些辅助,例如属性和属性值,用于管理商品的属性信息。属性用于存储商品的属性名称,属性值用于存储属性的具体取值范围。 总之,购物商城的Spu-Sku数据库设计需要考虑SpuSku之间的关联关系,以及商品的基本信息和规格信息的存储和管理。通过合理的设计和优化索引,可以提高系统的查询性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值