企业数据模型转换到数据仓库数据模型的步骤企业数据模型企业数据模型是指从整个企业业务的视角,对企业业务活动相关数据采用数据建模方法构造的模型。企业数据模型是对企业业务的核心数据的抽象,它不是信息化系统实施所需的全部细节数据的数据模型。企业数据模型不随企业职能域的改变而变化,它独立于企业的应用,是企业信息化应用建设的基础。数据仓库数据仓库是一个面向主题的、集成的、非易失的,随时间变化的用来支持管理人员决策的数据集合。数据仓库的特点面向主题性数据以所代表的业务内容划分,而不是以应用划分。集成数据仓库中的数据从多个不同的数据源传送来。数据仓库的特点非易失性数据仓库的数据通常以批量方式载入与访问,但在数据仓库环境中并不进行数据更新,只允许加载和查询操作。随时间变化数据仓库中的每个数据单元只是在某一时间是准确的,有些情况下记录中加有时间戳,而在另外一些情况下记录则包含一个事务的时间。企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据选择有兴趣的数据主要原因把数据仓库项目的目的和企业目标作为前景,在涉及数据仓库建模的所有决定中都考虑了企业目标和目的。把数据仓库模型的范围限定为刚好满足项目的需要。选择有兴趣的数据在操作系统中,数据元素分三组肯定需要的元素肯定不需要的元素可能需要的元素选择有兴趣的数据选择处理过程考虑三方面的因素使用数据元素生成派生字段划分事务型数据和参照型数据源数据结构使用数据元素生成派生字段通常的规则用于计算派生字段的每个元素都应该包含在数据仓库中。原因用于计算所需要的数据元素的算法可能会改变,并且通过保留这些独立的元素,派生字段可以根据当前视图和历史视图的需要重新进行计算。当企业用户分析结果时,尤其是派生元素的值是一个意想不到的值的时候,他们已经钻研用于计算某个所需字段的数据。划分事务型数据和参照型数据通常的规则对于事务型数据,如果我们无法确定,就应该引入它。对于参照型数据,如果对是否要包括一个数据元素有异议,通常倾向于排除它。源数据结构如果一个源数据表中的绝大部分列都需要,那么应该考虑包括进所有的元素。如果仅仅需要一个源数据表中很少的几列,那么应该倾向于排除其他的列。企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据在键中增加时间企业数据模型是一种“时间点”模型,这种模型实时地描述业务。数据仓库数据模型是一种“时间段”模型,它用历史视图来描述一个企业。在数据模型中为每个实体增加时间成分(日期、时间)以提供历史视角。由于对每个实体的键都要求加入时间成分,因此所包括的历史数据中的一些一对多的联系也变成了多对多的联系。在键中增加时间实体的时间成分只能采用两种形式中的一种对于快照数据,加入到键中的是一个时间点,如日期。对于属于一段时间的数据,加入到键中的就是时间段。尽管在理论上建议时间成分应该加入到每个实体键中,但是如果数据从来不改变,就不可能有任何历史数据,因而也就有了例外。收集历史数据的方法生成一个双外键。收集历史数据的方法为每个实例在父亲实体中生成一个顺序键,并在父亲实体内将该实例的标识符和时间成分作为非键属性存储。收集历史数据的方法有计划地实施参照完整性,而不是使用DBMS来实施它,并且针对标识符实施参照完整性。收集历史数据的方法将数据分离为一个包含历史数据的实体和一个只包含当前数据的实体。收集历史数据的方法维护基本实体,基本实体内的数据元素从不改变,并且为随时间变化的属性创建一个属性的实体。收集历史联系联系也会随着时间而改变。这些改变的结果是创建多对多的联系。在第三范式模型内,可预测的层次结构是通过一系列的实体来体现的,这些实体具有连续的一对多联系。收集历史联系这种情况可以用两种方法来处理插入一个关联型实体来解决多对多的联系从父亲实体到子实体的日期级联得到父亲节点数据的改变和联系的改变方法依赖于两个主要因素层次结构的层次数。实体型数据与联系型数据的相对稳定性。关于多维模型的考虑在E-R模型中,可以收集到每一个有意义的历史事件,并且这些事件很容易与相关的业务项联系起来。在多维模型中,对历史数据的处理依赖于其是否与事务有关或者与参照型数据有关。在一个由维表覆盖的层次结构中,对数据或联系的任何有意义的变化都要求设置另外的入口项,并创建一个缓变维。企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据增加派生数据派生数据是对一个或多个其他的数据元素进行数学运算而产生的数据。派生数据并入到数据仓库模型中有两个主要原因:保证一致性提高数据交付性能企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据确定粒度级别从业务观点来看,它规定了数据仓库潜在的能力和灵活性,而不考虑初次部署的功能。如果没有以后粒度级别的变化,数据仓库将永远不能回答需要低于所采用细节级的问题。从技术观点来看,粒度级别是数据仓库建模的主要决定因素之一,因此对操作的开销及性能都有显著影响。从项目观点来看,粒度级别影响着项目组创建数据仓库的工作量,因为随着粒度级别进入越来越高的细节级,项目组需要处理更多的数据属性和它们之间的关系。另外,如果粒度级别充分增加,一个相对小型的数据仓库也会变得非常巨大,这要求有额外的技术上的考虑。影响数据仓库的粒度级别的因素当前的业务需求期望的业务需求扩展的业务需求数据挖掘需求派生数据需求操作型系统粒度数据获取性能存储开销管理企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据汇总数据创建汇总数据也许不会节省磁盘空间,因为用于创建汇总地细节可能会被继续保留。然而,这种能够改善数据交付处理的性能。五种汇总类型简单积累(simlpecumulation)卷动汇总(rollingsummary)简单直接文件(simpledirectfile)连续文件(continuousfile)垂直汇总(verticalsummary)时间段数据的汇总简单累积和卷动汇总应用于属于一段时间的数据。简单累积表示对数据的一个属性上的数据求和,比如时间。卷动汇总提供一致的时间段内的销售信息。例如,按周的卷动汇总提供上一周每天结束时的销售信息。快照数据的汇总简单直接汇总和连续汇总应用于快照数据、短暂数据或属于一个时间点的数据。简单直接文件提供了固定时间间隔内的数据的值。连续文件只有当一个值发生变化时生成一个新记录。垂直汇总垂直汇总可以同时应用于时间点和时间段上的数据。尽管时间点上和时间段上的数据不应该在数据仓库中被混合到一个垂直汇总的实体中,但是在数据集市中允许把数据归并到一个事实表中。企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据合并实体合并实体是将两个或更多的实体合并成一个。原始的实体仍然可以保留。合并实体通过减少连接操作的数量,提高了数据交付处理的性能,并且可以增强一致性。合并实体在决定合并实体前应有如下的标准:实体应共享一个公共键,来自合并实体的数据经常被一起使用,而且插入模式也相似。三个条件如果数据不能用相同的键联系起来,那它不能合并到一个公共实体中。若只使用在同一个实体中的数据,则在将数据交付到数据集市期间,可以避免连接操作。装载性能和存储。当数据合并到一个实体中时,任何时候任何属性发生变化都将产生新的一行。企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据建立数组建立数组这一步很少使用,但是当需要时,它能显著地改进数据集市的数量。由于数组用来满足数据仓库的目的是提高数据交付性能,所以,只有在数据集市包含一个数组时,这种方法才是有意义的。建立数组的情况实例的数量相对较小实例经常频繁地在一起使用实例的数量是可预测的插入和删除的模式是固定的企业数据模型转换到数据仓库数据模型的步骤选择感兴趣的数据在键中增加时间增加派生数据确定粒度级别汇总数据合并实体建立数组分离数据分离数据分离数据是根据稳定性和用法来分离的。操作型系统和企业数据模型一般不保留数据的历史视图,但是数据仓库可以保留。这意味着每当一个实体的任何属性值发生变化时,就会产生一个新的行。分离数据操作型环境中的数据在不同的时间发生变化,因此将一组数据分组为基本插入模式的数据集。这种方法最大程度的提高数据获取处理的效率。