在电商场景中,雪花模式(Snowflake Schema)是数据仓库/BI分析中常用的一种多维数据模型,它是星型模式(Star Schema)的规范化版本。下面从概念、结构、电商示例、建表思路、优缺点与适用场景几个方面说明。
对比:
- 星型模式:维度表是“扁平的”,不继续拆分
- 雪花模式:维度表是“规范化的”,有层级关系
以订单分析为例:
| 字段 | 说明 |
|---|---|
| order_id | 订单ID |
| user_key | 用户维度外键 |
| product_key | 商品维度外键 |
| date_key | 时间维度外键 |
| order_amount | 订单金额 |
| quantity | 购买数量 |
| user_key | city_key | age_group |
|---|
| city_key | province_key | city_name |
|---|
| province_key | region | province_name |
|---|
| product_key | category_key | brand_key | product_name |
|---|
| category_key | category_name | parent_category |
|---|
| date_key | year | quarter | month | day |
|---|
SELECT
p.province_name,
c.category_name,
SUM(f.order_amount)
FROM fact_order f
JOIN dim_user u ON f.user_key = u.user_key
JOIN dim_city ci ON u.city_key = ci.city_key
JOIN dim_province p ON ci.province_key = p.province_key
JOIN dim_product pr ON f.product_key = pr.product_key
JOIN dim_category c ON pr.category_key = c.category_key
GROUP BY p.province_name, c.category_name;
电商数据库在业务系统用范式,在分析系统可用雪花;雪花模式适合“层级明显、维度复杂”的电商数据分析场景。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。