维度表中的主键是否必须是事实表中的主键的一部分?

时间:2019-02-14 08:44:19

标签: data-modeling data-warehouse dimensional-modeling

我们有一个Star模式,其中有一个非常大的Fact表,大约有20个Dimension表,当然,事实表中Dimension Table中的PK必须为FK。

但是事实表中的所有FK是否也需要成为PK的一部分?

我在几个DWH上工作,但情况并非如此,但是最近在大学考试中,我因为不参加而成绩很差。

是真的吗?这是一个好习惯吗?

如果我的事实表有20个维度,那么事实表PK是否必须针对这30个属性进行合成?

1 个答案:

答案 0 :(得分:3)

这是一个好习惯,因为它有助于确保所有事实都引用现有的维成员,并可以提高某些DBMS的性能,但是与其他任何设计/方法一样,这不是强制性的。

事实表的复合键实际上是recommended practice by Kimball的维度建模方法,即:

  

在大多数环境中,此组合键足以作为主键   事实表的关键。通常,分配一个   在逻辑级别上替代事实行的键,因为我们有   已经定义了使事实表行唯一的原因。