电商概念之商品模型

1、基本定义

广义定义:商品是为了出售而生产的劳动成果,人类社会生产力发展到一定历史阶段的产物,用于交换的劳动产品。

电商商品基本概念:

  • 商品类目
  • 商品属性
  • 销售属性
  • 商品编码&商品规格编码
  • SKU和SPU

2、商品类目

电商平台商品的种类越发繁多后,用于管理归纳

image.png

京东分类:

image.png

对商品进行分类,会出现一级/二级/三级/…的商品类目,可以兼顾类目细分粒度和维护及使用成本,为商品 类目层级

3、商品属性

属性定义:事物所具有的性质特征。

商品性质特征可以是品牌、型号、颜色、尺寸等等。属性下有属性值(PropertValue,PV),如对品牌而言有耐克、李宁等,对颜色有红、黄、蓝等。

相比于树状的类目体系,属性更加离散和灵活,一个商品对应一个类目,但可以有多个属性。

image.png

image.png

4、销售属性

淘宝的销售属性就是指:商品选择类目之后的相关属性。

比如在店铺里的衣服有军绿色,黄色,黑色等等。

对于每一种颜色的衣服,设置的库存和数量,以及价格,图片可能是不一样的。

相应的不同颜色下的数量,价格,库存等等内容都是这件商品的销售属性。

  • 颜色
  • 尺寸
  • 价格
  • 库存
  • 图片

销售属性存在必填项 和 非必填项

1)若销售属性非必填,不影响商家发布;

2)若销售属性是必填项,则是代表商品规格的必要信息,填写不完整或未填写会直接报错。

image.png

5、spu和sku

因此商品模块本身的实现要足够抽象、灵活、易于扩展,这样才能满足各种业务需求。而这一切的基础都建立在SPU和SKU的设计,所以说这两个概念,是设计好电商系统的关键。那SKU和SPU又分别是什么东西呢?

SPU:Standard Product Unit,标准产品单元,可以理解为一个产品型号,比如下面图片看到的iPhone 15 就是一个标准的产品单元,它属于生产制造过程的一个标准品,标准品在缺乏具体规格信息的时候是不能直接售卖的(除非这个产品系列只有一个规格)。

img

SKU:Stock Keeping Unit,最小库存单元,也就是对应仓库中的一件商品,这个商品的规格信息在入库的时候就已经确定了的,因此是可以直接售卖的。

原色钛金属-256GB-公开版 最小单元

image.png

spu和sku的层级关系:

image.png

6、商品编码&商品规格编码

一般编码是用来方便 管理商品的,可以对每个商品SPU、商品规格SKU做的唯一编码,可以用标准条码,也可以自己定义一套编码规则,设置成功后可以在商家后台通过商品编码进行快速查询、筛选等操作,如果没有则无需填写。可以根据自己的需求要设置编码。

  • 商品SPU编码对应:商品编码
  • 商品规格SKU编码对应:商品规格编码

7、基础模型构成

spu:

  • 商品id
  • 店铺id
  • 平台
  • 商品标题
  • 商品分类
  • 商品编码
  • 品牌、重量…(商品属性)

sku:

  • 商品id
  • 商品规格id
  • 店铺id
  • 平台
  • 规格名称
  • 商品规格编码
  • 颜色、尺寸、重量、库存、图片…(销售属性)

8、SPU表与SKU表及其相关的表关系图:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】20子数组系列_环形子数组的最大和_C++(medium)

题目链接:leetcode环形子数组的最大和 目录 题目解析: 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析: 题目让我们求返回 nums 的非空 子数组 的最大可能和 这道题如果是按照-这道题-是不对…

华为MindStudio简介

MindStudio是华为推出的一款集成开发环境(IDE),主要用于边缘计算和人工智能应用的开发。它为开发者提供了一系列工具,用于设计、开发、调试和部署在华为Ascend系列AI处理器上运行的应用程序。MindStudio旨在简化和加速AI应用开发的…

基于信号完整性的一些PCB设计建议

最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线; 2. 理想情况下,所有信号都应该使用完整的电源或地平面作为其返回路径,关键信号则使用地平面作为返回路径; 3. 信号的返回参考面发生变化时,在尽可能接近…

JMeter笔记(三)

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一:参数化方法 1)用户定义的变量 2)函数助手 3)…

MYSQL的事务隔离

本章概览 mysql是一个支持多引擎的系统,并不是所有引擎都支持事务,本篇以innodb为例解析mysql在事务支持的实现。提到事务一定会想到ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天…

(二)如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群

如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群。建立RabbitMQ集群需要一些特定的步骤,下面是一个概述: 安装RabbitMQ和Erlang:首先,在两台服务器上都执行您提供的快速安装脚本以安装RabbitMQ和Erlang。 详见《(一)Ubuntu 2…

旧路由重置新路由设置新路由设置教程|适用于PPPoE拨号

前言 前几天朋友说路由器想要重置,但不知道怎么弄。所以就想着只帮忙重置路由器的话,只能帮到一个人。但把整个过程写成图文,就可以帮助更多人。 本文章适合电脑小白,请注意每一步哦! 注意事项 开始之前需要确认光猫…

Redux的使用方法,目前借助的是reduxjs/toolkit redux工具

1 第一步 安装redux的插件: npm i reduxjs/toolkit react-redux 2 第二步 创建store文件夹下创建index.ts文件 import {configureStore} from reduxjs/toolkit const store configureStore({ // 创建store实例对象reducer:{} })export default store // 对外暴露…

pod控制器的作用

pod控制器的作用 1、动态pv和pvc deployment是控制器 pod空气器:工作负载,workload用于管理pod的中间层,确保podi资源符合预期的状态 预期状态 1、副本数 2、容器重启策略 3、镜像拉取策略 pod、出现故障时重启等等 pod的控制器类型 1、replic…

QT-文件夹与文件操作/QDir/QFile

本文目录 判断文件夹是否存在创建文件夹删除文件夹创建文件删除文件 判断文件夹是否存在 下面的代码判断E盘下ABC文件夹是否存在&#xff0c;注意斜杠&#xff0c;不要写反了 #include <QDir>int main(int argc, char *argv[]) {QDir dir("E:/ABC");if(!dir.…

删除运行框中的文件打开历史记录

当我们使用everything、百度、迅雷等软件&#xff0c;在列表中右键选中打开文件夹时。 当使用 winR 快捷键等方式打开运行时&#xff0c;输入盘符会出现之前打开过的文件夹&#xff0c; 一方面展示的特别多会比较混乱&#xff0c;另一方面 记得在之前的window版本中&#xff08…

WIFI7时代正式来临

Wi-Fi联盟在2024年1月8日宣布推出了Wi-Fi CERTIFIED 7认证&#xff0c;标志着WIFI7时代的正式来临&#xff01;这一认证引入了一系列强大的新功能&#xff0c;旨在提升Wi-Fi性能并改善各种连接环境。WIFI7支持多用户AR/VR/XR、沉浸式3D培训、电子游戏、混合工作、工业物联网和汽…

架构师之超时未支付的订单进行取消操作的几种解决方案

今天给大家上一盘硬菜&#xff0c;并且是支付中非常重要的一个技术解决方案&#xff0c;有这块业务的同学注意自己尝试一把哈&#xff01; 一、需求如下&#xff1a; 生成订单30分钟未支付&#xff0c;自动取消 生成订单60秒后,给用户发短信 对上述的需求&#xff0c;我们给…

【算法与数据结构】63、LeetCode不同路径 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;参考【算法与数据结构】62、LeetCode不同路径的题目&#xff0c;可以发现本题仅仅是多了障碍物。我们还…

springboot下载图片的简单处理方式

参考地址 springboot&#xff1a;各种下载文件的方式_springboot下载文件-CSDN博客 开箱即用实战 GetMapping("/t1")public void down1(HttpServletResponse response) throws Exception {response.reset();response.setContentType("application/octet-strea…

STM32F103标准外设库——认识STM32(一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

A. Tricky Sum

CF 的第一场教育场次是2015年11月13日&#xff0c;准备从第一场教育场开始写A,B,C题 在page13,现在教育场更新到了160 先从A开始刷 #include<bits/stdc.h> using namespace std;bool check(long long a) {if(a%2!0) return false;while(a%20){a/2;}if(a1) return true;…

C++学习笔记(三十四):c++ array

本节介绍c标准库模板中的array和c风格的array的区别&#xff0c;及什么时候使用std::array。 #include <iostream> #include <array>template<int N> void PrintArray(std::array<int,N> array) {for (int i 0; i < array.size(); i){std::cout &l…

事务问题处理

需求&#xff1a; 新建一个通知&#xff0c;通知下面选择需要通知到的通知人&#xff0c;要求通知发送的时候如果通知发送失败&#xff0c;不能新建通知和具体的通知人关系。发送某个人失败&#xff0c;要求通知成功建立&#xff0c;其他人成功发送则建立通知和通知人的关系&a…

MySQL存储引擎索引事务

一.存储引擎 1.创建的存储引擎 MyISAM 不支持事务、也不支持外键&#xff0c;索引采用非聚集索引&#xff0c;其优势是访问的速度快&#xff0c;对事务完整性没有要求&#xff0c;以 SELECT 、 INSERT 为主的应用基本上都可以使用这个存储引擎来创建表。 MyISAM 的表在磁盘上…