数据仓库的架构方式及其比较数据仓库的架构方式及其比较传统的关系数据库一般采用二维数表的形式来表示数据,一个维是行,另一个维是列,行和列的交叉处就是数据元素
关系数据的基础是关系数据库模型,通过标准的SQL语言来加以实现
数据仓库是多维数据库,它扩展了关系数据库模型,以星形架构为主要结构方式的,并在它的基础上,扩展出理论雪花形架构和数据星座等方式,但不管是哪一种架构,维度表、事实表和事实表中的量度都是必不可少的组成要素
下面解析由这些要素构成的数据仓库的架构方式
1.星形架构星形模型是最常用的数据仓库设计结构的实现模式,它使数据仓库形成了一个集成系统,为最终用户提供报表服务,为用户提供分析服务对象
星形模式通过使用一个包含主题的事实表和多个包含事实的非正规化描述的维度表来支持各种决策查询
星形模型可以采用关系型数据库结构,模型的核心是事实表,围绕事实表的是维度表
通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表
维度表中的对象通过事实表与另一维度表中的对象相关联这样就能建立各个维度表对象之间的联系
每一个维度表通过一个主键与事实表进行连接,如图3-10所示
图3-10星形架构示意图事实表主要包含了描述特定商业事件的数据,即某些特定商业事件的度量值
一般情况下,事实表中的数据不允许修改,新的数据只是简单地添加进事实表中,维度表主要包含了存储在事实表中数据的特征数据
每一个维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行,实现与事实表的关联,这就要求事实表中的外键不能为空,这与一般数据库中外键允许为空是不同的
这种结构使用户能够很容易地从维度表中的数据分析开始,获得维度关键字,以便连接到中心的事实表,进行查询,这样就可以减少在事实表中扫描的数据量,以提高查询性能
在AdventureWorksDW数据仓库中,若以网络销售数据为事实表,把与网络销售相关