有两种思想流派:
使用代理键,最好采用以下格式:YYYYMMDD,因为这将始终是连续的。
消除 Date 维度代理键并改用实际日期。
我对维度建模专家的问题是:
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 日期,因为无需查看维度表即可对事实进行与日期相关的验证。