在 SAP Hana 中使用代理键

     2023-03-29     56

关键词:

【中文标题】在 SAP Hana 中使用代理键【英文标题】:Using surrogate keys in SAP Hana 【发布时间】:2018-09-06 18:19:47 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

感谢您的 cmets。我会检查这些选项。

如何从 SAP HANA Studio 在 SAP HANA Vora 虚拟表中插入数据?

】如何从SAPHANAStudio在SAPHANAVora虚拟表中插入数据?【英文标题】:HowIcaninsertdatainSAPHANAVoravirtualtablefromSAPHANAStudio?【发布时间】:2017-04-0411:16:59【问题描述】:我有一个带有单个varchar字段的SAPHANAVora虚拟表。我尝试从SAPHANAStudio对... 查看详情

使用 Apache Beam 将 SAP HANA 连接到 Big Query

】使用ApacheBeam将SAPHANA连接到BigQuery【英文标题】:ConnectSAPHANAtoBigQueryusingApacheBeam【发布时间】:2019-03-1509:43:42【问题描述】:我需要,任何人都使用过hana-bq-beam-connector。我目前正在使用这个blog用这个GitHubrepo在eclipse中打开并修... 查看详情

带有 SAP HANA 的实体框架

...:2017-10-3019:59:40【问题描述】:我在SQLServer上构建了一个使用实体框架作为数据库的WPF应用程序。我正在尝试使用SAPHANA作为数据库迁移相同的应用程序。遵循相同的方法,我在HANAdb中创建了表,现在尝试按照此SAP帮助在解决方... 查看详情

在 sap hana 中提取外键的系统表

】在saphana中提取外键的系统表【英文标题】:Systemtabletoextractforeignkeysinsaphana【发布时间】:2014-11-1811:02:26【问题描述】:我想查询sap-hanadb中的系统表以提取有关外键的信息。有“索引”和“索引列”系统表,但我只看到“约束... 查看详情

通过带有参数的 JDBC 从 SAP HANA 数据库中选择

...上执行选择语句。SELECT语句由第三方BI工具发送,该工具使用SAPHANAJDBC驱动程序(ngdbc.jar)来执行对HANA数据库的访问。查询 查看详情

(HANA SQL) 在一行中显示多个值

...旋转。【参考方案1】:对于固定的最大目标列数,可以使用窗口函数和条件聚合:sele 查看详情

从 RODBC 报价单中的子句 - SAP HANA

...【发布时间】:2017-01-2923:24:11【问题描述】:我似乎无法使用RODBC的sqlQuery使下面的FROM子句工作。我接受了@LarsBr的建议。就报价而言,但它仍然不起作用。我是我知道占位符的工作原理是我在qlikview中使用过的ExtractingTablefromHANAus... 查看详情

使用 VBA 连接到 SAP HANA 数据库

】使用VBA连接到SAPHANA数据库【英文标题】:ConnecttoSAPHANADatabaseusingVBA【发布时间】:2017-04-2410:26:34【问题描述】:我正在尝试使用vba从SAPHANA数据库将数据提取到Excel中。我遇到了以下问题。我需要为此安装SAPHANAMDXProvider吗?如果... 查看详情

jmeter之录制控制器与代理的使用

Jmeter之录制控制器与代理的使用  1.先启动jmeter,在测试计划中添加线程组 2.选中线程组右键添加,在配置元件中点击HTTP请求默认值 3.选中线程组右键添加,在逻辑控制器中点击录制控制器 4.工作台中,右键添... 查看详情

s4hana扩展分类账使用方法

...传统的新总账下是如何实现的。在ECC的新总账中,SAP允许使用多个账套,每个账套下可以设置不同的会计准则以便于产生不同的会计报表。系统默认交付了唯一 查看详情

从 SAP HANA 导入数据时出现 sqoop 问题

...发布时间】:2017-05-0420:31:13【问题描述】:我们目前正在使用sqoop将数据从SAPHana移动到Hadoop。SAPHana表在表名和列名中使用“\\”字符。我们的常规sqoop命令正在运行,但是当我使用“拆分方式”时它失败了。任何人都可以帮忙。... 查看详情

使用 JAVA 在 HANA 中插入数组

】使用JAVA在HANA中插入数组【英文标题】:InsertarrayinHANAwithJAVA【发布时间】:2017-06-0816:11:34【问题描述】:我有一个对象数组列表并尝试将列表插入HANA。所以我的插入代码看起来像PreparedStatementstmt=conn.prepareStatement("INSERTINTOSCHEMA.... 查看详情

SAP HANA DB 连接在控制台应用程序中工作正常,但同样的事情在服务中不起作用

】SAPHANADB连接在控制台应用程序中工作正常,但同样的事情在服务中不起作用【英文标题】:SAPHANADBconnectionworksfineinconsoleapplication,butsamethingisnotworkingfromservice【发布时间】:2018-04-1422:40:53【问题描述】:SAPHANADB连接在控制台应用... 查看详情

在 HANA 中使用 Into 子句“立即执行”

】在HANA中使用Into子句“立即执行”【英文标题】:\'ExecuteImmediate\'withIntoClauseinHANA【发布时间】:2014-03-0510:23:03【问题描述】:我有一个需求——我需要读取一个表(表名作为SP的输入参数提供),将结果存储在一个临时表中,... 查看详情

hana与oracle12c哪一个更快

本文来自于对WhichisFasterHANAorOracle12C?的阅读笔记,列举了其中的要点。并不代表我的观点。简介SAP声称HANA是最快的数据库,因此SAP的新ERP系统S4不再支持OracleOracle12c的一个新功能是对于同一表,可以在行式和列式间转换SAP想让用... 查看详情

连接 SAP Hana 数据库时调用未定义函数 odbc_connect() 消息

...时间】:2013-07-2511:05:52【问题描述】:我在我的PHP页面中使用odbc_connect()连接到HANA数据库。当我在本地运行它时它工作正常。我将相同的PHP页面上传到服务器,但 查看详情

数据仓库中的代理键与复合键

】数据仓库中的代理键与复合键【英文标题】:Surrogatekeyvs.compositekeyindatawarehouse【发布时间】:2014-05-1406:32:58【问题描述】:在数据仓库(DW)中,我们有维度和事实表。维度键作为外键迁移到事实表中,因此在事实表中形成了... 查看详情

在 Spring Boot 中使用 jdbcTemplate 执行具有动态占位符的 HANA 查询

】在SpringBoot中使用jdbcTemplate执行具有动态占位符的HANA查询【英文标题】:HANAquerywithdynamicplaceholderexecutedusingjdbcTemplateinSpringBoot【发布时间】:2022-01-0803:11:23【问题描述】:我有一些依赖于PLACEHOLDER输入的HANA查询。对此的输入当... 查看详情