数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,通常来讲,数据仓库模型分为如下几个层次,需经历通常四个过程:前端
业务建模:生成业务模型,主要解决业务层面的分解和程序化数据库
领域建模:生成领域模型,主要对业务模型进行抽象处理,生成领域概念模型工具
逻辑建模:生成逻辑模型,主要将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化性能
物理建模:生成物理模型,主要解决逻辑模型针对不一样关系型数据库的物理化以及性能等一些具体的技术问题。spa
2.1 简单的报表阶段:在该阶段,系统的主要目标是解决一些平常的工做中业务人员须要的报表,生成一些简单的可以帮助领导进行决策所须要的汇总数据。表现形式为数据库和前端报表工具设计
2.2 数据集市阶段:根据业务部门的须要,进行必定的数据采集和整理,按照业务人员的须要,进行多维报表的展示,提供对特定业务指导的数据帮助领导进行决策对象
2.3 数据仓库阶段:按照数据模型,对整个企业的数据进行采集、整理,按照各个业务部门的须要,提供跨部门的,彻底一致的业务包边数据,可以经过数据仓库生成对业务数据具备指导性的数据,同时为领导决策提供全面的数据支撑。排序
范式模型法是构建数据模型经常使用的一个方法,该方法主要由Inmon提倡,主要解决关系型数据库的数据存储,利用技术层面上的方法。目前在关系型数据库中的建模方法,大部分采用的是三范式建模法。事件
范式是数据库逻辑模型设计的基本理论,一个关系模型能够从第一范式到第五可是进行无损分解,这个过程也可称为规范化。在数据仓库的模型设计中目前通常采用第三范式,它有严格的数学定义。从其表达的含义来看,一个符合第三范式的关系必须具备如下三个条件:数学
一、每一个属性值惟一,不具备多义性;
二、每一个非主属性必须彻底依赖于整个主键,而非主键的一部分;
三、每一个非主属性不能依赖于其它关系中的属性,由于这样的话,这种属性应该归到其它关系中去。
范式建模法多应用于业务系统的企业数据模型。企业数据模型分为两个层次,及主题域模型和逻辑模型。和数据仓库的模型稍有不一样:
一、数据仓库的域模型的概念应该比业务系统的主题语模型范围更加广
二、数据仓库中的逻辑模型须要从业务系统中的数据模型的逻辑模型中抽象实体,实体的属性,实体的子类以及实体的关系等。
优势
从关系型数据库的角度出发,结合了业务系统的数据模型,可以比较方便的实现数据仓库的建模
缺点
建模方法限制在关系型数据库之上,在某些时候反而限制了整个数据仓库模型的灵活性,性能等。
维度建模法,Kimball最早提出。最简单的描述是,按照事实表、维度表来构建数据仓库,数据集市。这种方法最被人普遍知晓的名字就是星型模式(一张事实表产生多张维度表)。
优势
针对各个维度作了大量的预处理,若是按照维度进行预先的统计、分类、排序等。经过这些预处理,可以极大的提高数据仓库的处理能力。
维度建模很是直观,牢牢围绕业务模型,能够直观的反映出业务模型中的业务问题。不须要通过特别的抽象处理,便可以完成维度建模。
缺点
大量的数据预处理工做。当业务发生变化时须要从新进行维度数据的预处理。这些处理过程当中每每会致使大量的数据冗余。
只依靠单纯的维度建模,不能保证数据来源的一致性和准确性,在数据仓库底层,不是特别适用于维度建模。
来源与哲学流派。咱们能够将整个业务划分为一个个的实体,而每一个实体之间的关系和针对这些关系的说明就是咱们数据建模须要作的工做。
咱们能够将任何一个业务过程划分为3个部分,实体,事件和说明
实体,主要指领域模型中特定的概念主体,指发生业务关系的对象
事件,主要指概念主体之间完成一次业务流程的过程,特指特定的业务过程
说明,主要是针对实体和时间的特殊说明
实体说明法只是一种抽象客观世界的方法,所以,注定了该建模方法只能局限在业务建模和领域概念建模阶段。所以,到了逻辑建模阶段和物理建模阶段,则是范式建模和维度建模发挥长处的阶段。