name: master-product
description: 商品资料主表 - 服装行业数据仓库核心表,存储商品基础信息、统计分析维度和业务指标,包含分类、品牌、颜色、尺码、季节等维度代码
license: MIT
compatibility: opencode
metadata:
category: database
domain: retail-erp
table_type: master
商品资料主表 (master_product)
表信息
- 表名: master_product
- 主键: product_id
- 时间字段: created_at, updated_at, launch_date, data_date
- 查询日期字段: (不适用,主数据表)
关键字段
| 字段名 |
数据类型 |
查询用途 |
| product_id |
varchar(50) |
商品ID,主键标识 |
| product_code |
varchar(50) |
商品编码/货号,唯一标识 |
| product_barcode |
varchar(20) |
国际商品条码/EAN码,用于扫码识别 |
| product_name |
varchar(200) |
商品名称,支持模糊查询 |
| product_name_en |
varchar(200) |
商品英文名称,用于国际化查询 |
| product_short_name |
varchar(100) |
商品简称/缩写,用于快速识别 |
| category_code |
varchar(20) |
分类代码,关联master_product_dimension(type=‘category_major/minor’) |
| category_name |
varchar(100) |
分类名称,用于商品分类筛选 |
| brand_code |
varchar(20) |
品牌代码,关联master_product_dimension(type=‘brand’) |
| brand_name |
varchar(100) |
品牌名称,用于品牌筛选 |
| style_code |
varchar(30) |
款式编码,用于款式识别 |
| color_code |
varchar(20) |
颜色代码,关联master_product_dimension(type=‘color_family’) |
| color_name |
varchar(50) |
颜色名称,用于颜色筛选 |
| size_code |
varchar(10) |
尺码代码,关联master_product_dimension(type=‘size_group’) |
| size_name |
varchar(20) |
尺码名称,用于尺码筛选 |
| season_code |
varchar(10) |
季节代码,关联master_product_dimension(type=‘season’) |
| year |
int |
年份,用于季节年份筛选 |
| collection |
varchar(50) |
系列/批次,用于系列分析 |
| min_order_qty |
int |
最小起订量,用于采购计划 |
| lead_time_days |
int |
采购提前期(天),用于供应链分析 |
| cost_price |
decimal(10,2) |
成本价,用于毛利计算 |
| suggested_retail_price |
decimal(10,2) |
建议零售价,用于价格分析 |
| current_price |
decimal(10,2) |
当前售价,用于价格筛选 |
| currency_code |
varchar(3) |
货币代码,默认CNY |
| safety_stock |
int |
安全库存水平,用于库存预警 |
| max_stock |
int |
最高库存量,用于容量管理 |
| reorder_point |
int |
补货点,用于补货提醒 |
| economic_order_qty |
int |
经济订货量,用于采购优化 |
| abc_class |
varchar(1) |
ABC分类(A/B/C),用于库存管理 |
| xyz_class |
varchar(1) |
XYZ分类(X/Y/Z),用于需求稳定性分析 |
| sales_velocity |
decimal(10,2) |
销售流速(日均销量),用于畅销品分析 |
| sell_through_rate |
decimal(5,4) |
售罄率,用于商品周转分析 |
| gross_margin |
decimal(5,4) |
毛利率,用于盈利能力分析 |
| return_rate |
decimal(5,4) |
退货率,用于质量分析 |
| product_status |
varchar(20) |
商品状态:active/inactive/discontinued |
| launch_date |
date |
上市日期,用于新品分析 |
| discontinuation_date |
date |
停售日期,用于退市分析 |
| data_date |
date |
数据日期(数据仓库快照) |
| created_at |
datetime |
创建时间,用于时间序列分析 |
| updated_at |
datetime |
更新时间,用于数据变更跟踪 |
| deleted_at |
datetime |
删除时间,用于数据归档查询 |
关联关系
- 被关联:
- bill_*.product_id → 本表.product_id (所有单据表的商品关联)
- stock_store_snapshot.product_id → 本表.product_id (库存快照)
维度字段说明:
category_code, brand_code, color_code, size_code, season_code, style_code 字段存储维度编码
- 这些字段不需要外键关联,直接存储维度表的code值
- 查询时可直接使用这些编码值进行筛选
- 维度表
master_product_dimension作为独立数据字典,提供编码与名称的映射关系
在查询拆解中的角色
- where部分:用于商品范围筛选,用户提到的商品条件必须映射到本表字段,维度代码字段(category_code, brand_code等)可直接使用编码值筛选
- from部分:可作为主表查询商品信息,或作为关联表提供商品维度
- 汇总部分:可按category、brand、color、size、season等维度分组统计,也可按业务指标(price, sales_velocity等)进行聚合分析
维度默认值参考
以下为商品维度表的固定分类编码,用于理解业务含义和构建查询条件:
1. 商品大类 (category_major)
| 编码 |
名称 |
描述 |
| CLOTHING |
服装 |
服装类商品 |
| SHOES |
鞋类 |
鞋类商品 |
| ACCESSORIES |
配饰 |
配饰类商品 |
2. 季节 (season)
| 编码 |
名称 |
描述 |
| SS |
春夏 |
春季和夏季 |
| FW |
秋冬 |
秋季和冬季 |
3. 波段 (wave) - 用于商品上市计划
| 编码 |
名称 |
描述 |
| W1 |
第一波段 |
第一波段商品 |
| W2 |
第二波段 |
第二波段商品 |
4. 面料 (fabric) - 用于商品材质分类
| 编码 |
名称 |
描述 |
| COTTON |
棉 |
棉质面料 |
| POLYESTER |
涤纶 |
涤纶面料 |
| WOOL |
羊毛 |
羊毛面料 |
5. 颜色色系 (color_family)
| 编码 |
名称 |
描述 |
| RED |
红色系 |
红色系列 |
| BLUE |
蓝色系 |
蓝色系列 |
| BLACK |
黑色系 |
黑色系列 |
6. 尺码组 (size_group)
| 编码 |
名称 |
描述 |
| XS-S |
超小-小号 |
超小号到小号 |
| M-L |
中号-大号 |
中号到大号 |
| XL-XXL |
加大-特大号 |
加大号到特大号 |
使用说明:
- 维度代码字段直接存储维度编码,无需外键关联
- WHERE条件示例:
WHERE season_code = 'SS' AND category_code = 'CLOTHING'
- 对于商品表未直接存储的维度(如wave、fabric),可通过维度表独立查询,但不需要与商品表关联
- 维度表作为独立数据字典,提供编码与名称的映射关系
多步骤查询支持
- 维度筛选优先:复杂查询建议先筛选维度代码,再关联商品数据
- 中间表创建:可作为筛选条件的源表,创建中间表保存筛选的商品ID
- 中间表格式:{userid}{datetime}_step{n}_filtered_products
- 中间表关键字段:product_id, product_code, product_name, category_code, category_name, brand_code, brand_name, color_code, size_code, season_code, current_price, product_status
- 维度筛选步骤:
- 直接使用维度编码筛选商品:WHERE category_code = ‘CLOTHING’ AND season_code = ‘SS’
- 如需获取维度名称:可单独查询master_product_dimension表,但不需要与商品表关联
- 创建中间表保存筛选结果
- 关联业务数据:用中间表商品ID关联查询销售、库存等业务数据
- 示例流程:用户查询”2024年春夏系列服装类商品的销售数据” →
- 筛选season_code=‘SS’ AND year=2024
- 筛选category_code=‘CLOTHING’
- 创建中间表包含符合条件的商品ID
- 用中间表关联bill_sales_retail查询销售数据
- 性能优化:对于大量商品筛选,建议先按核心维度(category, season)缩小范围,再关联其他条件