《第7章数据仓库开发实例15161.pptx》由会员分享,可在线阅读,更多相关《第7章数据仓库开发实例15161.pptx(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据仓库和决策支持系统数据仓库和决策支持系统主讲:鲁明羽主讲:鲁明羽大连海事大学计算机科学与技术学院大连海事大学计算机科学与技术学院研究方向:智能数据分析与数据挖掘研究方向:智能数据分析与数据挖掘电电 话:话:13889576531Email:第第7章章 数据仓库开发实例数据仓库开发实例 目 录 7.1 超市销售数据仓库的规划与分析超市销售数据仓库的规划与分析 7.2 数据仓库开发工具简介数据仓库开发工具简介 7.3 SQL Server的数据仓库创建的数据仓库创建 7.4 SQL Server数据仓库事实表与多维数据集的建立数据仓库事实表与多维数据集的建立7.1 7.1 超市销售数据仓库的规
2、划与分析超市销售数据仓库的规划与分析 某大型连锁超市的业务涵盖于某大型连锁超市的业务涵盖于3 3个省范围内的个省范围内的10001000多家门市。多家门市。每个门市都有较完整的日用品和食品销售部门,每个门市都有较完整的日用品和食品销售部门,包括百货、杂货、冷冻食品、奶制品、肉制品包括百货、杂货、冷冻食品、奶制品、肉制品和面包食品等,大约和面包食品等,大约5 5万多种,其中大约万多种,其中大约4500045000种商品来自外部生产厂家,并在包装上印有条种商品来自外部生产厂家,并在包装上印有条形码。每个条形码代表了唯一的商品。形码。每个条形码代表了唯一的商品。为该超市建立一个能够提高市场竞争能力的
3、数为该超市建立一个能够提高市场竞争能力的数据仓库,首先需要进行数据仓库的规划分析。据仓库,首先需要进行数据仓库的规划分析。这就涉及到对数据仓库的需求分析、模型构建这就涉及到对数据仓库的需求分析、模型构建两个过程。两个过程。7.1.1 7.1.1 超市销售数据仓库的需求分析超市销售数据仓库的需求分析1、超市营销售策略分析、超市营销售策略分析超市最高层管理所关注的是如何通过商品的采购、储超市最高层管理所关注的是如何通过商品的采购、储存与销售,最大限度地获取利润。存与销售,最大限度地获取利润。需要通过加强对每种商品的管理,降低商品的采购成需要通过加强对每种商品的管理,降低商品的采购成本和管理费用,吸
4、引尽可能多的客户。本和管理费用,吸引尽可能多的客户。其中最重要的是关于其中最重要的是关于商品促销的管理决策商品促销的管理决策。需要依靠。需要依靠合适的促销活动,应用适当的促销策略针对合适的客合适的促销活动,应用适当的促销策略针对合适的客户,以增加超市的销售利润,是超市数据仓库建设的户,以增加超市的销售利润,是超市数据仓库建设的基本需求。基本需求。超市不同商品的销售利润是有差别的。希望在数据仓超市不同商品的销售利润是有差别的。希望在数据仓库中通过对商品的赢利分析,了解不同商品的销售赢库中通过对商品的赢利分析,了解不同商品的销售赢利状态,以确定企业的销售重点,对那些可以为企业利状态,以确定企业的销
5、售重点,对那些可以为企业带来较大赢利的商品加大促销力度。带来较大赢利的商品加大促销力度。7.1.1 7.1.1 超市销售数据仓库的需求分析超市销售数据仓库的需求分析2、超市商品库存分析、超市商品库存分析超市商品的库存状况对超市的利润具有巨大的影响。超市商品的库存状况对超市的利润具有巨大的影响。超市如果能够在合适的时候销售合适的商品,在不出超市如果能够在合适的时候销售合适的商品,在不出现脱销的情况下现脱销的情况下尽可能减少商品库存的库存成本尽可能减少商品库存的库存成本,是,是超市商品库存分析的主要目的。超市商品库存分析的主要目的。在商品库存分析中,管理人员还经常要根据商品的库在商品库存分析中,管
6、理人员还经常要根据商品的库存量和商品库存成本确定商品的销售价格。存量和商品库存成本确定商品的销售价格。从超市的商品库存情况来看,库存分析实质上是对超从超市的商品库存情况来看,库存分析实质上是对超市的价值链进行分析,分析商品库存环节在超市的整市的价值链进行分析,分析商品库存环节在超市的整个价值链上所发挥的作用。个价值链上所发挥的作用。3、超市商品采购分析、超市商品采购分析超市在商品采购工作中需要分析哪些商品是热销的商超市在商品采购工作中需要分析哪些商品是热销的商品,品,尽可能采购销售热销商品尽可能采购销售热销商品。热销商品往往是加快企业资金流动的动力,快速流动热销商品往往是加快企业资金流动的动力
7、,快速流动的资金可以使企业在一定的时间内取得比其他企业更的资金可以使企业在一定的时间内取得比其他企业更多的利润。多的利润。超市营销管理人员在了解热销商品后,可以大量采购超市营销管理人员在了解热销商品后,可以大量采购热销商品,重新安排热销商品的货架,向更多的客户热销商品,重新安排热销商品的货架,向更多的客户推销热销商品,便于更多客户的购买,以进一步加快推销热销商品,便于更多客户的购买,以进一步加快企业资金的流动。企业资金的流动。7.1.1 7.1.1 超市销售数据仓库的需求分析超市销售数据仓库的需求分析4、超市客户关系分析、超市客户关系分析用用80:20理论分析,占企业客户群理论分析,占企业客户
8、群20%左右的客户购左右的客户购买金额往往占据了企业销售金额的买金额往往占据了企业销售金额的80%。对客户群体的划分有利于企业了解企业的主要客户群对客户群体的划分有利于企业了解企业的主要客户群体状况、主要客户群对企业销售服务的需求状况、不体状况、主要客户群对企业销售服务的需求状况、不同客户群为企业所带来的利润状况。同客户群为企业所带来的利润状况。在对客户进行类型划分的基础上,可以在对客户进行类型划分的基础上,可以针对不同客户针对不同客户群体的特点采用不同的营销策略群体的特点采用不同的营销策略,对客户群体的消费,对客户群体的消费进行合理的引导。进行合理的引导。超市客户的流失,意味着企业赢利的降低
9、。企业管理超市客户的流失,意味着企业赢利的降低。企业管理者希望了解哪些客户可能会流失,使企业能够提前设者希望了解哪些客户可能会流失,使企业能够提前设法法挽留客户挽留客户。7.1.1 7.1.1 超市销售数据仓库的需求分析超市销售数据仓库的需求分析7.1.2 7.1.2 超市销售数据仓库超市销售数据仓库E-RE-R模型构造模型构造数据仓库设计中需首先考虑营销主题的设计,数据仓库设计中需首先考虑营销主题的设计,确定超市营销主题模型。确定超市营销主题模型。雪花模型通过对维表的分类细化描述,对于主雪花模型通过对维表的分类细化描述,对于主题的分类详细查询具有良好的响应能力。但是题的分类详细查询具有良好的
10、响应能力。但是雪花模型的构造在本质上是一种数据模型的规雪花模型的构造在本质上是一种数据模型的规范化处理,会给数据仓库操作带来不同表的连范化处理,会给数据仓库操作带来不同表的连接困难接困难。在对维度表进行维护时,可能需要对。在对维度表进行维护时,可能需要对大量重复值进行修改。大量重复值进行修改。星型模型通过对维表的冗余应用,以牺牲维表星型模型通过对维表的冗余应用,以牺牲维表空间来换取数据仓库的高性能与易使用的优势。空间来换取数据仓库的高性能与易使用的优势。因此,拟采用星型模型,而不采用雪花模型。因此,拟采用星型模型,而不采用雪花模型。7.1.3 7.1.3 超市数据仓库事实表模型超市数据仓库事实
11、表模型需要确定数据仓库中多大的粒度数据才能满足管理人员对数据仓库营销策划分析的需要。超市商品销售主题中,最理想的原子数据是来自POS机上的每个销售事务数据 分析超市高层管理人员通过哪些角度,即需要通过那些维度来考察、选择营销方案。一般情况下,在确定超市营销策划时,超市管理人员需要通过日期、商品、门市、促销和客户五个维度对促销方案进行分析,了解促销方案的可用性和效果 日日期期商商品品促促销销客户客户门门市市商品营销商品营销超市营销数据仓库事实表模型超市营销数据仓库事实表模型 超市营销数据仓库事实表模型超市营销数据仓库事实表模型 超市营销主题超市营销主题日期关键字日期关键字门市关键字门市关键字商品
12、关键字商品关键字促销关键字促销关键字商品销售编号商品销售编号商品销售量商品销售量商品销售额商品销售额商品成本商品成本商品销售利润商品销售利润日期维日期维日期关键字日期关键字商品维商品维商品关键字商品关键字门市维门市维门市关键字门市关键字促销维促销维促销关键字促销关键字客户维客户维客户关键字客户关键字超市营销数据仓库事实表模型超市营销数据仓库事实表模型 从销售系统中,可直接获取商品销售量、销售单价、从销售系统中,可直接获取商品销售量、销售单价、商品成本等数据。商品成本等数据。管理人员考察超市的营销策略时,需要考虑管理人员考察超市的营销策略时,需要考虑营销策略营销策略和相应的和相应的商品销售利润商
13、品销售利润。商品销售利润可以直接通过商品销售量、销售单价和商品销售利润可以直接通过商品销售量、销售单价和商品成本计算获得。商品销售利润具有良好的可加性,商品成本计算获得。商品销售利润具有良好的可加性,管理人员又经常需要查看。管理人员又经常需要查看。将利润数据存放在事实表中,可大大减少数据仓库工将利润数据存放在事实表中,可大大减少数据仓库工作时的工作量,还可以保证所有用户在使用商品销售作时的工作量,还可以保证所有用户在使用商品销售利润这一重要数据时的一致性。利润这一重要数据时的一致性。超市营销数据仓库事实表模型超市营销数据仓库事实表模型 商品商品销售单价销售单价对于计算商品利润十分重要,但对于计
14、算商品利润十分重要,但将某个商品一段时间内的所有销售单价相加是将某个商品一段时间内的所有销售单价相加是毫无意义的。管理人员可能只对某一时间段内毫无意义的。管理人员可能只对某一时间段内某个商品的平均销售价感兴趣。某个商品的平均销售价感兴趣。平均销售价格平均销售价格可以用该时间段内的商品销售额可以用该时间段内的商品销售额除以商品销售量获取。除以商品销售量获取。在事实表中可以不用商品销售单价,代之以商在事实表中可以不用商品销售单价,代之以商品销售额。品销售额。销售额销售额往往是管理人员衡量营销策往往是管理人员衡量营销策略好坏的重要指标。略好坏的重要指标。超市营销数据仓库事实表模型超市营销数据仓库事实
15、表模型 超市管理者还可能对商品销售的利润率感兴趣,该数据可以用商品销售利润除以销售额获得,该数据不是一个可加数据。将比率或百分数的数据进行相加,所获得的数据是没有什么意义的。管理人员在了解某一时期某些商品的利润率时,完全可以利用该时期该商品利润和销售额获得。因此,事实表中确定度量数据为商品销售量、商品销售额、商品成本和商品销售利润。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计1.1.日期维日期维日日期期维维模模型型是是许许多多数数据据仓仓库库应应用用中中的的常常用用维维度度,其其设设计计方式与其他多数维模型有差别。方式与其他多数维模型有差别。具具体体设设计计时时,日
16、日期期维维可可以以存存放放以以日日期期表表示示的的5-10年年的的数数据据行行,也也可可以以将将3-4年年的的数数据据行行作作为为日日期期维维内内容容。如如果果对对10年的每一天都进行存储,也只需要年的每一天都进行存储,也只需要3650行行。日日期期维维的的每每列列由由行行所所代代表表的的特特定定日日期期进进行行定定义义。“星星期期”列列含含有有像像“星星期期一一”这这样样的的名名称称内内容容。该该列列可可用用于于创创建比较建比较“星期一星期一”与与“星期日星期日”销售情况对比的查询。销售情况对比的查询。日日历历日日期期编编号号从从1开开始始取取值值,然然后后根根据据月月份份的的情情况况取取到
17、到28、29、30或或者者31。这这一一列列主主要要用用于于对对每每个个月月的的同同一一天天进进行行比较。同样,可以给出比较。同样,可以给出日历的周编号和月编号日历的周编号和月编号。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计纪纪元元表表示示法法采采用用从从某某纪纪元元开开始始连连续续对对日日期期进进行行计计数数的的方方法法来来给给出出日日编编号号,在在表表中中还还可可以以给给出出“星星期期”与与“月月份份”的的绝绝对对编编号号列列。这这些些数数据据支支持跨年度、跨月份的简单数据运算。持跨年度、跨月份的简单数据运算。在在生生成成报报表表时时,经经常常要要给给出出像像
18、“一一月月”这这样样的的月月份份 名名 称称。因因 此此,为为 报报 表表 确确 定定 一一 个个“年年 月月”(YYYY-MM)列标题列标题也有必要。也有必要。报报表表中中很很可可能能需需要要季季度度编编号号(Q1,Q4)或或年年季季度度编编号号列列。如如果果企企业业的的财财政政年年度度与与日日历历表表周周期上不一致,还需要为期上不一致,还需要为财政年度财政年度给出类似列。给出类似列。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计在在“节节假假日日”列列中中,给给出出“节节假假日日”或或者者“非非节节假日假日”的内容。的内容。维维表表属属性性作作为为数数据据分分析析
19、的的导导航航,简简单单地地在在“节节假假日日”列列中中给给出出“Y”或或者者“N”对对数数据据分分析析没没有有多大用处。多大用处。例例如如,在在生生成成某某种种商商品品的的节节假假日日与与非非节节假假日日销销售售情情况况比比较较查查询询时时,列列中中给给出出“节节假假日日”或或者者“非非节节假假日日”这这样样有有意意义义的的值值要要比比一一个个简简单单的的“Y”或者或者“N”之类的值有用得多。之类的值有用得多。“星期六”与“星期日”要归入“周周末末”列列。当然可以对多个日期表属性进行共同约束,从而能够实现一些像平日假期销售与周末假期销售进行比较的数据仓库应用。“销销售售时时节节”列列应设置为销
20、售时节的名称,例如,春节、情人节、端午节、五一节、国庆节、中秋节、重阳节、圣诞节、或者标为“不是”。“重重大大事事件件”列列与“销售时节”列情形类似,可以标记为“周日大采购”或者“中秋合家欢”这样与日期有特殊联系的促销事件。一般性的促销活动通常不放在日期表中处理,以促销维表的形式进行更加完整的描述。因为促销事件并不是仅仅由日期来定义,通常还需要由日期、商品与商店的组合来定义。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计日期日期维维度度销销售事售事实实日期关日期关键键字字日期关日期关键键字字星期星期商品关商品关键键字字日日历历日期日期编编号号门门市关市关键键字字日日历
21、历周周编编号号促促销销关关键键字字日日历历月月编编号号客客户户关关键键字字纪纪元日元日编编号号POS事事务编务编号号纪纪元周元周编编号号销销售量售量纪纪元月元月编编号号销销售售额额财财政月日政月日编编号号成本成本额额年度日年度日历历周数周数利利润润金金额额年度日年度日历历月数月数日日历历年月年月(YYYY-MM)日日历历季度季度日日历历年季度年季度日日历历半年度半年度日日历历年年财财政周政周年度年度财财政周数政周数财财政月政月年度年度财财政月数政月数财财政年月政年月财财政季度政季度财财政年季度政年季度财财政半年度政半年度财财政年政年节节假日指示符假日指示符星期指示符星期指示符销销售售时节时节重
22、大事件重大事件7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计2.商品维商品维一一般般超超市市门门市市可可能能存存储储60000个个商商品品编编号号,但但大大型型连连锁锁超超市市保保留留不不再再销销售售的的历历史史商商品品营营销销方方案案情情况况,商商品品维维度度可可能能至少需要至少需要150000行,乃至多达百万行。行,乃至多达百万行。商商品品维维度度数数据据主主要要来来源源于于业业务务系系统统的的商商品品主主文文件件。超超市市总总部对所销售商品的主文件进行统一管理。部对所销售商品的主文件进行统一管理。商商品品主主文文件件的的一一个个重重要要作作用用,就就是是维维护护
23、每每个个商商品品存存储储标标志志的许多描述属性。商品维是一组重要的属性。的许多描述属性。商品维是一组重要的属性。某某个个商商品品种种类类包包含含多多个个商商品品子子类类,商商品品子子类类包包含含多多个个商商标标,商标包含多个商标包含多个商品存储标志商品存储标志。还还应应包包含含描描述述商商品品形形状状或或存存储储位位置置的的层层次次属属性性,例例如如商商品品的的包包装装类类型型、包包装装尺尺寸寸、包包装装数数量量、托托盘盘中中的的包包装装数数,以以及与商品存储的层次:存储类型、货架结构等维度。及与商品存储的层次:存储类型、货架结构等维度。3.3.门市维门市维门市维表用于描述超市的各个链锁店。门
24、市维表是基门市维表用于描述超市的各个链锁店。门市维表是基本的地理维度,每个门市可被看成一个位置。这样,本的地理维度,每个门市可被看成一个位置。这样,可以由门市形成诸如街道、邮政编码、县、市、省这可以由门市形成诸如街道、邮政编码、县、市、省这样的任意地理属性。对每个门市来说,地理体系与门样的任意地理属性。对每个门市来说,地理体系与门市地区体系都有良好的定义。市地区体系都有良好的定义。在连锁超市所使用的门市维表中有建筑面积、金融服在连锁超市所使用的门市维表中有建筑面积、金融服务、最早开业时间等描述特定门市的文字描述。描述务、最早开业时间等描述特定门市的文字描述。描述销售面积的列应该是数字型的,并且
25、在理论上是跨门销售面积的列应该是数字型的,并且在理论上是跨门市可相加的,以表示某一地区的市可相加的,以表示某一地区的销售面积销售面积。它是门市。它是门市的一个不变属性,通常作为报表约束或者行标题使用。的一个不变属性,通常作为报表约束或者行标题使用。而且为了能够分析不同种类商品对超市销售利润的贡而且为了能够分析不同种类商品对超市销售利润的贡献情况,还需要设立不同商品的销售面积。献情况,还需要设立不同商品的销售面积。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计4.4.促销维促销维超市的促销方案可能包含:临时降价、柜台展销、报超市的促销方案可能包含:临时降价、柜台展销、报
26、纸广告与优惠券发放等。促销维应该可以反映商品促纸广告与优惠券发放等。促销维应该可以反映商品促销方案的成效。销方案的成效。促销的成效评估因素:促销商品的销售是否在促销区促销的成效评估因素:促销商品的销售是否在促销区间出现增长、是否在促销进行之前或者随后出现减少间出现增长、是否在促销进行之前或者随后出现减少状况;是否发生促销商品的销售出现增长,而临近货状况;是否发生促销商品的销售出现增长,而临近货架上的其他商品销售却呈现出相应的降低情况架上的其他商品销售却呈现出相应的降低情况(同类相同类相食食);促销类别中所有商品的销售是否都经历了一个实;促销类别中所有商品的销售是否都经历了一个实际的总体增长;促
27、销是否赢利。际的总体增长;促销是否赢利。促销利润的计算要考虑促销类别的利润增量与时间过促销利润的计算要考虑促销类别的利润增量与时间过渡、同类调剂以及销售底线等各种情况。渡、同类调剂以及销售底线等各种情况。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计在促销维度中,为促销出现的每种组合都建立一行在促销维度中,为促销出现的每种组合都建立一行记录是很有意义的。在一年的销售活动中,可能出记录是很有意义的。在一年的销售活动中,可能出现现1000个广告、个广告、5000次临时降价和次临时降价和1000次柜台展销,次柜台展销,但可能只有但可能只有10000个促销组合能影响某一特定商
28、品。个促销组合能影响某一特定商品。例如,在某给定维度中,大多数门市都会同时运作例如,在某给定维度中,大多数门市都会同时运作所有促销售手段,而只有少数几个门市不进行柜台所有促销售手段,而只有少数几个门市不进行柜台展销。在这种情况下,就需要两个单独的促销记录展销。在这种情况下,就需要两个单独的促销记录行:一个用于通常的降价并外加广告与柜台展销,行:一个用于通常的降价并外加广告与柜台展销,而另一个用于降价并外加单纯的广告。而另一个用于降价并外加单纯的广告。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计超市的主要促销方式是降价、广告、柜台展销与优超市的主要促销方式是降价、广告
29、、柜台展销与优惠券。超市的促销维度可以包含促销名称、减价类惠券。超市的促销维度可以包含促销名称、减价类型、促销媒体类型、广告类型和优惠券类型等。型、促销媒体类型、广告类型和优惠券类型等。如果将这些因素分别建立促销维度,就可以记录分如果将这些因素分别建立促销维度,就可以记录分析这些促销方法非常相似的信息,使用户更加容易析这些促销方法非常相似的信息,使用户更加容易理解促销方案的作用。理解促销方案的作用。但是将所有的促销因素合并在一个维表中,则能够但是将所有的促销因素合并在一个维表中,则能够方便用户的浏览,能够弄清各种不同的价格降低、方便用户的浏览,能够弄清各种不同的价格降低、广告、展销与优惠券是如
30、何在一起共同发挥促销作广告、展销与优惠券是如何在一起共同发挥促销作用的。用的。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计5.客户维客户维超市的客户维度可以包含客户账号、姓名、地址、所在地区、超市的客户维度可以包含客户账号、姓名、地址、所在地区、邮政编码、电子信箱、电话、日常活动范围、出生日期、收邮政编码、电子信箱、电话、日常活动范围、出生日期、收入、孩子数量、住房和汽车等内容。入、孩子数量、住房和汽车等内容。客户维中的地址由于客户可能会给出其家庭地址、工作地址客户维中的地址由于客户可能会给出其家庭地址、工作地址或其它一些常用地址,因此在维表中可以设置或其它一些常用
31、地址,因此在维表中可以设置4个地址,对个地址,对于电话的设置也是出于相同因素的考虑。于电话的设置也是出于相同因素的考虑。在数据仓库的应用中,有时需要对客户按照不同的地区进行在数据仓库的应用中,有时需要对客户按照不同的地区进行分析,为此,在维表中就按照省、市、县(区)邮政编码进分析,为此,在维表中就按照省、市、县(区)邮政编码进行地区的设置。行地区的设置。性别、婚姻状况、家庭人口、住房条件和自有汽车情况均是性别、婚姻状况、家庭人口、住房条件和自有汽车情况均是超市销售管理人员对超市营销策略进行分析的主要依据。超市销售管理人员对超市营销策略进行分析的主要依据。出于超市营销策略制定的考虑,还需要了解客
32、户的日常活动出于超市营销策略制定的考虑,还需要了解客户的日常活动范围,以便有针对性地进行促销广告的发送。范围,以便有针对性地进行促销广告的发送。7.1.4 7.1.4 超市数据仓库维表模型设计超市数据仓库维表模型设计7.1.5 7.1.5 超市数据仓库模型的关键字设计超市数据仓库模型的关键字设计采用采用代理关键字技术代理关键字技术,而不是依赖业务系统中的各种关键字,而不是依赖业务系统中的各种关键字(许多业务系统中的各种编码往往具有某种特定的含义)(许多业务系统中的各种编码往往具有某种特定的含义)代理关键字一般采用填充维度时按需要而顺序分配的整数值。代理关键字一般采用填充维度时按需要而顺序分配的
33、整数值。例如,为第一条商品记录分配一个值为例如,为第一条商品记录分配一个值为1的商品代理关键字,的商品代理关键字,第二条分配第二条分配2,第,第n条分配条分配n等。代理关键字仅仅用于维度表等。代理关键字仅仅用于维度表到事实表的连接。到事实表的连接。代理关键字的好处还在于,它能够对数据仓库环境的操作型代理关键字的好处还在于,它能够对数据仓库环境的操作型变化进行缓冲,不会受到商品编码生成、更新、删除、再生变化进行缓冲,不会受到商品编码生成、更新、删除、再生与重用等操作型规则的妨碍。代理关键字允许数据仓库对来与重用等操作型规则的妨碍。代理关键字允许数据仓库对来自多个业务型系统的数据进行合并,即使它们
34、之间缺乏一致自多个业务型系统的数据进行合并,即使它们之间缺乏一致的源关键字也无所谓。的源关键字也无所谓。使用代理关键字还可以获得性能上的优势。代理关键字可能只有一个整数所占据的空间大小,却能确保充裕地容纳维度行以后可能需要的序号或者最大编号。而业务型编码常常是一个混合了字母与数字的区间编码体系。代理关键字还能够用于记录那些诸如“不在促销之列”这样的可能在业务系统中没有编码的维度情形。通过对数据仓库的关键字施加控制,就能够做到不管是否缺少业务型编码,总可以分配一个代理关键字将这类情况标识出来。将代理日期关键字处理成日期序号,可以允许事实表在日期关键字基础上进行物理分区。7.1.5 7.1.5 超
35、市数据仓库模型的关键字设计超市数据仓库模型的关键字设计目前在超市数据仓库中已经包含了6个实际的表:营销事实表与日期、商品、门市、促销和客户维表。每个维表有一个主关键字,而事实表除了有一个退化的销售事务编号之外,还有由五个外关键字组成的一个复合关键字。如果五个关键字都是进行了紧凑处理的连续整数,那么仅仅需要为所有五个关键字保留18个字节的小存储空间(日期、商品、促销和客户维各用4个字节,而门市用2个字节)。同时,销售事务编号可能另外需要8个字节。如果事实表4类事实(销售量、销售额、成本和利润)中的任何一个都是4字节的整数,则仅仅需要再保留另外的16个字节,这样事实表只有42个字节宽。对一个10亿
36、行的事实表也只占用大约42GB的存储空间,就可以存储所有事实数据。7.1.5 7.1.5 超市数据仓库模型的关键字设计超市数据仓库模型的关键字设计7.1.6 7.1.6 超市数据仓库元数据设计超市数据仓库元数据设计 销售主题元数据名称名称Sales描述描述整个超市中每个整个超市中每个门门市中每个市中每个POS机所机所记载记载的商品的商品销销售状况售状况目的目的用于用于进进行超市行超市销销售状况和促售状况和促销销情况的分析情况的分析联联系人系人各个各个门门市市销销售售经经理理维维时间时间、商品、客、商品、客户户、商店、促、商店、促销销事事实实表表销销售事售事实实表表度量度量值值销销售成本、售成本
37、、销销售售额额、销销售利售利润润、销销售量售量销售事实元数据名称名称Sales_Fact_年份年份描述描述记录记录每个每个门门市每个市每个POS机所机所发发生的生的销销售数据售数据目的目的作作为销为销售主售主题题的分析事的分析事实实使用状况使用状况每天平均每天平均查询查询次数次数每天平均每天平均查询查询返回行数返回行数每天每天查询查询平均平均执执行行时间时间(分(分钟钟)每天最大每天最大查询查询次数次数每天每天查询查询返回最大行数返回最大行数每天每天查询查询最大最大执执行行时间时间(分(分钟钟)存档存档规则规则每个月将前每个月将前36个月的数据存档个月的数据存档存档状况存档状况最近存档最近存档
38、处处理日期理日期已已经经存档数据日期存档数据日期更新更新规则规则每个月将前每个月将前60个月的数据从数据个月的数据从数据仓库仓库中中删删除除更新状况更新状况最近更新最近更新处处理日期理日期已更新数据日期已更新数据日期数据数据质质量要求及量要求及确确认认由于从各个由于从各个门门市市POS机上所机上所产产生的数据可能会由于极生的数据可能会由于极少的人工少的人工输输入,而使数据入,而使数据质质量不能得到保量不能得到保证证,但也真,但也真实实地反映了地反映了销销售售现现状,不能随意修改,状,不能随意修改,应应被被认认可。可。数据准确性要求数据准确性要求必必须须百分百分之之百地反映各个百地反映各个门门市
39、市销销售状况售状况数据粒度数据粒度要求能要求能够够反映每一反映每一项项商品的商品的销销售状况,不售状况,不对对数据数据进进行行汇总汇总表表键键事事实实表的表的键键(关键字)(关键字)是是时间时间、商品、客、商品、客户户、商店和、商店和促促销维销维中中键键的的组组合合数据来源数据来源超市超市销销售售业务业务系系统统中的中的销销售表售表加加载载周期周期每天一次每天一次加加载载状况状况最后加最后加载载日期日期加加载载的行数的行数加加载规则载规则每天清晨每天清晨3:00将各个超市将各个超市门门市中前一天的市中前一天的销销售事售事实实数数据拷据拷贝贝到本表,拷到本表,拷贝过贝过程中要根据各个数据成程中要
40、根据各个数据成员员所定所定义义的加的加载规则进载规则进行行筛选筛选和清理和清理销售事实元数据维元数据 名称名称客客户户(Customer)定定义义从超市任何一个从超市任何一个门门市市购买货购买货物的任何个人或物的任何个人或组织组织都称都称为为客客户户。一个客一个客户户可以与多个可以与多个销销售地区售地区发发生生联联系系(即出即出现现在地理在地理维维的不同的不同层层次体系中次体系中)层层次次结结构构一个客一个客户户的数据可以在的数据可以在3个个级别级别上上进进行行统计统计:最低:最低级别级别是出是出现现在在客客户户所在的所在的县县/区,其上区,其上为为市、省市、省更改更改规则规则新的客新的客户户
41、位置作位置作为为新的一行插入新的一行插入维维中。中。对对已有位置的修改,已有位置的修改,则则在原在原处处更新更新加加载频载频率率每天一次每天一次加加载统计载统计数据数据最后加最后加载载日期日期加加载载的行数的行数使用的使用的统计统计数数据据每天平均每天平均查询查询个数个数每天每天查询查询返回的平均行数返回的平均行数每天每天查询查询平均平均执执行行时间时间(分(分钟钟)每天最大的每天最大的查询查询个数个数每天每天查询查询返回的最大行数返回的最大行数每天每天查询执查询执行的最行的最长时间长时间(分(分钟钟)存档存档规则规则每个月将前每个月将前36个月的数据存档个月的数据存档已存档数据日期已存档数据
42、日期更新更新规则规则每个月将前每个月将前60个月的数据从数据个月的数据从数据仓库仓库中中删删除除更新状况更新状况最近更新最近更新处处理日期理日期已已经经更新数据日期更新数据日期数据数据质质量量增加一个新客增加一个新客户时户时,先,先检查检查是否已在其他地方和是否已在其他地方和该该客客户户做做过过交易。少数情况下,由于交易。少数情况下,由于检查检查失失败败,会将一个客,会将一个客户户的不的不同部同部门门作作为为不同客不同客户户保存。地区属性并不是保存。地区属性并不是销销售售业务业务系系统统原有的,而是根据送原有的,而是根据送货货地址属性中的地址属性中的邮邮政政编码进编码进行区分行区分数据的准确数
43、据的准确程度程度一个客一个客户户与其地理位置的关与其地理位置的关联联出出错错的可能性在某一百分比的可能性在某一百分比以下,以下,该该百分比大小要根据百分比大小要根据对业务对业务数据的研究情况确定数据的研究情况确定关关键键字字客客户维户维的关的关键键字是系字是系统产统产生的数字生的数字维元数据 产产生关生关键键字的方法字的方法从从销销售售业务业务系系统统中拷中拷贝贝一个客一个客户时户时,将,将检查转换检查转换表,表,检查该检查该客客户户是否已是否已经经存在于数据存在于数据仓库仓库中。如果否,就中。如果否,就产产生一个新的生一个新的关关键键字。然后将字。然后将这这个关个关键键字和字和销销售售业务业
44、务系系统统中的中的CustomID和地区和地区ID插入插入转换转换表中。如果表中。如果该该客客户户和位置已和位置已经经存在于存在于转换转换表,表,则则根据表中的关根据表中的关键键字决定数据字决定数据仓库仓库中要更新的中要更新的记录记录源表名称源表名称超市超市销销售售业务业务系系统统中的中的Customer表表加加载规则载规则每天拷每天拷贝贝每个每个Customer表中的行。表中的行。对对于已存在的客于已存在的客户进户进行行更新。更新。对对于新客于新客户户,确定其所在地理位置之后,确定其所在地理位置之后,产产生一个关生一个关键键字,然后插入一行新字,然后插入一行新记录记录。在更新插入操作之前,需
45、要。在更新插入操作之前,需要检查检查是否有重复的客是否有重复的客户户名。如果有,名。如果有,则则在客在客户户名后增加一个名后增加一个顺顺序号,直到名字以及名字和序号,直到名字以及名字和顺顺序号的序号的组组合都没有重复合都没有重复为为止。止。加加载规则载规则只只选择选择新的和新的和发发生生变变化的行化的行源表名称源表名称Customer_Location表表转换规则转换规则每天拷每天拷贝贝一次一次Customer_Location表。表。对对于已存在的客于已存在的客户户,更新其送更新其送货货地址;地址;对对于新客于新客户户,则产则产生一个生一个键键,并插入一行。,并插入一行。维元数据 数据成员元
46、数据 名称名称客客户户关关键键字(字(Customer_ID)定定义义用以唯一用以唯一标识标识客客户户和位置的和位置的值值更新更新规则规则一旦分配,就不改一旦分配,就不改变变数据数据类类型型数数值值型型值值域域1999,999,999产产生生规则规则由系由系统统自自动产动产生,将当前最大生,将当前最大值值增增l来源来源系系统统自自动动生成生成名称名称客客户户名称(名称(Customer_Name)定定义义客客户户的名称的名称更新更新规则规则 客客户户名称名称发发生改生改变时变时,就在原来的,就在原来的记录记录上更新上更新数据数据类类型型 Char(30)值值域域保保证证能区分不同客能区分不同客
47、户户的名称。的名称。对对不同而具有相同名称的不同而具有相同名称的客客户户,可在名称后依次加,可在名称后依次加1来区分相同名称来区分相同名称来源来源超市超市销销售售业务业务系系统统中中Customer表中的表中的Name产产生生规则规则 对对于零售客于零售客户户,其名称由姓和名,其名称由姓和名组组成成,或者是客户,或者是客户1、客户客户2形式形式。对对于公司,于公司,则则将公司名作将公司名作为为客客户户名称名称数据成员元数据 7.2 7.2 数据仓库开发工具简介数据仓库开发工具简介7.2.1 7.2.1 数据仓库开发工具数据仓库开发工具 目前已有许多数据仓库开发工具供应商,可以提供各种构建数据目
48、前已有许多数据仓库开发工具供应商,可以提供各种构建数据仓库的工具。但有些数据仓库开发工具还要结合第三方供应商工仓库的工具。但有些数据仓库开发工具还要结合第三方供应商工具才能完成整个数据仓库的构建。具才能完成整个数据仓库的构建。1.Oracle1.Oracle数据仓库开发工具数据仓库开发工具Oracle 9iOracle 9i:数据仓库构建体系的核心;:数据仓库构建体系的核心;Oracle Warehouse BuilderOracle Warehouse Builder:可以进行数据建模、数据抽取、数:可以进行数据建模、数据抽取、数据转移和装载、聚合及元数据管理;据转移和装载、聚合及元数据管理
49、;Oracle DiscovererOracle Discoverer:能够为最终用户提供查询、报告、下钻、:能够为最终用户提供查询、报告、下钻、旋转和旋转和WEBWEB公布工具;公布工具;Oracle DarwinOracle Darwin:提供决策树、神经网络等多种数据挖掘方法,:提供决策树、神经网络等多种数据挖掘方法,可以对数据仓库进行数据挖掘,具有简单易用的图形化界面,支可以对数据仓库进行数据挖掘,具有简单易用的图形化界面,支持海量数据并行处理,可进行结果分析和系统集成。持海量数据并行处理,可进行结果分析和系统集成。2.IBM2.IBM数据仓库开发工具数据仓库开发工具基于可视数据仓库的
50、商业智能(基于可视数据仓库的商业智能(BI)解决方案,)解决方案,具有集成能力强,面向对象具有集成能力强,面向对象SQL等特性。其中等特性。其中Visual Warehouse(VW)是一个功能很强的集成环境,可用)是一个功能很强的集成环境,可用于数据仓库建模和元数据管理,又用于数据抽取、转换、于数据仓库建模和元数据管理,又用于数据抽取、转换、装载和调度。装载和调度。Essbase/DB2 OLAP Server支持多维数据库。它是支持多维数据库。它是一个(一个(ROLAP和和MOLAP)混合的)混合的HOLAP服务器,在服务器,在Essbase完成数据装载后,数据存放在系统指定的完成数据装载