云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站空间_中小企业网站制作公司_三重好礼

小七 141 0

在之前的博文中,您可以看到CDS视图是SQL的增强,在实时项目中,我们需要将多个表连接在一起以将数据转换为有意义的信息。让我们看看它如何与CDS视图一起工作。

连接:我们可以在CDS视图中使用以下不同类型的连接;

内部连接左外连接右外连接

我不会谈论所有的连接,它们的行为与简单的SQL概念完全相似。让我们看一个语法purose的内部连接代码示例;

添加必要的组件来完成视图。连接表SFLIGHT和SPFLI。从表SPFLI添加机场信息。

激活并执行视图为了查看数据;

我们看到了一个CDS视图是如何通过一个Join从两个表中获取数据的。现在让我们想想为什么要创建这些CDS视图?目的是什么?

业务用户不直接访问CDS视图,而是使用ABAP程序,大数据信息,Fiori应用程序或BI前端工具。如果您创建了一个在5个不同表上具有联接的CDS视图,则每次触发此CDS视图时都将执行此联接条件。即使业务用户只查看2个表中的字段,但CDS视图将首先运行所有5个表的联接条件,而不管如何许多用户正在查看的字段。这是带有连接的SQL概念,但在用户只查看部分数据的情况下,会导致从CDS视图中提取数据的延迟性能。要解决此问题,SAP对这种SQL获取数据的方式做了一个增强,并完美地发展了"关联"的概念。有了关联,只有当用户想查看数据时才会获取数据;

关联:

关联是一种在连接条件下从多个表中获取数据的连接,但这些是"按需连接",中移物联网,即只有当用户访问需要表关联的所需数据时才会触发关联。例如,您的CDS视图配置了4个关联,企业交流软件,用户仅为2个表,其他2个表上的关联不会被触发,系统会快速返回结果,因此与常规SQL连接相比,它能够实现非常高的周转时间。

关联是用"基数"定义的。语法:关联[]

基数概念不是新概念,与CDS视图也有相同的概念。根据所联接表中的数据和关系,有4种可能的基数类型;

0..10..n或0*1..01..n或1..*

注意:如果您不清楚我应该在我的CDS视图中配置什么样的关联,那么您可以应用一条经验法则:"始终使用此:关联[1]。这将始终触发外部联接,并且在所有情况下都有效。

让我们创建一个具有关联概念的CDS视图。

下面是您使用的默认结构会得到的。如您所见,关联基数定义为"association[1]"。如果不确定要分配什么关联,可以保持原样。选中默认的关联名称作为\u Association\u name。这可以是您选择的任何名称,但SAP已经创建了一个命名约定标准,以下划线(389;)开头,并且始终遵循SAP标准最佳实践是很好的。

-公开关联

右键单击并选择"Show SQL CREATE Statement;"

如您所见,不创建联接;

我们可以在CDS视图中添加单独的字段,就像一个连接,这就是所谓的临时关联概念。在这种情况下,将提前执行联接。

-特殊关联:

检查SQL CREATE语句。请注意,创建了"左外多对一联接"。创建联接是因为我们选择了单个字段,而不是公开整个关联,并且它是左外多对一,即.*..1,因为我们已配置基数,如关联[1]。

正如我们在上面看到的,与公开关联和特殊关联的关联概念。现在让我们激活具有公开关联的视图,并查看它在运行时如何执行联接。

激活此视图并按F8执行;

执行并查看突出显示的CDS视图名称和CARRID数据AA和AAAZ.另外请注意,由于尚未执行任何连接,因此表SPFLI中没有显示任何数据。

如果您想查看表SPFLI中CARRID'AA'的更多机场信息,请现在查看。右键点击CARRID为"AA"的任意一行,选择"Follow Association",弹出另一个窗口,点击关联类型;

检查数据:现在按需执行Join,根据关联键只显示CARRID为"AA"的数据。

摘要:,关联概念是我喜欢CDS视图的一个优点。因此,云 服务器,SAP聪明地开发了这个概念,以节省只读取分析所需信息的工作量。在设计了一个非常复杂的CDS视图(包含多个表和其他CDS视图)之后,您可以感受到真正的不同非常复杂的CD视图在使用关联时仍然表现出色。在这篇博文中,大数据市场,我们看到了关联概念以及公开的和临时的关联。

第9部分。CDS视图–OData服务:对外发布:学习如何创建OData服务。

关注即将发布的博客文章:Sanjeev Kumar