两个具有相同层次但不同粒度的事实表

时间:2018-05-10 07:44:48

标签: data-warehouse

假设以下假设情况我们需要两个Fact表定义为:

评估事实表

  • 用户ID
  • SchoolID
  • CourseID
  • 状态(已通过/未通过)

UserResponse事实表

  • UserID
  • SchoolID
  • CourseID
  • SubjectID
  • SurveyID
  • 响应

很明显,我们需要一个用户维度表,但是如何对另一个hiercarhy维度进行建模?

我们有两种可行的方法:

1 - 分别对所有维度建模并将它们相互关联(雪花模式),并将事实表与相应的维度相关联。在这种情况下,我们在构建查询时需要多个连接。

2 - 遵循kimball建议,我们应该在一个独特的维度中统一所有1:n关系,但是通过这种近似,我们应该构建包含相同信息但具有不同粒度的两个维度:

昏暗的调查

  • ID
  • SurveyDescription
  • SubjectID
  • SubjectDescription
  • CourseID
  • 课程描述
  • SubjectID
  • SubjectDescription
  • SchoolID
  • SchoolDescription

dimCourse

  • ID
  • 课程描述
  • SubjectID
  • SubjectDescription
  • SchoolID
  • SchoolDescription

哪种方法更合适?

0 个答案:

没有答案
相关问题