理解BW数据模型 - 主数据模型

SAP BW把主数据分为了三类:属性,文本,层级。每一类都存放在了一个与IO关联的数据库表中。下图是一个简单主数据模型的数据库表结构。

SAP BW 数据模型,特别是主数据模型大量使用了代键(SORROGATE KEY)的概念。一般代键都是由系统自动产生的,而且是唯一的一个数字的组合。作为数据上传或者维护过程的一部分,系统会自动为每一个新的主数据产生一个代键,并且在一个称作SID表(图中,#1)的数据库表维护代键和主数据之间的关系。
 
属性值存放在属性表(图中,#2)中。属性表一共有两张:存放时间相关属性的Q表和存放时间无关属性的P表。与P表相比,Q表多出来两个字段DATAFROM 和DATETO,它们用来确定任意属性组合的有效时间段。另外属性表中还维护了的数据版本信息(活动数据和修改数据)。除了这两张属性表外,系统还将它们包含的所有字段组合成一个数据库试图,也就是所谓的M表。
 
如果一个属性被指定为导航属性,那么跟它有关的数据存放在导航属性SID表中。与属性表不同,导航属性SID表中存放的不是属性的实际值,而是属性的代键。这样可以提高查询访问导航属性的速度。
 
文本表(图中,#3)用来存放文本主数据,包括名称和文本描述。将文本属性和一般属性分开的方式一方面可以提高数据的访问性能,另一方面可以支持多语言。而且文本表也支持时间相关的文本属性。时间相关的文本表多出来两个字段用来确定文本的有效期DateFrom和DateTo。
 
层级(Hierarchy)表(图中,#4)用来存放主数据的层级结构数据。这种建模的层级一般称为外部层级。而通过属性定义的层级结构称为内部层级。层级表包括四张数据库表,分别称为H表,K表,I表和J表。
 
上述所有的这些数据表都是在激活IO的时候,系统按照它的命名规则自动生成的:
 
/BI<C或者数字>/<表代码><信息对象>
C或者数字:C代表客户定义IO
                       Digit=SAP定义IO
<表代码>       S=SID表
                        T=文本表
                        P=时间无关属性表
                        Q=时间相关属性表
                        M=属性视图,包括P和Q的内容
                        X=时间无关导航属性SID表
                        Y=时间相关导航属性SID表
                        H=层级表
                        K=层级SID表
                        I=层级SID结构表
                        J=层级内表
<信息对象>   信息对象的名字(如果是以数字开头,去掉数字)
 

猜你喜欢

转载自lzkyo.iteye.com/blog/1134560
今日推荐