特征的SID表、M表、P表、Q表、X表、Y表、T表
有些特征是不带属性的(如下面的电话号码、过期日期、交货完成标识)——称简单特征,这种特征是不带主数据的,即没有属性P表(但还是有S表,用来存储SID的底表,加快查询速度);有些是带文本的(如下面的性别标识有文本),会有对应的T表文本表;再如下面的Product即带属性、又带文本、还带层次关系,只要是带属性的特征,在底层就会有一张P表与之对应(文本、层次也是有对应的底表的):
带属性、文本、层次的特征:
SID表:只要是特征,不管该特征是否是勾上了“仅属性Attribute Only”选项,也不管该特征是否带属性、文本、层次,特征都会有一个SID表,该表中特征本身是主键,而SID字段为整型类型字段,这样设计的目的是加块查询的率效(因为一般通过整型类型的字段进行关联与查询速度要快,Fact表里存储的就是SID,不是特征本身的值),所以SAP在设计特征时都会生成一个SID表:
M表:实质上不是表,而是视图,它的字段来自P表或Q表、或者是P表+Q表中的字段,存储了特征的 Attribute 页签中的所有附加属性。
当所有属性都是时间无关的属性时,就只有P表,没有Q表(有无P表、Q表,与是否导航无关,只与时间有关),此时M表的所有字段只来自于P表:
-
当所有属性都是时间相关的属性时,就只有Q表,没有P表(有无P表、Q表,与是否导航无关,只与时间有关),此时M表的所有字段只来自于Q表:
-
当有部分属性是时间相关的,另一部分又是与时间无关的属性时,就会有P表,也有Q表(有无P表、Q表,与是否导航无关,只与时间有关),此时M表的是由 P表与Q表Join而来:
-
当特征的Master data/texts 页签中的 With master data勾去掉,且没有附加属性时(加了属性后,激活时With master data会自动勾上),M表就不会存在,但只要 With master data勾上,就会有M表:
-
只要With master data勾上,即使没有附加属性,都会生成M、P表:
P表:只要有时间无关的属性,就会生成P表,且此时时间无关的属性都会成为该表的组成字段
X表:只要有时间无关的导航属性,就会生成X表,X表实质上就是SID,就像特征本身有一个SID表一样,因为为了导航速度快,所以需要为导航属性生成对应的SID
Q表:只要有时间相关的属性,就会生成Q表,且此时时间相关的属性都会成为该表的组成字段
Y表:只要有时间相关的导航属性,就会生成Y表,与X表一样,Y表实质上也是SID,也是为了导航速度快而生成的
T表:文本表
原文出自 江正军 技术博客,博客链接:www.cnblogs.com/jiangzhengjun