现在的位置: 首页 > 综合 > 正文

BW的星型数据模型

2013年10月03日 ⁄ 综合 ⁄ 共 1326字 ⁄ 字号 评论关闭

 

1、传统星型模型是用维度表和事实表组合而成的。维度表由系统生产的主键和特征组成。维度表的数据大多来自特征的数据,用来回答what,when,who等问题。事实表由外键和事实数据组成,用来回答how
much,how many。维度表的主键是事实表的外键。一个星型模型最多有16个维度。

星型模型的不足: 维度不能共享;不能灵活drill-down;访问效率差;层级关系只能作为维度的属性,不灵活;不能支持多语言。

 

 

2 、BW扩展星型结构的增强:主要是将维度表分为两部分:SID表和主数据表(属性表、文本表、层级表),两者最大的不同是扩展星型结构维度特征数据不是存在维度表中,而是存在主数据表中。如下图:

 

 

特征不存在于维度表中,而是用替代的ID(SID)存在于维度表中,SID为数值类型的,增强访问效率。维度表和事实表通过主外键形式链接,每个维度表都有系统自动生成的数值型的关键值,事实表的外键为维度表的维度关键值。维度表里包含系统自动生成的关键值和SID值,通过SID值与SID表链接,SID表把维度表连接到各自的主数据表,每个特征对应一个SID表。特征的附加信息都放到SID表外层的主数据表中。单独维护的属性、文本、层级可以支持多语言。SID表和主数据表的链接不是主外键的关系,是通过ABAP程序编写的

 

 

 

3、下图是一个BW数据模型的数据库表结构。

 

 

 

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表。

 

 

转自:
http://tjuhj.blog.sohu.com/159117416.html

           
http://space.itpub.net/119153/viewspace-660614

抱歉!评论已关闭.