声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4295660.html
 
传统星型模型是将主数据与维度表放在一起,同一主数据在不同的交易数据维度表中存储多次,达不到复用,不灵活,主数据发生变化后,修改非常不便:
 
BW里的星型模型采用的是扩展星型模型:维度表里存储的不是主数据本身,而是主数据的SID,达到了不同交易数据共享同一主数据目的,主数据变化引起的修改也不会太大。下面是成本中心与成本要素主数据的表结构:
BW采用的是扩展星型结构:维度表不直接存储主数据,而是存储主数据的SID,维度表与主数据的SID表通过SID与主数据进行关联:
 
SID技术的好处:
首先第一个优点,因为SID是Int类型的,Int类型的要比Char类型的查询速率快,所以适用SID技术以后报表的查询速率要比以往的快;
其次第二个优点,使用SID技术以后,就把主数据独立出来了,可以使主数据被系统内所有的模型共用,符合软件工程里重复利用的规则。
 

维度表和SID表之间,主数据表和SID表之间,都是虚线关系,虚线关系表示主外键约束关系是由ABAP程序来实现的,由程序来检测数据的一致性,而不是由数据中创建的主外键约束来保证数据的一致性的,原因是Fact表相对于主数据表是从表,在抽数据时,有时我们先抽Fact表,再抽主数据表,如果按照数据库中的主外键约束,则必须先传主数据,再传Fact数据。之所以这种主外键约束不通过数据库来完成,而是通过ABAP程序来保证,使得我们能够加载交易数据,即使数据库中不存在任何主数据也可以
 
不同的Cube 通过SID表共享同一主数据:
 
标准表(如OCURRENCY 、0UNIT、0CALDAY等内置标准信息对象),以 “/BI0/+表类型+名称”开头,如果是自定义的信息对象以及Cube维度,都是以“/BIC/+表类型+名称”开头。下面是一个星型结构的示例:

Fact表的星型结构的更多相关文章

  1. 事务码 ListSchema:查看Cube星型结构Schema

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. 星型数据仓库olap工具kylin介绍

    星型数据仓库olap工具kylin介绍 数据仓库是目前企业级BI分析的重要平台,尤其在互联网公司,每天都会产生数以百G的日志,如何从这些日志中发现数据的规律很重要. 数据仓库是数据分析的重要工具, 每 ...

  3. 星型数据仓库olap工具kylin介绍和简单使用示例

    本文转载自:https://www.cnblogs.com/hsydj/p/4515057.html 星型数据仓库olap工具kylin介绍 星型数据仓库olap工具kylin介绍 数据仓库是目前企业 ...

  4. 浅淡数据仓库(二)星型模式与OLAP多维数据库

    在关系数据库管理系统中实现的维度模型称为星型模型模式,因为其结构类似星型结构.在多为数据库环境中实现的维度模型通常称为联机分析处理(OLAP)多维数据库

  5. 《BI那点儿事》数据仓库建模:星型模式、雪片模式

    数据仓库建模 — 星型模式Example of Star Schema 数据仓库建模 — 雪片模式Example of Snowflake Schema 节省存储空间 一定程度上的范式 星形 vs.雪 ...

  6. FocusBI:租房分析&星型模型

    微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...

  7. 用了星型转换的sql跑了5小时--->5mins的过程

    =================START================================ BI数据仓库环境里面跑着一个crontab job,一旦sql运行超过4hours,就会接 ...

  8. JSP中的一个树型结构

    看方力勋的javaWeb,采用左右值来表示树型结构(就是俺门的多级分类)表结构 页面代码 <%@ page language="java" import="java ...

  9. java树型结构的数据展现设计

    在做一个需求管理的页面时,需求的展现是不限层级树型结构,需求下还可以分拆任务,页面要展现的字段有20多个,而且需求采用通用表单设计,db采用大宽表存储,有一百多个字段.目前数据量不大,第一版采用普通的 ...

随机推荐

  1. ServletConfig对象和它在开发中的应用场

    package cn.itcast; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumerat ...

  2. Javascript中的new

    直接上代码 function test () { } document.write(typeof test() + "<br />") document.write(t ...

  3. EditText中输入手机号码时,自动添加空格

    输入手机号码时,自动添加空格,更容易辨别 public class PhoneWatcher implements TextWatcher { private EditText _text; publ ...

  4. GDC2016 执着于光影表现的【全境封锁】的开放世界渲染

    执着于光影表现[全境封锁]的开放世界渲染 Snowdrop(雪莲花)引擎的全局照明技术介绍   补上原文链接:http://game.watch.impress.co.jp/docs/news/201 ...

  5. Thinking in Java——笔记(9)

    Polymorphism Abstract classes and methods If you have an abstract class, objects of that specific cl ...

  6. css3渐变之linear-gradient与-webkit-linear-gradient写法异同

    语法background: linear-gradient(direction, color-stop1, color-stop2, ...); 通常只需要linear-gradient,兼容性较好. ...

  7. 整理常用的iOS第三方资源

    一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址:https://github. ...

  8. Python开发程序:FTP程序

    作业:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp se ...

  9. Git commit 常见用法

        Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...

  10. 捕获Insert触发器失败记录

    1.背景 环境:发布服务器A Windows2008+SQL2008,分发服务器B Windows2008+SQL2008,订阅服务器C Windows2008+SQL2012发布服务器A上的用户信息 ...