我想知道为什么事实表的大小比数据仓库中的维度表大。维度表包含属性级别信息,并且高度非规范化,那么为什么维度表的大小不会更大?
答案 0 :(得分:0)
我可以从偷走Kimball的一些话开始
“维度建模首先将世界划分为测量和背景。” https://www.kimballgroup.com/2003/01/fact-tables-and-dimension-tables/
事实表记录业务活动或事件,因此事实表的大小可能会增加。 Dim Tables存储有关不同上下文的信息。
例如:在一所大学里,100名学生可能会参加10门科目。现在,如果您看到dims, Dim_Student 和 Dim_Subject ,则在这种情况下,它们可能分别有100行和10行。但是,入学活动将更多,因为学生可以同时注册0或多个科目。这可能会导致 Fact_Enrolment (记录注册活动)表与dims相比有更多行。
注意:然而,根据我的经验,我还使用了事实,其中事实表在特定时间点与dims相比具有较小的行。当DataWarehouse增长时,它们最终可能会变大。
希望有所帮助。
答案 1 :(得分:0)
维度包含实体级别信息,而事实包含事务级别信息,对于维度,多个事务可以在一段时间内发生。例如,在HR系统中,可以存在包含所有雇员的个人详细信息的人员维度,其中通常每个雇员可以有1-3个记录。
事实表将存储员工的多个交易,例如,雇用,促销。部门的移动/变更,离职终止等因此对应于一人一维的记录,将有多个事实记录。
事实表还包含与多个维度相对应的事实/度量 因此事实与多个维度相结合,使用代理键/外键引用不同的维度,这使得事实表比维度更重。
答案 2 :(得分:-1)
Dimension tables contains the attribute level information and highly de-normalized
实际上,我怀疑尺寸表是否高度去标准化"。一般来说,维度表中的每一行都由主键标识,因此其中包含重复项的范围非常小。这可以解释为什么它们与事实表相比不会变得太大。