逻辑数据映射的组成
逻辑数据映射(见下图 )通常用一个表或者电子表格格式来表示,它包括以下特定的组成部分:
目标表名称:数据仓库中出现的物理表名称;目标列名称:数据仓库表中的列名称;
表类型:表示这个表是事实表,维表或者子维表(支节)
SCD(缓慢变化维)类型:对维表,这个部分表示是类型1,类型2或者类型3的缓慢变化维。这个指标对维表中的不同的列可以是不同的。
比如在客户维中,名字可能属于类型2(保留历史信息),而姓可能属于类型1(覆盖)。这些SCD类型将在第五章展开详细探讨。
源数据库:源数据所在的数据库实例的名称。这里通常是指连接数据库所需的连接字符串。如果出现在文件系统中,它也可以是一个文件的名称。这时,还需要包含这个文件的路径。
源表名称:源数据所在的源表的名称。很多时候需要多个表。这时,只需将生成目标数据仓库相关表的所有表简单列出即可。
源列名称:生成目标所需的相关列。简单的列出装载目标列需要的所有列。源列之间的关联在转换部分记录。
逻辑数据映射(见下图 )通常用一个表或者电子表格格式来表示,它包括以下特定的组成部分:
目标表名称:数据仓库中出现的物理表名称;目标列名称:数据仓库表中的列名称;
表类型:表示这个表是事实表,维表或者子维表(支节)
SCD(缓慢变化维)类型:对维表,这个部分表示是类型1,类型2或者类型3的缓慢变化维。这个指标对维表中的不同的列可以是不同的。
比如在客户维中,名字可能属于类型2(保留历史信息),而姓可能属于类型1(覆盖)。这些SCD类型将在第五章展开详细探讨。
源数据库:源数据所在的数据库实例的名称。这里通常是指连接数据库所需的连接字符串。如果出现在文件系统中,它也可以是一个文件的名称。这时,还需要包含这个文件的路径。
源表名称:源数据所在的源表的名称。很多时候需要多个表。这时,只需将生成目标数据仓库相关表的所有表简单列出即可。
源列名称:生成目标所需的相关列。简单的列出装载目标列需要的所有列。源列之间的关联在转换部分记录。
转换:源数据与期望的目标格式对应所需的详细操作。这个部分通常用SQL或者伪代码来编写。
逻辑数据映射中的列有时是组合的。比如,源数据库,表名称和列名称可能被组合在一个源列中。这个组合列的信息可能用原点来分隔信息,如
ORDERS.STATUS.STATUS_CODE。如果不考虑格式,这个逻辑数据映射文档的内容已经把进行有效的规划ETL过程的所有的关键的信息都提供了。
逻辑数据映射中的某些部分看起来很简单并且很直接。然而,当仔细研究的时候,该文档就会揭示许多ETL小组可能忽略的隐藏的需求。这个文档的主要的目标是为ETL开发者提供一个清晰的蓝图,它精确的说明可以从ETL过程获得什么。这个表必须清晰地描述在转换过程中包含的动作流程,不能有任何疑问的地方。