壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1133|回复: 6

[ABAP] 簇表和POOL TABLE 的概念?

  [复制链接]
发表于 2012/5/12 15:54:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
簇表大概意思就是把好多表融合在一张表里,我从help中找到一些描述,
Table Clusters
Several logical data records from different cluster tables can be stored together in one physical record in a table cluster.
A cluster key consists of a series of freely definable key fields and a field (Pageno) for distinguishing continuation records. A cluster also contains a long field (Vardata) that contains the contents of the data fields of the cluster tables for this key. If the data does not fit into the long field, continuation records are created. Control information on the structure of the data string is still written at the beginning of the Vardata field. A table cluster has the following structure:

Field        Data type          Meaning
CLKEY1        *             First key field
CLKEY2        *             Second key field
...
...
...
CLKEYn        *             nth key field
Pageno       INT2(5)        Number of the continuation record
Timestamp    CHAR(14)       Time stamps
Pagelg       INT2(5)        Length of the string in Vardata
Vardata      RAW (n)        Contains the entries from the data fields of the assigned cluster tables as a string, max. length n depends on the database system used
The records of all cluster tables with the same key are stored under one key in the assigned table cluster. The values of the key fields are stored in the corresponding key fields of the table cluster. The values of all data fields of the assigned cluster tables are written as a string to the Vardata field of the table cluster. Besides the actual data values, the data string contains information on the structure of the data and which table it comes from. If the string exceeds the maximum length of the Vardata field, a continuation record is written with the same key values. The continuation records for a key are distinguished by their value in field Pageno. The actual length of the string in the Vardata field is stored in the Pagelg field by the database interface.

You need the structural information stored in the ABAP Dictionary to read the data from a pooled table or cluster table correctly. These tables can therefore only be processed using Open SQL with the cluster interface, and not with Native SQL directly in the database.

大概的理解就是他把不同的cluster table都存在一个table cluster里,而这个table cluster的结构就是由上面几个字段组成,key字段都存在对应的key字段里,所有其他的内容都存在vardata这个字段,在这个字段里不光存入数据还存入这些数据都来自那些表,如果超过这个字段,就会另写一记录连续下去,吧pageno这个字段来标志这是连续上一条记录的。反正就是这样了,具体为什么要用cluster table我也不清楚。
簇表:类似逻辑视图,但是表
透明表:可以理解为一般的table



该贴已经同步到 xiaoerp的微博
 楼主| 发表于 2012/5/12 15:54:30 | 显示全部楼层
在物理上,数据库里的数据都是以数据文件的形式存储在磁盘上的,所
   以数据文件的格式必须尽量符合OS所对应的磁盘的格式。由于数据库往往需
   要在许多不同的OS上使用,所以她的物理格式也就比较的多。那么在逻辑上
   的数据怎么样满足多样化的存储格式的要求呢?这个问题的一个简单的解决
   办法就是利用“簇”来解决。在透明表里一个RECORD的多个字段是放在不同
   物理字段中,这样作很麻烦同时也不经济。我们可以定义一个VARDATA的超级
   字段把这个RECORD的所有字段都存储在这个字段里。通过定义指针来读取所
   需要的数据。这就是簇表。
       举个例子吧,FI模块里的BSEG就采用了这个方式。R/3里用到的DATASET
   也采用了这个技术。如果用C语言来读数据库,往往要定义指针也是这个道理。
       其实,在SAP中的表的种类有以下三种:
Tranparent table
Pools
Cluster table
其中,transparent table同各种数据库中的table概念一致;不再过多地叙述了。
SAP所特有的表结构,就是Pools和Cluster table;他们已经不是各种数据库常规的表了,也不能够被数据库直接访问。只能通过SAP自己的工具来直接访问。
Cluster table的优点是压缩数据量。
SAP 系统包含下列表类型:
透明表
每个透明表在数据库中有一个相应的物理表。物理表的名称和数据字典中的逻辑表
定义的名称一致。所有事务和应用数据存贮在透明表中。
结构
结构在数据库不存在数据记录。结构用于在程序之间或程序与屏幕之间的接口定义。
附加结构
附加结构定义字段的子集,该字段属于其他表格或结构,但是在修正管理中作为单
独的对象。
存贮表
存储表可以用来存贮控制数据(例如:屏幕顺序,程序参数或临时数据)。几个存
储表可以组合成一个表库。该表库和数据库中的一物理表库相一致。它包含了各组
合库分派给它的所有记录。
簇表
连续的文本如文档之类可以存贮在簇表中。几个簇表可以组合成一个表簇。对这种
表类型,不同表中的几个逻辑行组合到一物理记录。这可以实现一对象接一对象地
存贮或访问,访问簇中的表的一个前提是,至少关键字的一部分必须相符合。几个
簇表存贮在数据库中 一个相应的表里。
发表于 2012/8/1 17:33:57 | 显示全部楼层
学习,谢谢
发表于 2012/8/2 19:58:05 | 显示全部楼层
{:soso_e182:}
发表于 2012/9/4 12:16:31 | 显示全部楼层
呵呵,学习了,多谢分享,
发表于 2012/9/5 10:00:50 | 显示全部楼层
来学习的~大家都很厉害~~
发表于 2012/9/25 11:05:07 | 显示全部楼层
多谢  很不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 01:35 , Processed in 0.017529 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表