SAP 表的种类

来源:互联网 发布:剑网正太捏脸数据下载 编辑:程序博客网 时间:2024/04/28 10:20

SAP table 有三种类型:transparent,cluster and pool;

1.What is transparent, cluster and pooltable? where and when we use these tables?

透明表同时存在于dictionary 和database中, 且具有完全相同的结构,相同的数据与栏位。

Pooled table 是一种逻辑表,在定义它的同时必须要将其分配到 一个 table pool中去。而pooledtable则是用来存储control data的。几个pooled table是可以被整合到一个table pool中的。这些pooled table的数据会于同一个database table 中更新。

Cluster table是为了解决提高数据库performance而增加的一种机制,它主要是用在数据量巨大(如FI过帐等)的实体表的”替代”的情况下。它与我们传统的透明表(transparent table)相比,有着很多的区别。因为transparent table可以视为1:1的关系,而cluster table则视为n:1的关系,也就是说,它的数据是来源于多个相关的表,例如,BSEG就来源于诸如BSAD、BSID等相关透明表。

簇表则是在定义的时候必须要分配到一个table cluster中去的。也是用来存储control data的。他们用来存储临时的数据和文本,例如文档。

 

2.What’s the major difference betweenstandard tables, Pooled tables and Clustered tables?

透明表是用来直接存储数据的,也即物理的。你可以在系统以外用例如SQL语句来直接读取db的数据。

透明表是一对一的表,例如当你创建一个透明表的同时,完全相同的一个表将会被创建在DB中,主要用于存储交易数据。

而cluster和pooled表是不能从外部访问的,因为其数据都是被聚合和汇集到一个栏位中的。

原因之一是他们的数据于长度和构造上的不同。ABAP于数据库层面的操作亦受限。

但是pool和cluster表是多对一的关系表。这意味着很多的pool表可以被存储到一个table pool中。

所有的pool table于table pool中存储都是不需要foreign key的,但是cluster table是要的。而且这两种table都是用于存储应用数据的。

一个table pool可以包含10到1000个每个可以有10到100笔数据的小的pool table,而cluster table则只可以包含1到10个但超大的cluster table。

对于pool和cluster table,你既可以使用secondary index和select distinct,group,也可以使用native SQL语句。

Structure 是没有数据的table。它只在程式逻辑中需要它的那一刻装入数据。

而View只是一种看待table中内容的方式。它只是改变了table中数据的表现方式而已。你实际调用的仍然是下面的table。

 

原创粉丝点击