name: master-store
description: 店铺主数据表 - 存储店铺基础信息与维度分类,包含经营权模式、店铺定位、零售业态、市场层级、销售渠道等维度关联
license: MIT
compatibility: opencode
metadata:
category: database
domain: retail-erp
table_type: master
店铺主数据表 (master_store)
表信息
- 表名: master_store
- 主键: stor_id
- 时间字段: created_at, updated_at, data_date
- 查询日期字段: (不适用,主数据表)
关键字段
| 字段名 |
数据类型 |
查询用途 |
| stor_id |
varchar(50) |
店铺ID,主键标识 |
| tenant_id |
varchar(50) |
租户ID,多租户隔离 |
| stor_code |
varchar(50) |
店铺编码,唯一标识 |
| stor_name |
varchar(200) |
店铺名称,支持模糊查询 |
| stor_short_name |
varchar(100) |
店铺简称,用于快速识别 |
| company_id |
varchar(50) |
所属公司ID,关联master_company |
| store_ownership_type |
varchar(20) |
所有权类型:DIRECT直营/FRANCHISE加盟 |
| business_model_id |
bigint |
经营模式ID,关联master_store_dimension(type=‘business_model’) |
| store_tier_id |
bigint |
店铺定位ID,关联master_store_dimension(type=‘store_tier’) |
| retail_format_id |
bigint |
零售业态ID,关联master_store_dimension(type=‘retail_format’) |
| market_tier_id |
bigint |
市场层级ID,关联master_store_dimension(type=‘market_tier’) |
| sales_channel_id |
bigint |
销售渠道ID,关联master_store_dimension(type=‘sales_channel’) |
| region_id |
bigint |
区域ID,关联master_store_dimension(type=‘region’) |
| province |
varchar(100) |
省份,用于地域筛选 |
| city |
varchar(100) |
城市,用于地域筛选 |
| address |
varchar(500) |
详细地址,用于位置查询 |
| mall_code |
varchar(50) |
商场/商圈编码,用于商场关联 |
| mall_name |
varchar(200) |
商场/商圈名称,用于模糊查询 |
| store_area |
decimal(10,2) |
店铺面积(平方米),用于规模筛选 |
| opening_date |
date |
开业日期,用于店铺年龄计算 |
| manager_name |
varchar(50) |
店长姓名,用于负责人查询 |
| contact_phone |
varchar(20) |
联系电话,用于联系信息查询 |
| employee_count |
int |
员工人数,用于人力规模分析 |
| inventory_capacity |
int |
库存容量(件数或SKU数),用于容量分析 |
| stor_status |
varchar(20) |
店铺状态:1营业中/2装修中/3停业/4关闭 |
| is_active |
bool |
是否激活,用于有效店铺筛选 |
| remark |
text |
备注信息,用于特殊说明查询 |
| created_at |
datetime |
创建时间,用于时间序列分析 |
| updated_at |
datetime |
更新时间,用于数据变更跟踪 |
| data_date |
date |
数据日期(数据仓库快照) |
关联关系
- 父表关联: company_id → master_company.id (所属公司)
- 被关联:
- bill_*.store_id → 本表.stor_id (单据所属店铺)
- bill_*.from_store_id → 本表.stor_id (发货店铺)
- bill_*.to_store_id → 本表.stor_id (收货店铺)
维度字段说明:
business_model_id, store_tier_id, retail_format_id, market_tier_id, sales_channel_id, region_id 字段存储维度表的ID值
- 这些字段不需要外键关联,直接存储维度编码对应的ID
- 查询时可直接使用这些ID值进行筛选,或通过子查询从维度表获取对应编码
在查询拆解中的角色
- where部分:用于店铺范围筛选,用户提到的店铺条件必须映射到本表字段,维度字段(business_model_id, store_tier_id等)可直接使用ID值筛选
- from部分:可作为主表查询店铺信息,或作为关联表提供店铺维度
- 汇总部分:可按city、province、store_ownership_type等字段分组统计,也可按维度字段分组(使用维度ID直接分组)
维度默认值参考
以下为店铺维度表的固定分类编码,用于理解业务含义和构建查询条件:
1. 经营权模式 (business_model)
| 编码 |
名称 |
描述 |
| DIR |
直营店 |
品牌方全资拥有,完全控制 |
| FRC |
特许加盟店 |
加盟商投资,品牌授权经营 |
| DSP |
经销商店 |
区域买断式经销 |
| CON |
联营店/寄售店 |
品牌供货,联营方提供场地和人员 |
| WHL |
批发客户 |
B2B批发,无零售店面 |
| COR |
公司内购店 |
企业内部销售点 |
2. 店铺定位 (store_tier)
| 编码 |
名称 |
描述 |
| FLA |
旗舰店 |
核心商圈,全品类,品牌形象展示 |
| IMG |
形象店 |
主要商圈,完整品类,标准形象 |
| PRI |
主力店 |
区域中心,全系列产品 |
| SEC |
标准店 |
社区/二级商圈,主打系列 |
| OUT |
奥莱店 |
奥特莱斯商圈,过季品/特供品 |
| POP |
快闪店 |
临时性,营销活动驱动 |
3. 零售业态 (retail_format)
| 编码 |
名称 |
描述 |
| FSS |
独立街铺 |
临街独立店面 |
| DPM |
百货专柜 |
百货公司内专柜 |
| SMC |
购物中心店 |
购物中心内店铺 |
| AIR |
机场店 |
机场航站楼内 |
| TRS |
交通枢纽店 |
高铁站/地铁站内 |
| RES |
度假区店 |
旅游度假区内 |
| HOS |
酒店店 |
高端酒店内 |
4. 市场层级 (market_tier)
| 编码 |
名称 |
描述 |
| T0 |
超一线城市 |
纽约、伦敦、东京、上海、北京 |
| T1 |
一线城市 |
深圳、广州、巴黎、米兰 |
| T2 |
二线城市 |
成都、杭州、南京 |
| T3 |
三线城市 |
无锡、宁波、佛山 |
| T4 |
四线及以下 |
其他地级市及县城 |
5. 销售渠道 (sales_channel)
| 编码 |
名称 |
描述 |
| OFF |
线下实体 |
所有实体店铺 |
| ECC |
平台电商 |
天猫、京东、亚马逊 |
| DTC |
品牌直营电商 |
官网、官方APP |
| SOC |
社交电商 |
抖音、小红书、Instagram |
| LEC |
直播电商 |
淘宝直播、抖音直播 |
6. 区域 (region) - 示例
| 编码 |
名称 |
描述 |
| CN |
中国 |
中华人民共和国 |
| CN-BJ |
北京 |
北京市 |
| CN-SH |
上海 |
上海市 |
使用说明:
- 维度ID字段直接存储维度表对应的ID值,无需外键关联
- WHERE条件示例:已知DIR直营店的ID为1001时,
WHERE business_model_id = 1001
- 如果不知道维度ID,可通过子查询获取:
WHERE business_model_id IN (SELECT id FROM master_store_dimension WHERE type='business_model' AND code='DIR')
- 维度表作为独立数据字典,提供编码与ID的映射关系
多步骤查询支持
- 维度筛选优先:复杂查询建议先筛选维度,再关联店铺数据
- 中间表创建:可作为筛选条件的源表,创建中间表保存筛选的店铺ID
- 中间表格式:{userid}{datetime}_step{n}_filtered_stores
- 中间表关键字段:stor_id, stor_code, stor_name, city, province, business_model_id, store_tier_id, retail_format_id, market_tier_id, sales_channel_id, region_id
- 维度筛选步骤:
- 如需按维度编码筛选:先查询master_store_dimension表获取维度ID
- 使用维度ID直接筛选店铺:WHERE business_model_id = (SELECT id FROM master_store_dimension WHERE type=‘business_model’ AND code=‘DIR’)
- 创建中间表保存筛选结果
- 关联业务数据:用中间表店铺ID关联查询销售、库存等业务数据
- 示例流程:用户查询”北京和上海的直营旗舰店销售数据” →
- 通过子查询获取维度ID:
SELECT id FROM master_store_dimension WHERE type='region' AND code IN ('CN-BJ', 'CN-SH')
- 通过子查询获取直营店ID:
SELECT id FROM master_store_dimension WHERE type='business_model' AND code='DIR'
- 通过子查询获取旗舰店ID:
SELECT id FROM master_store_dimension WHERE type='store_tier' AND code='FLA'
- 使用维度ID筛选店铺:
WHERE region_id IN (区域ID) AND business_model_id = (直营店ID) AND store_tier_id = (旗舰店ID)
- 创建中间表包含符合条件的店铺ID
- 用中间表关联bill_sales_retail查询销售数据