数据仓库中维度建模

来源:互联网 发布:stm32串口编程 编辑:程序博客网 时间:2024/04/28 04:07

      设计数据仓库常用到的模型是维度模型。例如决策者想知道去年一年里哪个产品在哪个地区销售得最好,那么决策者想要得到的信息有3个:时间、产品和地区,这3个信息称为“维度”。维度模型的作用是将决策者所要分析的信息分为多个维度,然后创建一个多维的数据库。


     使用维度模型所创建出来的数据仓库结构多为星形结构,如图所示图的中间有一个fact数据表,这个表里存储的数据称为fant(量值)。在该表中存放了产品id、客户id、订购日期、单价、数量、折扣等数据。

        在fact表的周围有3个维度表,分别为地区维度表、产品维度表和时间维度表。每个维度表的数据都是存储在单独的维度表中。例如地区维度表中存储的是客户id、货主国家、城市及地区;产品维度表里存储的是产品id、产品名称、类别名称;维度表的作用是描述fact表里的数据信息。例如今年在北京地区苹果汁一共销售1万箱合计18万元,那么今年、北京地区、苹果汁都是描述fact的信息,而1万箱、18万元就是存在fact表里的事实量值。

        当然在fact表里不仅仅只有量值数据,还存储了各个维度表的外键索引,例如图中的fact表里的产品id就是外键,其指向产品维度表的产品id主键。这一点与数据库类似。

        数据仓库创建关键第一步:需求分析,如果决策者需要的数据并不多,获取也不太麻烦的话,就没有必要创建数据仓库了。如果有必要创建,则首先要分析创建什么样的仓库,仓库里放那些内容。也就是分析fact表和维度表

        数据仓库创建关键第二步:数据源,分析完fact和维度表后,还要知道fact表和维度表从哪里获取。


原创粉丝点击