在 SAP Hana 中使用代理键

Using surrogate keys in SAP Hana

我正在创建维度数据模型以在 SAP Hana 中实施。在维度建模中,维度表具有代理键是强制性的,但是有人告诉我,在 SAP Hana 中,我们无法定义代理键,必须依赖于维度的自然键。我以前从未遇到过这种情况,尤其是对 SCD 维度使用自然键是不可能的。

任何关于在 Hana 中实现代理键的建议都会很棒。

与大多数其他 RDMBS 一样,SAP HANA 支持自动生成代理(合成)键。此功能的名称是 IDENTITY 列。还有键值生成函数,如 SYSGUUID() 可用,可生成保证全球唯一的数字。
这涵盖了 current 数据库的功能,即仅代表最新信息状态的数据库。

对于您提到的示例(缓慢变化的维度,SCD,类型 2),您需要引入一个概念,即在哪个时间范围内任何维度条目都被视为 当前。您需要创建一个 temporal 数据库。一种方法是将 validFrom/validTo 字段添加到维度 table 中,并在数据加载期间相应地填充它们。 SAP HANA 通过名为 temporal join 的功能支持这种类型的建模,该功能允许将事实数据轻松匹配到时间维度 table.

考虑到这些特性以及 SAP 自己的数据仓库解决方案 SAP BW/4 HANA 在 SAP HANA 上管理缓慢变化的维度这一事实,我想说你听到的说法是不正确的。