【发布时间】:2012-06-25 23:15:01
【问题描述】:
我正在尝试开发一个合适的 BI 解决方案,使维度表和事实表具有 1:1 的关系。
举个例子:
Fact_UserData
- 用户 ID
- 位置 ID
- 职业ID
- 一堆可以有意义地聚合的数字数据
Dim_User
- 用户 ID
- 性别
- 种族
Dim_Location
- 位置 ID
- 区
- 城市
- 状态
Dim_Occupation
- 职业ID
- 职业名称
在此示例中,假设 Fact_UserData 和 Dim_User 通过用户 ID 始终具有 1:1 的关系。
主要让我失望的是 1:1 关系 - 我应该有一个专用的用户维度还是应该将这些属性合并到事实表中?我对合并犹豫不决,因为根据Kimball,应该为操作控制编号保留退化维度。我还想知道将职业作为一个专门的维度是否有意义 - 从业务的角度来看,按职业分组至关重要,这就是我最初将其作为自己的维度的原因。
作为对职业维度问题的概括,处理维度只有两个字段:ID 和名称的情况的最佳实践方法是什么? (把它想象成一个典型的客户维度,期望它只有字段客户 ID 和客户名称。)假设维度有 10 多个条目并且没有任何层次结构。
【问题讨论】:
标签: database-design data-warehouse business-intelligence