【发布时间】:2012-08-25 21:17:26
【问题描述】:
有两种思想流派:
使用代理键,最好采用以下格式:YYYYMMDD,因为这将始终 顺序。
删除日期维度代理键并改用实际日期。
我对维度建模专家的问题是:
1> Which design would you prefer and why?
2> How should we handle unknown values in each of the cases, Can we simply place
NULL in Fact table for unknown dates as Foreign Key can be NULL (if not why)?
3> If we need to partition fact table on date column, how would we achieve that
in case 1.
我倾向于在事实表中使用实际日期并使用 NULL 来表示 UNKNOWN 日期,因为无需查看维度表即可对事实进行与日期相关的验证。
【问题讨论】:
-
你为什么要毁掉一个完美的约会?问题是:“这将始终是连续的”是什么意思?通过将密钥转换为 YYYYMMDD 可以实现什么
-
不,我不会,但一个学派说为每个维度添加代理键并为 UNKOWN 日期添加不切实际的值。这篇文章只是为了评估每个案例的优点。
-
不,我不会,但一个学派说为每个维度添加代理键并为 UNKOWN 日期添加不切实际的值。这种 YYYYMMDD 形式的优点是,代理键是直接从日期派生的,不需要任何查找。这篇文章只是为了评估每个案例的优点。
-
我很确定日期也是连续的。
标签: oracle database-design oracle11g data-modeling