星型模式设计:当源系统多对一(N:1)时,使用 2 维还是 1 一致维?
Posted
技术标签:
【中文标题】星型模式设计:当源系统多对一(N:1)时,使用 2 维还是 1 一致维?【英文标题】:Star Schema Design: Use 2 Dimensions or 1 Conformed Dimension when source systems relate many to one (N:1)? 【发布时间】:2014-02-06 22:30:25 【问题描述】:我正在创建一个星型模式来为学校的术语和课程建模。
学习管理系统 (LMS) - 上课的地方,将每个课程与特定的 LMS 学期相关联。
学生信息系统 (SIS) - 学生在其中注册课程,以比 LMS 更精细的方式对条款进行建模。因此,每个 LMS 术语都有多个 SIS 术语。
每条事实记录都以班级内的学生为粒度,并与 1 个 LMS 学期相关联。
看来我可以制作二维表:DimSisTerm 和 DimLmsTerm。
或者,我可以制作 1 个符合要求的维度表:DimTerm
在单一符合维度的情况下,每个 SIS 术语将有 1 条记录,但是 LMS 术语键及其属性将针对所有相关的 SIS 术语记录重复。
之前经历过这种情况的人能否就这两种情况之间的权衡提供指导?
【问题讨论】:
【参考方案1】:这是一个非常标准的 1:n 层次结构,您可以为其创建一个维度。重复值被认为是维度表的一个有价值的属性,以避免连接。
【讨论】:
我已经看到了这个答案的价值,因为我已经减少了维度的数量,从而实现了更好、可能更快的报告设计——而雪花模式现在真的是明星。以上是关于星型模式设计:当源系统多对一(N:1)时,使用 2 维还是 1 一致维?的主要内容,如果未能解决你的问题,请参考以下文章