考虑到有一个数据仓库包含一个事实表和三个维度表。
事实表:
尺寸表:
这些表的所有数据都是从我们的业务系统中提取的。
在业务系统中,用户有许多属性,其中一些可能会随时间变化(mobile
,avatar_url
,nick_name
,status
),其他一些属性在创建记录后不会改变(id
,gender
,register_channel
)。
所以一般在dim_user
表中,我们应该使用哪些字段?为什么?
昏暗用户应该具有可更改和不可更改的字段。在非规范化模型中,最好将维度的所有相关属性保存在单个表中。
此外,最好在维度表中保留有关用户的所有可用信息,因为它们可能用于报告目的。如果报告不需要它们,您可以跳过它们。
如果您想保留用户的更改历史记录,可以考虑实施slowly changing dimensions。否则,您可以在更改维度属性时更新维度属性。它被称为SCD类型I.