声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4295513.html
 
有些特征是不带属性的(如下面的电话号码、过期日期、交货完成标识)——称简单特征,这种特征是不带主数据的,即没有属性P表(但还是有S表,用来存储SID的底表,加快查询速度);有些是带文本的(如下面的性别标识有文本),会有对应的T表文本表;再如下面的Product即带属性、又带文本、还带层次关系,只要是带属性的特征,在底层就会有一张P表与之对应(文本、层次也是有对应的底表的):
带属性、文本、层次的特征:

时间相关的层次:

如果某个特征带层次结构,特征的“Attribute Only”不能勾上
 
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表:文本表
 

特征的SID表、M表、P表、Q表、X表、Y表、T表的更多相关文章

  1. Linux 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11 块 解析?

    面试题: 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11块,则该文件共占有 B  块号.A 256 B 266 C 11 D 256×10 linux文件系统是L ...

  2. Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间

    alter table userInfo add(msn varchar2(20)); 1.建表 create table userInfo ( id number(6), name varchar2 ...

  3. SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里

    表一: SPRD PRD_NO      SPC 001                NULL 002               NULL 003               NULL ...   ...

  4. springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany

    springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...

  5. 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat

    注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...

  6. pycharm 直接删掉数据表之后,makemigration和migrate 之后,数据库中依然没有生成数据表的问题

    综合分析一下行程这个问题的原因: 在终端中运行 select * from django_migrations; 查看 提交的记录,如果你的表删掉了,记录还在,那么数据库会觉得,这个表依然是存在的,所 ...

  7. java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例

    java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ...

  8. MySQL---数据表基本操作(增删改查、排序、分组、连表)

    一.表操作 1.创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8 是否可空,nul ...

  9. phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建

    phalcon: 按年分表的model怎么建?table2017,table2018...相同名的分表模型怎么建 场景:当前有一张表:Ntime,因为表太大了,考虑要分表: Ntime2017 Nti ...

  10. SQL将一个表中的某一列值全部插入到另一个表中

    1.  SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=selec ...

随机推荐

  1. json.parse 与 json.stringfy

    转自 :http://blog.csdn.net/wangxiaohu__/article/details/7254598 parse用于从一个字符串中解析出json对象,如 var str = '{ ...

  2. find命令查找文件,并排除相应路径

    find / -path "/exclude/" -prune -o -name "lsof" -print 查找根目录下文件,并排除/exclude路径

  3. Composer : php依赖管理工具

    原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...

  4. jquery 图片本地预览

    uploadPreview.js /* *名称:图片上传本地预览插件 v1.1 *介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari *参数说明: I ...

  5. scala在linux以及在windows的安装,以及在IDEA中新建Scala项目

    一:linux下配资scala 1.上传 2.解压 3.配置环境 4.source一下 5.启动和简单使用 6.输出语句 二:scalac的使用 1.新建文件测试目录 2.新建程序 3.文件编译器书写 ...

  6. butterknife异常提示:attribute value must be constant

    就是因为你的android工程是lib类型的 如: apply plugin: 'com.android.library' android { compileSdkVersion 23 buildTo ...

  7. angular 路由去除#号

    1.  路由启动          $locationProvider.html5Mode(true);  通过pushstatex修改url app.js define([ 'angular', & ...

  8. mysql qps tps计算

    Information from web QPS (Query per second) (每秒查询量)TPS(Transaction per second) (每秒事务量,如果是InnoDB会显示,没 ...

  9. VMware简介

    VMware(中文名威睿”) 虚拟机软件,是全球桌面到数据中心虚拟化解决方案的领导厂商.VMware vSphere 是VMware 的一个虚拟化产品,它包括vCenter,ESX Server,ES ...

  10. Leetcode: Split Array Largest Sum

    Given an array which consists of non-negative integers and an integer m, you can split the array int ...