第九章 商业智能项目模型的建立

第二节 企业模型的意义

    9.2.1  企业模型的定义

    企业模型是根据业务系统的特点,用数据建模的方法描述企业的各种生产经营活动,是对业务系统的抽象,是企业信息化建设的基础。

    9.2.2  建设企业模型的意义

    企业数据模型从企业的角度去分析、构造相应的业务数据模型。建议企业数据模型的意义如图9-1所示。

    1)有利于实现应用系统与业务数据的分离,能够将部门级别的数据汇总到企业的全局视图中,提高企业的信息化建设。

    2)为企业的数据仓库建设打好基础,提高企业的决策分析能力。

    3)有利于规范各种业务概念,避免业务概念的不一致,从而降低系统应用集成的难度。

    4)增强IT技术人员与业务人员的沟通,提高沟通的效率。

    5)企业数据模型是企业高层领导、业务人员、IT技术人员共享的信息平台, 是企业信息化应用建设的基础。

 建设企业数据模型的意义

图9-1  建设企业数据模型的意义

    9.2.3  企业数据模型和其他模型之间的关系

    企业数据模型是构建数据仓库模型、ODS模型、数据集市模型的基础,如图9-2所示。企业模型的设计主要与业务相关,指导业务系统其他模型的建设,保证ODS模型、数据仓库模型和数据集市模型与企业模型的一致性。数据仓库模型、ODS模型、企业数据模型都属于关系型数据模型,而数据集市属于多维数据模型。

 企业数据模型和其他模型之间的关系

图9-2  企业数据模型和其他模型之间的关系

    9.2.4  与企业数据模型相关的概念

    (1)ODS

    ODS是各个业务系统之间共享的数据存储区,是业务系统数据流动到数据仓库系统之间的缓冲区。ODS按照职能可以划分为3个部分:数据缓冲区、统一信息视图区和ODS管理区,如图9-3所示。数据缓冲区为统一信息视图区提供临时的存储区,它的存储方式和数据结构通常与源系统相同。统一信息视图区为企业提供统一的数据视图区,并且按照主题进行划分,存储实时的业务数据,方便系统查询当前的数据。其中ODS管理区的作用是对ODS 数据库进行管理,包括存放ETL的状态信息和日志信息等内容。

 ODS的划分

图9-3  ODS的划分

    (2)数据仓库

    数据仓库是一个面向主题的、集成的、不易丢失的,并且随时间变化的帮助企业管理人员决策分析的数据集合。数据仓库的理论知识在理论篇中已经有详细的介绍,此处不再赘述。

    (3)数据集市

    数据集市是在数据仓库的基础上创建起来的,根据各个业务部门的不同需要,对数据仓库中的数据进行高度汇总、计算。数据集市的作用是创建一组特定的、针对某个主题域或者部门的特殊数据集合。一般来说,数据集市的模型都采用星型模式或雪花型模式。

    9.2.5  企业数据模型转换到数据仓库模型的步骤

    (1)在企业模型中有条件地选择数据仓库需要的数据

    首先数据仓库模型应该包含数据仓库项目中所有的需要,在企业数据模型转换到数据仓库模型的过程中,应该有目的地选择一些数据。可以将数据元素分成需要的数据元素、不需要的数据元素、可能需要的数据元素。重点是如何选择可能需要的数据元素,如果是事务性的数据元素,无论是否需要它,都应该引入;但是其他类型的数据元素,如果不确定,则更倾向于删除它。在图9-4中,企业数据模型实体中包含职工、学生、用户、课程等实体,如果针对数据仓库中的销售主题域,可以选择用户实体,同时包含了有间接关系的用户信息渠道、用户类别实体。

 有条件地选择感兴趣的实体

图9-4  有条件地选择感兴趣的实体

    (2)为企业模型的每个实体都增加时间键

    在企业数据模型中,有些实体可能会含有时间键,有些实体可能不含有时间键;但是在数据仓库模型中,所有的实体都应该包含时间键(除了统一编码实体),因为数据仓库存储的是核心的历史数据,加入时间键是重要的搜集历史数据的方法。加入时间键的原则是:如果该实体已经存在时间属性,分析该时间属性是否满足历史信息的分析,如果可以,则使用该时间属性。如果该实体没有时间键,同时它又不是统一编码实体(即在一定时间内不会修改的实体),则需要加入时间键,以保证该实体的历史信息分析。举一个简单有趣的例子,一个普通的美国大兵可能需要以下信息:姓名、编号、入伍时间、装备、退伍时间,如图9-5所示。因为入伍时间和退伍时间一般是固定的,不能满足对该实体的历史信息的分析需求,所以增加了作战时间这个属性,每个美国大兵的作战时间随着地区、战场的不同都会发生变化,不断产生新的历史数据,因此该属性满足了企业数据模型转换到数据仓库模型的基本条件。

 有条件地选择感兴趣的实体

图9-5  为企业数据模型增加时间键

    (3)确定数据仓库的粒度

    确定数据仓库的粒度级别影响了数据仓库模型的设计,因为它规定了数据仓库的灵活性,包括数据仓库的开销和创建数据仓库的工作量是多少。粒度级别越高,数据仓库需要处理的数据量越多。虽然这样增加了系统的性能负担,但却提高了数据仓库的灵活性和潜在的分析能力。如果粒度级别低,则降低了系统的性能负担,但却降低了数据仓库的灵活性和分析能力。如果数据仓库需要高细节的数据,直接把部分相关实体全部抽取到数据仓库中;如果数据仓库不需要高细节的数据,则可以对部分实体进行轻度汇总或者过滤。

    (4)汇总企业模型中的数据

    汇总企业模型中数据的目的是节省数据仓库中的空间,提高数据仓库的性能。

    汇总的方法有多种,最主要的有:对实体一个属性上的数据求和,汇总一定时间段内的数据,按照某种分类进行汇总数据,或者汇总固定时间间隔内的数据的值。

    汇总企业数据模型举例如图9-6所示。

 汇总企业数据模型

图9-6  汇总企业数据模型

    (5)根据数据仓库的特点合并企业模型中的一些实体

    合并实体是为了将两个或者多个实体合并成一个实体,通过合并实体可以减少实体之间的连接操作,提高数据仓库的性能。合并实体的条件是多个实体之间必须要有共同的键,否则不能合并。当多个实体合并到一个实体中时,任何属性的变化都会产生新的一行。合并实体是将第三范式回归到第二范式的过程。如图9-7所示,美国大兵作为一个实体,有姓名、作战时间、入伍时间、退伍时间、装备编号、性别编号等属性,同时关联两个实体编码表(装备编码实体、性别编码实体),为了提高数据仓库的性能,增加数据仓库的灵活性,把美国大兵实体和装备编码实体、性别编码实体进行了合并,也就是将第三范式回归到第二范式。

 汇总企业数据模型

图9-7  合并实体

    总结:企业数据模型转换到数据仓库模型的步骤如图9-8所示。

 企业数据模型转换到数据仓库模型的步骤

图9-8  企业数据模型转换到数据仓库模型的步骤