维度模型:约会-事实或维度

Dimensional Model: Appointments-Fact or Dimension

在设计用于分析诊所调度过程的维度模型时,预约是事实 table?

如果约会是grain,那么如何计算超额预订属性等约会属性?

在这样的建模场景中,考虑 流程 实体 比较有用 - 例如,有一个预订流程和参加约会,这可以被建模为一个事实,以及与流程相关的约会实体(及其所有属性)。

要对流程建模,一种选择是使用 "accumulating snapshot" 事实技术,其中事实行随时间更新。要为实体建模,您可以创建所有约会的维度,但通常您希望避免创建行数与事实 table 一样多的维度,因此一种方法是 "junk dimension",它包含属性的子集(例如状态标志)。

Kimball Group 的 Joy Mundy 在文章 here 中讨论了类似的设计方案。