--- 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 - **中间表格式**:{user_id}_{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 - **维度筛选步骤**: 1. 如需按维度编码筛选:先查询master_store_dimension表获取维度ID 2. 使用维度ID直接筛选店铺:WHERE business_model_id = (SELECT id FROM master_store_dimension WHERE type='business_model' AND code='DIR') 3. 创建中间表保存筛选结果 4. 关联业务数据:用中间表店铺ID关联查询销售、库存等业务数据 - **示例流程**:用户查询"北京和上海的直营旗舰店销售数据" → 1. 通过子查询获取维度ID:`SELECT id FROM master_store_dimension WHERE type='region' AND code IN ('CN-BJ', 'CN-SH')` 2. 通过子查询获取直营店ID:`SELECT id FROM master_store_dimension WHERE type='business_model' AND code='DIR'` 3. 通过子查询获取旗舰店ID:`SELECT id FROM master_store_dimension WHERE type='store_tier' AND code='FLA'` 4. 使用维度ID筛选店铺:`WHERE region_id IN (区域ID) AND business_model_id = (直营店ID) AND store_tier_id = (旗舰店ID)` 5. 创建中间表包含符合条件的店铺ID 6. 用中间表关联bill_sales_retail查询销售数据