SQL - 加载没有业务ID的数据仓库维度表?

Posted

技术标签:

【中文标题】SQL - 加载没有业务ID的数据仓库维度表?【英文标题】:SQL - load data warehouse dimension table without business IDs? 【发布时间】:2021-04-25 19:05:36 【问题描述】:

只是想看看有没有其他人处理过这个问题以及如何处理。

我正在构建一个星型模式 DW,目前正在构建我的维度表。它们中的大多数都很好,因为描述都有 ID,例如我有一个“动作类型描述”和一个“动作类型 ID”,我可以使用它们来构建我的 dimActionType 维度。

我的问题是一些描述字段没有对应的业务键 - 例如,我有一个“组角色”描述但没有业务 ID。将其放入 DimGroup 表的最佳做法是什么?我可以将不同的组角色选择到具有自动增量的表中,但是我如何将我的事实表加入到这个表中?

欣赏任何想法/想法

【问题讨论】:

【参考方案1】:

如果“组角色描述”唯一标识了一个组角色,那么它就是业务密钥 - 所以只需像对待任何其他业务密钥一样对待它。

【讨论】:

这是一个 nvarchar(50) 字段,但我肯定不应该使用它加入吗? 不,您添加代理键作为维度的 pk - 就像添加任何其他维度一样 当我之后构建我的事实表时,如果代理键只存在于我的维度表中而没有其他地方,我将如何加入它?对于其他维度,我可以构建我的事实表,然后加入业务键以带来维度键对不起,首先为我构建 DW,所以仍然试图理解这样的事情。 从源数据加载时,您使用业务键查找相关维度记录,获取该记录的 SK 并在构建事实表记录时使用该 SK 性能会很好,假设使用适当的索引。数字 SK 用于(除其他原因外)提高分析查询的性能,您每天可以在 1000 次查询中加入数百万行。在数据加载不会导致问题时使用文本字段进行连接,而不是在查询事务系统时使用

以上是关于SQL - 加载没有业务ID的数据仓库维度表?的主要内容,如果未能解决你的问题,请参考以下文章

hive建立数据仓库 事实表的外键和维度表主键怎么关联 啥命令

数据仓库-零售业务举例维度表设计细节-读书笔记

SSIS包瓶颈插入记录

如何处理数据仓库中重复id包含略有不同值的维度表?

数据仓库中的时间和日期维度

数据仓库之事实表设计