3.8 数据仓库设计示例
根据以上数据仓库的设计步骤,基本上可以完成大部分领域的数据仓库设计任务。这一节将给出2个数据仓库设计样板,一个是和企业产品销售相关的,一个是保险业务分析的。由于数据仓库的设计必须与具体用户的需求联系起来,这里没有必要再从需求分析开始,因此这2个示例只反映了业务需求的大致情况,而且只给出了最重要的逻辑模型,应用在实际项目中,会由于客户的需求不同而变得更加复杂。
3.8.1 销售数据仓库
在产品的销售业务中涉及到几个主要的业务指标(KPI),如销售量、销售额、库存量和库存数量等,它们日积月累,数量庞大。在设计的时候把这些指标作为事实表的度量。销售发生的时间、顾客、门店及销售的是何种商品等因素是分析销售业务的视角,把它们作为维度。在粒度划分上,时间维可以按日计,也可按周、按月、按季度和按年计,按照“最小粒度原则”,把时间维细化到了“日”的层次;对于商品维,由于分析的时候层次需求较为明显,可以分为商品单品、细分类、小分类、中分类和大分类等层次。其他维度都可以按照类似的方法来确定,最后可以得到销售数据仓库的逻辑模型,如图3-59所示。
这是一种雪花形结构的模型。按照此逻辑结构建立的数据仓库可以回答和销售相关的大部分商业问题。比如某时间段内商品销量的变化情况如何;哪些分类的商品销量最高或利润最大;哪些顾客购买力最强;哪个门店业绩最佳。构建这样一个数据仓库需要从商品销售、顾客信息、商品采购和商品库存等业务数据库中获取数据。
图3-59 销售数据仓库逻辑模型(雪花形)
3.8.2 保险业数据仓库
在保险行业决策者关注的关键指标有保额、保费、手续费和赔款金额等,可以把它们作为事实表的量度。保单的承保机构、险种、起保日期、经办人和代理人等则是观察这些量度的视角,把它们作为维度。建立的数据仓库逻辑模型如图3-60所示。
图3-60 保险业数据仓库逻辑模型(星形)
这是一个星形结构的模型。照此建立的数据仓库可以汇总各个层次的承保公司的保费收入情况和手续费情况等,也可以从险种、起保日期和经办人等角度按照各种层次进行分析汇总。