现在的位置: 首页 > 综合 > 正文

数据仓库(五):数据仓库的概念建模与概念设计-Golfarelli

2018年02月17日 ⁄ 综合 ⁄ 共 2348字 ⁄ 字号 评论关闭
文章目录

数据仓库设计包括3个主要阶段:概念设计、逻辑设计、物理设计。3种不同的设计场景:数据驱动的场景、需求驱动的场景、混合场景。在数据集市设计中可以使用3种基本的系统方法:数据驱动的方法、需求驱动的方法和混合方法。它们的区别在于源数据库分析和终端用户需求分析阶段所占的比重。

1. 概念建模

目前普遍认可数据集市基于数据的多维视图(即采用多维模型,常用的模式包括星型模型、雪花模型),但是对于如何根据用户的需求实现其概念设计仍然没有统一的看法。实体-关系模型(ERM)是面向遵循数据间的关联而非汇总数据的查询的,因而不适用于数据集市。ERM实际上具有足够的表达力来表示数据集市建模必需的大多数概念。然而,基本ERM不足以准确地突出多维模型的显著特征。

许多情况下(例如参考文献[2]中),设计人员将逻辑层次(数据仓库设计分为概念层次、逻辑层次、物理层次)作为数据集市设计的基础——即,直接定义星型模式,这是关系型系统中的多维模型的标准实现。数据仓库设计若从设计星型模式开始(跳过概念设计阶段)相当于关系数据库设计跳过实体-关系模式的设计,在没有任何静态、动态或概念模式的前提下从编码阶段开始创建一个复杂的系统。

在参考文献[2]中,文中也分为概念模型、逻辑模型、物理模型三层。其中,概念模型即为星型图或雪花模型;而逻辑设计阶段则是对星型图的细化。

这与Inmon提出的高层建模、中层建模、底层建模有共通之处,只不过Inmon支持的是数据仓库的关系模型,而非多维模型。高层建模是ERD,中层建模是DIS,底层建模即物理建模。具体可参考(四)

参考文献[1]中概念模型为维度事实模型DFM,DFM生成的概念有一组事实模式组成。事实模式主要建模事实、度量、维度和层次结构。其逻辑建模结果为星型模式

因此,产生了许多多维建模的方法。可分为概念层和逻辑层。其中概念层模型又可分为基于ERM的(如Franconi等人1999年提出的模型),基于UML的(如Luján Mora等人2006年提出的模型),即席的(如Hüsemann等人2000年提出的模型,维度事实模型)三种。

1.1 DFM基本概念

维度事实模型(Dimensional Fact Model,DFM)由Golfarelli、Maio和Rizzi在1998年提出,经过不断完善达到最适用于在实际项目中可能遇到的各种建模情况。DFM是专门支持数据集市设计的一种概念模型。它实际上是一种图形,基于多维模型。DFM的目标是:

  • 提供对概念设计的有效支持;
  • 创建一种环境,在其中可以直观地构造用户查询;
  • 使设计人员和终端用户直接交流成为可能,目标是构造需求规范;
  • 为逻辑设计构建一个稳定平台;
  • 提供清晰、富有表达力的设计文档。

DFM生成的概念表示由一组事实模式组成。事实模式主要对事实、度量、维度和层次结构进行建模。事实具有动态性,随时间变化。度量是事实的一个数值特征,描述事实与分析相关的一个量化方面,通常是数值。维度是范围有限的事实属性,描述事实的分析坐标。层次结构是一棵有向树。有向树中,只有一条有向路径将树根连接到其他每个子孙节点。

1.2 高级建模

描述性属性

跨维度属性

聚合

共享层次结构

多弧线

可选弧线

不完整层次结构

递归层次结构

可加性

1.3 正式化维度事实模式

1.3.1 内涵特性

层次结构:层次结构h是一个对(A,≤h),其中

  • A是维度属性的有限集合;
  • ≤h是基于A的属性的偏序,其中始终存在、并且只存在一个最大元素,称为维度。

事实模式:我们将事实模式定义为一个对(H,M),其中

  • H是层次结构的一个有限集合
  • M是度量的一个有限集合(可能为空)

分组依据集合:设F是一个事实模式。定义F的分组依据集合为属性G⊆Attr(F)的任意子集,对于相同层次结构h中的G包含的每个属性对ai和aj,ai ≤h aj或者aj ≤h ai都不成立。

包含F的全部维度的分组依据集合{a1,...,an}称为F的主要分组依据集合,由Gbs(F)表示。其他全部分组依据集合称为辅助分组依据集合,它们标识了聚合事件的可能方式。

上卷顺序:给定事实模式F,我们定义F的所有可能分组依据集合的集合上的部分上卷顺序≤如下:当且仅当Gj→Gi时Gi≤Gj。

根据上卷顺序的定义,当对于层次结构h中Gj包含的每个属性aj,Gi或者包含属性ai,使ai ≤h aj,或者Gi不包含h的任何属性时,Gi≤Gj。

1.3.2 外延特性

层次结构实例:给定层次结构h=(A,≤h),h的实例是一个对(D,L),其中

  • D是A的属性的域Dom(ai)的集合;每个域是可以赋给属性的值的(有限)集合;
  • L是一族上卷函数,对于每对ai和aj属性,ai ≤h aj,它们可以把Dom(aj)的每个值映射为Dom(ai)的值:

坐标:给定事实模式F=(H,M)、H的每个层次结构的一个实例和一个分组依据集合G={a1,...,av},G的坐标是将每个ai∈G属性映射为Dom(ai)的一个值的函数。使用Dom(G)标记G的可能的坐标集合:Dom(G)=Dom(ai)×...×Dom(av)

立方体和主要事件:给定事实模式F=(H,M),M={m1,...,ms},并且给定H中的每个层次结构的一个实例,F的立方体实例是从Gbs(F)的坐标映射到M的度量与的一个偏函}数:c:Dom(patt(F))|→Dom(m1)×...×Dom(ms)。确定的度量值的每个特定n元称为一个主要事件。

聚合和辅助事件:设F为一个事实模式,G≤Gbs(F)。设c是F的一个立方体实例。G对c的聚合是一个从G的坐标到Meas(F)的度量域的函数c':
c':Dom(G)|→Dom(m1)×...×Dom(ms)

参考资料:

[1]《数据仓库设计:现代原理与方法》

[2]《数据仓库与数据挖掘技术》

抱歉!评论已关闭.