电商项目中SPU与SKU的设计

2023-12-31 13:18
文章标签 设计 项目 电商 sku spu

本文主要是介绍电商项目中SPU与SKU的设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 先说明几个概念.

 

电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商品的属性和商品的基本信息分离,分开维护,这样我们就可以在不同的类目下自定义商品信息和分类的属性信息,我们的业务系统就可以存储不同门类的商品信息了

 

•SPU = Standard Product Unit
(标准化产品单元)SPU是商品信息聚合的最小单位,是一组可复用标准化信息的集合
•SKU=stockkeeping unit
(库存量单位)SKU即库存进出计量的单位,可以是以件、盒、托盘等为单位
•SKU、SPU与分类属性之间的结构关系如下图

 

  1. 基础属性
    指设计在商品表的一些基础字段。
    其中可选的设计点有:
    # 副名称:由于商品名称经常要加上一些促销信息,如本商品参与什么活动之类。但经常改动主名称
    容易导致出错,所以增加此字段来专门管理促销信息。显示时连接到主名称后即可。
    # 产品描述:产品描述建议另设计一表存放,对提高产品搜索、产品列表显示有帮助。
    # 状态:常见的状态有草稿、未发布、发布、下架等,如果是逻辑删除的,还有“已删除”状态。
  2. 价格
    如果系统支持产品SKU,那么实际价格是在产品SKU实体中管理的。
    促销价格不在这里管理,在营销管理模块统一管理。
  3. SEO相关
    集中管理各类SEO相关的信息。
  4. 商品媒体
    #主图:由于显示频繁,会直接设计在产品表中(或是冗余)。
    #多图(即附图):开发中会提供多种查看方式。
  5. 扩展属性
    这是设计最困难的部分,也是商品是否可以灵活扩展的关键。
  6. 库存
    库存这里是常见的开发迭代点。
    在研发早期,一般这里直接设计成支持零库存和单一数值库存。
    在其它功能完成后,才会对这里做扩展,开发内嵌的库存子模块或者整合外部系统。
  7. 外部关联
    商品的外部关联非常的多,这里列出了大部分,但随着系统的扩展,肯定会有新的外部关联实体。
    所以商品模块的开发,需要提供大量的外部接口或者Tag封装(如商品选取器等。)

这篇关于电商项目中SPU与SKU的设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556133

相关文章

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar