仓库 - 雪花

时间:2011-10-17 13:02:37

标签: dimension snowflake-schema

SALES_FACT:
Product_ID(FK)

Dim_Product
PRODUCT_ID
Product_Key
描述

我面临的问题是,如果我的产品可以分为多个类别,该怎么办。我应该在每个类别的Dim_Product中重复记录吗?

实施例:

事实表:
Product_ID(FK):1
价格:10.5

Dim_Product
Product_ID:1
Product_Key:ABC
描述:笔记本电脑
Category_ID:1

Product_ID:1
Product_Key:ABC
描述:笔记本电脑
Category_ID:2

Dim_Category:
Category_ID(FK):1
说明:惠普

Category_ID(FK):2
描述:东芝

2 个答案:

答案 0 :(得分:0)

我认为您可能希望将类别信息移动到dim_product中,或者允许从事实表到类别表的链接,或者对于多个类别中的每个类别具有不同的product_id键。正如您所显示的那样,无法区分惠普笔记本电脑和东芝笔记本电脑。事实上,当您的表被设计链接时,查询将返回两者。我建议为每个唯一的Product_key,Description,Category_ID创建不同的product_id。

答案 1 :(得分:0)

对于这种情况,您需要的是雪片的相反,雪片是产品和类别之间的桥梁表。此桥接表也将作为一个无事实的事实来显示哪些产品属于哪个类别。这在Ralph Kimballs"数据仓库工具包的第15章中得到了证明"

Product Category Bridge