正如它的名字所示(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入门(三)业务模型层的更多相关文章

  1. 三 Django模型层之Meta

    模型的Meta选项 本文阐述所有可用的元数据选项,你可以在模型的Meta类中设置他们 Meta选项 abstract 如果为True,就表示抽象基类 app_label 如果模型在INSTALLED_ ...

  2. BIEE入门(四)展现层

    BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...

  3. thinkphp模型层Model、Logic、Service讲解

    thinkphp模型层Model.Logic.Service讲解 时间:2014-08-24 15:54:56   编辑:一切随缘   文章来源:php教程网 已阅读:771 次       js特效 ...

  4. 第一章:模型层model layer -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 题外话: Django的教程写到这里,就进入 ...

  5. mvc_第一遍_业务逻辑层和模型

    常用的动态网页对象: 之前我们提到了,使用request对象可以获得和用户请求相关的一系列信息.这一节,我们来看看另外两个常用对象的常规用途. response对象:用于向客户回应.最常用的用法类似于 ...

  6. {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询

    Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...

  7. odoo12从零开始:三、2)odoo模型层

    前言 上一篇文章(创建你的第一个应用模块(module))已经大致描述了odoo的模型层(model)和视图层(view),这一篇文章,我们将系统地介绍有关于model的知识,其中包括: 1.模型的类 ...

  8. [Prodinner项目]学习分享_第三部分_Service层(业务逻辑层)

    前两节讲到怎样生成一个Model和怎样将Model映射到数据库,这一节将讲到业务逻辑层,也就是Service层. 1.Prodinner架构已经构建好的,基本的增删改查. 假设,我现在想操作第二节中讲 ...

  9. 模型层model layer

    题外话: Django的教程写到这里,就进入了整体的第二部分,也是最关键的部分.此时有一个问题必须想清楚,那就是,以项目带动内容还是以参考书目的方式展开?为此,我考虑了很久. 我在开始学习Django ...

随机推荐

  1. linux下的小命令

    (1) 查看服务器的IP信息 ip add show ifconfig (2) 操作网卡命令(重启网络和启用网卡) cleasystemctl restart network systemctl st ...

  2. DictionaryHelper

    /// <summary> /// DictionaryHelper /// </summary> public static class DictionaryHelper { ...

  3. JS获取按键的代码,Js如何屏蔽用户的按键

    [From] http://www.zgguan.com/zsfx/jsjc/1181.html 在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress,onkeydown ...

  4. 解决Android SDK Manager 更新下载慢以及待安装包列表不显示

    问题描述: Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示 解决方法: 第一步:修改hosts文件 修改后的hosts 文件内容为: 127.0.0.1 ...

  5. 分享一个js方法

    这是一个关于参数合并的方法,这个场景也经常遇到,比如我们现在要对微信小程序的wx.request进行再一次封装,会涉及到一些默认的参数和每次使用自己传递的参数合并问题,分享代码. var extend ...

  6. python数组(列表、元组及字典)

    python数组的使用 2010-07-28 17:17 1.Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素. 定义方式:arr = [元素] (2 ...

  7. PHP 设置 socket连接

    摘要: 作者博文地址:https://www.cnblogs.com/liu-shuai/ nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socket方式. sock ...

  8. (转)Shell全局变量、局部变量与特殊变量笔记总结

    Shell全局变量.局部变量与特殊变量笔记总结 原文:http://blog.csdn.net/apollon_krj/article/details/70148022 变量类型:全局变量(环境变量) ...

  9. unity 移动物体到指定位置的四种方法 【精确移动到指定位置,再也不是计算距离了,物体可以高速移动】

    方法1:使用Vector3.MoveTowards </pre><pre name="code" class="csharp">void ...

  10. 从XCodeGhost事件看软件来源鉴别的重要性

    事件 事件引爆于9月18日乌云网公布的一则分析报告:"XCode编译器里有鬼 – XCodeGhost样本分析",这份纯粹的技术分析报告引发中国iOS生态链的众多开发者的关注. 引 ...