BIEE入门(三)业务模型层
正如它的名字所示(Business Model and Mapping Layer),业务逻辑层需要把物理层的数据源以一种业务用户的视角来重新组织物理层的各个数据源(所谓的Mapping),同时在业务逻辑层里,我们将 需要真正构建数据仓库里的星型模型,包括:
· 事实表
· 维表
· 维表的层次结构(hierarchy)
· 事实表度量(measure)来提供一个模型供展现层使用,所以在业务逻辑层,用户需要同时具有技术的知识(数据仓库星型模型),又需要有业务的视角(构 建一个对于业务而言有意义的星型模型)。我们先来看看业务模型层和它所对应的物理层的一个比较: 窗体顶端 窗体底端 窗体顶端 窗体底端 窗体顶端 窗体底端
窗体顶端 窗体底端 业务逻辑层的一个关键的定义是: Captures how users think about their business using their own vocabulary 需要注意的是,虽然业务模型层同样都是来源于物理层的表和列,但是业务模型层更加强调以业务的观点来看所有的数据。其中Mapping一词意味著用户需要 匹配业务模型层的数据和物理层的数据,一个从业务逻辑层看起来的一个逻辑表,其数据来源可以是由物理层的多个数据源组成;而同样的,一个业务模型层的一列 数据,也可以被匹配成物理层不同数据源的多列数据组合而成:比如假设我们在物理层有三个不同的子系统分别对应不同的地区(华北,华南,华东),则如果我们 在业务模型层要定义全国的一个销售额总和的时候,应该就需要把三个子系统的销售额的列在业务模型层相加,才能够形成一个针对全国的分析模型。这个正是 BIEE架构设计里一个非常灵活的地方。当然,如果我们已经在物理层组织好了一个简单的星型模型数据(使用物理层建模),其实我们可以简单地把它从物理层 拖动到业务逻辑层就可以形成一个可用的业务逻辑层的星型模型原型(业务模型层的星型模型会自动延用物理层的建模),然后只需要把这个业务模型拖入到展现层 里,我们就能够做出一个最简单的可供查询的数据模型:是的,在最简单的模型下一切都很简单,我们甚至可以不去建立维表的层次关系,就可以形成一个马上可以 投入使用的模型,只是在没有建立维表的层次关系的时候,我们只能做一些一般性的报表,但是报表出来的结果没有办法下转(商业智能报表的一种典型操作)!业 务模型层的一个最常用的词是logical,如果说我们在物理层都是使用表,表的主键外键,表的列的概念的话,那么我们在业务模型层都要在物理层的名词前 加上logical一词,如:
· Logical Table
· Logical Column
· Logical Primary Key
· Logical Join ·
。。。等等!这些词表明的真正含义是指业务模型层,我们的所谓的表,列等概念都是可以定义出来的(可以和物理层的概念并非是一对一的关系),比如业务模型 层的一个表由多个物理层的表组成等等,对于业务模型层的这种定义和修改不会影响物理层的各种定义所以我们甚至可以在现有的一些业务系统里拿出不同的数据, 在物理层或者业务模型层定义出所需要的分析模型,但是同时这种定义根本不会影响到源系统的任何数据。
BIEE入门(三)业务模型层的更多相关文章
- 三 Django模型层之Meta
模型的Meta选项 本文阐述所有可用的元数据选项,你可以在模型的Meta类中设置他们 Meta选项 abstract 如果为True,就表示抽象基类 app_label 如果模型在INSTALLED_ ...
- BIEE入门(四)展现层
BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...
- thinkphp模型层Model、Logic、Service讲解
thinkphp模型层Model.Logic.Service讲解 时间:2014-08-24 15:54:56 编辑:一切随缘 文章来源:php教程网 已阅读:771 次 js特效 ...
- 第一章:模型层model layer -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 题外话: Django的教程写到这里,就进入 ...
- mvc_第一遍_业务逻辑层和模型
常用的动态网页对象: 之前我们提到了,使用request对象可以获得和用户请求相关的一系列信息.这一节,我们来看看另外两个常用对象的常规用途. response对象:用于向客户回应.最常用的用法类似于 ...
- {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...
- odoo12从零开始:三、2)odoo模型层
前言 上一篇文章(创建你的第一个应用模块(module))已经大致描述了odoo的模型层(model)和视图层(view),这一篇文章,我们将系统地介绍有关于model的知识,其中包括: 1.模型的类 ...
- [Prodinner项目]学习分享_第三部分_Service层(业务逻辑层)
前两节讲到怎样生成一个Model和怎样将Model映射到数据库,这一节将讲到业务逻辑层,也就是Service层. 1.Prodinner架构已经构建好的,基本的增删改查. 假设,我现在想操作第二节中讲 ...
- 模型层model layer
题外话: Django的教程写到这里,就进入了整体的第二部分,也是最关键的部分.此时有一个问题必须想清楚,那就是,以项目带动内容还是以参考书目的方式展开?为此,我考虑了很久. 我在开始学习Django ...
随机推荐
- python学习之路---day07
一:先看什么事赋值? 以例子举例说明:. a=[1,2,3,[11,22,33]] b=a print(b) -->b=[1,2,3,[11,22,33]] 01):赋值 浅拷贝:我们创建a时, ...
- img的事件
<img src="../images/clock.jpg" onload=alert('加载成功'); onerror=alert("加载失败");/& ...
- DFS/BFS视频讲解
视频链接:https://www.bilibili.com/video/av12019553?share_medium=android&share_source=qq&bbid=XZ7 ...
- PIE SDK矢量数据的读取
1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...
- PIE SDK K-Means分类
1.算法功能简介 K-Means 算法的基本思想是:以空间中 k 个点为中心进行聚类,对最靠近他们的对象归类.通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果. 算法首先随机从数据集中选 ...
- PIE SDK与Python结合说明文档
1.功能简介 Python是一种跨平台语言.无论是在Windows.Linux.Unix还是Mac Os系统,我们都可以使用Python.甚至在Linux.Unix及Mac OS系统内已经集成了Pyt ...
- python查看模块版本及所在文件夹
# 以Numpy为例 第一种方法:import numpy as np np.__version__ >>> '1.12.1' np.__file__ >>> '/ ...
- oracle 集群RAC搭建(四)--grid部署
安装教程:
- elastic 常用查询操作
_ GET http://127.0.0.1:9200/_cat/health?v 健康状况 GET http://127.0.0.1:9200/_cat/indices?v ...
- DP Intro - Tree POJ2342 Anniversary party
POJ 2342 Anniversary party (树形dp 入门题) Anniversary party Time Limit: 1000MS Memory Limit: 65536K To ...