还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
补充知识数据仓库设计与使用资料来源于SQL SERVER2000实用教程,陈旭东主编,电子工业出版社进入21世纪,商业活动变得越来越复杂,并且越来越全球化,企业迫切需要大量的信息来支持战略决策但是传统的数据库技术不能有效地将企业内海量数据转化为有用的战略信息,数据仓库为企业提供了战略信息的系统环境,为商业智能化打下了基础数据仓库已经成为信息技术的热门领域SQL Server提供了一套比较完整的创立数据仓库和数据挖掘的解决方案
13.1SQL Server数据仓库开发工具及应用
13.
1.1数据仓库的根本概念Inmon1993给数据仓库下了如下定义“数据仓库是面向主题的、综合的、以时间为变量的、非易变性的数据集合,用来支持管理决策〃数据仓库不同于操作型的数据库,操作型的数据库主要用在联机事务处理OLTP,而数据仓库主要用在联机分析处理OLAP和信息分析处理数据仓库是一种信息系统环境,可以提供企业综合完整的概括,使企业的信息保持一致性,并且能够支持决策处理
13.
1.2数据仓库架构典型的数据仓库架构由一些根本的功能模块组成参考图
13.1数据仓库的架构图最左边是数据源局部;然后是数据提取转换层;中间是数据存储局部,它管理数据仓库的全部数据,并且保存元数据信息;最右边是信息传递局部,包括各种数据仓库信息的显示和分析工具其中,外部数据源是准备装载到数据仓库的各种各样的数据,包括关系数据库、电子表格、文档等数据提取转换层Extraction TransformationLayer,ETL是从数据源中提取数据并将其转换到仓库效劳器中的过程,主要包括数据提取、转换和加载三局部的内容元数据描述了数据的结构和意义,元数据连接了数据仓库的所有局部,能够为开发者提供数据仓库内容和结构的所有信息,SQL Server提供了比较完善的元数据效劳,元数据效劳将系统数据库msdb用作默认知识库Repository数据库数据仓库存储提供分析用的大量历史数据,这些数据的结构和格式适合于各种分析方法信息传递局部,主要包括报告、查询工具,OLAP分析工具和数据挖掘工具,SQL Server的分析效劳提供了比较完善的信息传递工具图
13.1数据仓库的架构图
13.
1.3SQL Server数据仓库开发工具SQL Server有许多应用于数据仓库的工具,为数据仓库的设计、创立、分析和应用提供了完整的解决方案使用该工具使远程客户通过0FFICE2000的EXCEL或ACCESS访问效劳器中的多维数据集在使用之前要求OFFICE加装Microsoft Query工具以Excel为例,启动Microsoft Excel,在“数据〃菜单中,单击“数据透视表和数据透视图报表〃命令单击“外部数据源〃,然后单击“下一步〃按钮在向导的第二步,单击“获取数据〃“选择数据源〃对话框翻开单击“OLAP多维数据集〃选项卡确保选中“〈新数据源〉〃,然后单击“确定〃按钮“创立新数据源〃对话框翻开,在“请输入数据源名称〃框中,输入任意名称在“为您要访问的数据库选定一个OLAP供给者〃框中,单击“〃,单击“连接〃“多维连接〃对话框翻开,选择分析效劳器,在效劳器栏中输入效劳器名这时显示分析效劳器中可用的数据库列表选择需要分析的数据库,然后单击“完成〃按钮在“创立新数据源〃对话框中(见图
13.
12.创立新数据源),在“选定包含所需数据的多维数据集〃框中,从清单中选择需要分析的多维数据集,然后单击“确定〃按钮图
13.12创立新数据源返回Excel电子表格,在Excel电子表格中,可以通过数据透视表方便地分析和展示数据(见图
13.
13.Excel电子表格中数据透视表)图
13.13Excel电子表格中数据透视表
13.
3.3ENGLISH QUERYEnglish Query以英语作为自然语言用于访问由SQL Server分析效劳创立的数据仓库数据库或多维数据集中的数据English Query是与SQL Server集成的工具,需要独立安装具体分析过程如下
1.启动Microsoft English Query,选择OLAP Project Wizard(见图
13.
14.建立工程向导),命名工程名,翻开,
2.进入选择分析效劳器的对话框,输入效劳器名和选择需要分析的数据库
3.从数据仓库的列表中选择多维数据集(例如Sales).
4.创立查询模型,模型是English Query应用的所有信息的集合,包括特定的数据库对象(例如表,域和联结)和语意对象(实体和它们的关系)可以通过ProjectWizard创立(见图
13.
15.工程的实体OLAP对象)
5.执行English Query在菜单栏选择Debug-Start,出现“Model Test”对话框,在Query条目中输入English Query语句,按执行按钮,便可显示查询结果例如需要查询多维数据集中国家的清单,可在Query条目中输入英语句子list thecountry,便可显示相关的查询结果(见图
13.16English Query查询结果),非常简单自然图
13.14建立工程向导图
13.15工程的实体OLAP对象图
13.16EnglishQuery查询结果
13.
3.4其它
1.SQL查询分析SQL查询很复杂,必须具有数据库专业知识才能正确创立最终用户很少使用结构化查询语言(SQL)查询直接访问数据仓库数据
2.钻取drill through检索详细数据,多维数据集单元中的数据根据它们进行汇总
3.自定义应用程序SQL Server及其组件提供了一套丰富的应用程序接口API,可用于开发自定义应用程序以增强和自动化数据仓库管理,或创立适合业务需要的客户端应用程序
13.4SQL Server中的数据提取与加载
13.
4.1数据提取转换层ETL数据提取转换层Extraction TransformationLayer,ETL是从数据源中提取数据并将其转换到仓库效劳器中的过程,主要包括数据提取、转换和加载三局部的内容具体实施时应该包括以下步骤
1.创立数据准备区由于实施数据提取转换工作需要创立表和其它数据库对象,因此为了不影响OLTP数据库,一般要建立数据准备区,并可以为数据准备区创立单独的数据库数据准备区包括传入数据的表、帮助实现代理键的表以及容纳转换数据的表可能需要其它表协调来自不同数据源的数据;这些表可能包含标识常用实体的交叉引用信息可能还需要各种临时表执行中间转换数据准备区的特定设计取决于数据源的多样性、组织数据以装入数据仓库时所需的转换程度以及传入数据的一致性准备装入数据仓库的数据所在的表与数据仓库中的目标表应具有相同的架构
2.提取数据数据提取过程的目的是使所有的源数据都具有通用的、一致的格式,以便准备装入数据仓库提取数据是成功创立数据仓库的关键,需要指定合理的数据提取策略,一般需要事先确认数据的源系统和结构,确定针对每个数据源的提取方法、提取频率、时间序列上的表示方法和异常处理的措施对于数据仓库,可能需要从不同的系统源提取数据数据最初在数据仓库创立过程中提取,并且在更新数据仓库的过程中不断地定期提取如果源数据驻留在单个关系数据库中,则数据提取是简单的操作,但如果源数据驻留在多个异类可操作系统中,则数据提取是复杂的操作在协调很多格式、数据编码和其它不一致的提取过程中,可以使用SQL Server数据转换效劳DTS的强大功能处理复杂的操作从源系统提取后,数据应驻留在数据准备区,在这里可以在数据装入数据仓库前完成清理和转换提取得到的数据是没有经过加工的数据,不能直接装入数据仓库,为了保证数据质量,数据必须要经过清理和转换典型的数据转换包括以下步骤
11.合并数据必须能够将特定工程例如产品、顾客、职员的全部相关信息从多个OLTP系统合并到一个OLAP系统合并过程必须解决不同OLTP系统间的编码差异问题合并过程还必须能够将各OLTP系统中使用不同数据类型存储的数据转换成在某个OLAP系统中使用的单一数据类型您也必须选择OLTP系统中的哪些列与OLAP系统无关,并将这些列排除在合并过程外
22.清理数据清理数据的目的是消除数据的不一致不同的OLTP系统以不同的方式拼写工程,或者合并过程可能没有覆盖以前不知道的拼写错误
33.聚合数据OLAP查询通常需要汇总数据或是已以某种方式聚合的数据对数据仓库内数据的聚合程度取决于许多设计因素,如OLAP查询的速度要求和分析所要求的粒度级数据转换过程常常包括以下内容将多个名称字段组合成一个字段将日期字段划分成单独的年、月、日字段将数据从一个表示法映射到另一个,如从TRUE到1和FALSE到0或者邮编从数字到文本将数据从多个表示法映射到单个表示法,如电话号码的常用格式,或不同的信用等级代码到常用的〃好、一般、不好〃表示法创立并应用维度表记录的代理键
4.加载数据清理数据并将其转换成与数据仓库要求一致的结构后,数据即准备装入数据仓库将数据装入数据仓库就是在填充将由显示应用程序使用的表装载数据通常涉及从源可操作系统、数据准备区数据库或数据仓库数据库中的准备区表传输大量的数据数据装入数据仓库数据库后,验证维度和事实数据表之间的引用完整性,确保所有的记录都与其它表中的适当记录相关初始装载数据仓库时要填充数据仓库架构中的表,然后验证数据是否准备用于装载可以用不同的方法装载数据仓库表,如Transact-SQL、DTS和bcp实用工具数据转换效劳(DTS)是数据提取转换层工作流的最重要的工具,它主要包括以下一些重要的应用L作为提取数据源的重要工具DTS能从文本文件或OLE DB数据源(例如,ORACLE、INFORMIX SYSBASE、ACCESS DBASE等其它异质数据库)将数据导入到SQL Server中
5.作为数据转换的重要工具转换数据任务用于在源和目的之间复制数据,并将列级转换选择性地应用于数据转换数据任务是数据转换效劳(DTS)中数据抽取引擎的最根本实现转换使得在导入和导出进程期间执行复杂的数据验证、数据清理和变换更加容易对于列数据,可以更改列的类型、大小、小数位数、精度或为空性
6.作为数据加载的重要工具在数据准备区完成数据提取、清理、转换工作后,通过DTS将数据准备区的数据库迁移到数据仓库数据提取转换层的应用工具除了数据转换效劳(DTS)工具外,还有SQL Server提供的其它工具,例如复制,Transact-SQL和bcp实用工具等
13.5SQL Server中的数据挖掘工具与应用
13.
5.1数据挖掘的根本概念数据挖掘(Data Mining,DM)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取其中有用信息和知识的过程简单来说,数据挖掘是帮助终端用户从大量数据中提取有用信息的过程数据挖掘的数据源主要是数据仓库和关系数据库数据挖掘是一门交叉学科涉及数据库、人工智能、数理统计等多学科知识数据挖掘常用的分析方法有决策树、分类分析、聚类分析、神经网络、遗传算法、规则推导、关联分析和时间序列分析等多种方法SQL Server的分析效劳提供了建立在数据仓库基础上的数据挖掘应用的接口和常用的数据挖掘技术工具
14.
5.2SQL Server的数据挖掘模型数据挖掘模型是数据挖掘的中央对象数据挖掘模型是一个虚拟结构,它表示关系或多维数据的分组和预测分析数据挖掘模型的结构在许多方面与数据库表的结构相似但是,数据库表代表的是记录的集合(或记录集),而数据挖掘模型将记录的解释表示为规则和模式时,这些统计信息的组成称为事例数据挖掘模型的结构表示定义数据挖掘模型的事例集,而所存储的数据则表示来自处理事例数据的规则和模式若要确定数据挖掘模型中每个特性的相对重要性,该模型需经历称为挖掘模型培训的过程在培训过程中,将向模型提供数据以便进行分析然后,模型所用的数据挖掘算法以各种方式检查这些培训数据集并进行测试,以便在数据的分类和预测方面得到一些结论,数据挖掘模型可以使用OLAP多维数据集或关系数据库的数据进行培训作为数据挖掘进程的中心,数据挖掘模型算法决定如何分析数据挖掘模型的事例数据挖掘模型算法提供了用于处理数据挖掘列的分类、分割、关联和分析数据所需的决策制定能力,这些数据挖掘列提供有关事例集的预测、变化或可能性的信息目前,在SQL Server的分析效劳中提供了两类数据挖掘模型,即Microsoft决策树模型和Microsoft聚集模型
15.
5.3决策树分析决策树算法是基于分类概念的算法构造树,此树将基于培训集中的剩余列预测列值因此,树中的每个节点代表一列的特定事例具体方法如下在Analysis Manager树视图中,展开“多维数据集〃文件夹,例如在例如数据仓库中选择“Sales〃多维数据集执行“新建挖掘模型〃命令,选择Microsoft决策树〃确定维度和级别本例,维度选择Customers级别选择name有“源多维数据集的度量值〃、“事例级别的成员属性〃和其它维度的成员三项选择,在此例,以“事例级别的成员属性〃选项,成员属性选择Member Cardo
5.选择培训数据在“Customer〃维度上,去除“Country、State Province”和“City”框(见图
13.17数据挖掘模型向导)图
13.17数据挖掘模型向导
6.创立维度和虚拟多维数据集可以用OLAP数据的挖掘模型分析结果创立一个新维度,也可以创立一个新的虚拟多维数据集,浏览此虚拟多维数据集以查看数据挖掘分析的结果
7.命名“模型名称〃命名“模型名称〃,并且选择“保存并开始处理〃,处理完毕后就可以浏览分析结果见图
13.18决策树分析结果危翼模里编伍/OLAP38tttt文件编揭视图⑵工具E E帮助D t!预测树P:|customers.Name.MemberCard ZJ升王佥□Store哈□Time国哈□Product王□PromotionMedia毛□Promotions卦匕EJ1Customers卦□AEducationLevel分名□Gender_2开玉□MaritalStatus_2□StoreSizeinSQFT七□StoreType哈度是值□YearlyIncome_2全部□*$¥UnitSales蟹□StoreCost好□StoreSates□SalesCount押□StoreSafesNet寓生▼|Name tttt面数据密低数据窈产颜色基于1*1lninqModel二J Q|所有字例三2d图
13.18决策树分析结果
13.
5.4聚类分析聚类是按特定的标准将数据归类成组聚类算法是一种期望方法,它使用迭代完善技术将相似的记录分组到附近区域具体方法如下
1.选择需要分析的多维数据集在Analysis Manager树视图中,展开“多维数据集〃文件夹,例如在例如数据仓库中选择“Sales多维数据集
2.建立挖掘模型执行“新建挖掘模型〃命令,选择Microsoft聚集〃
3.选择事例确定维度和级别本例,维度选择Customers级别选择name
4.选择培训数据在Customer”维度上,去除“Country、State Province”和“City”框
5.命名“模型名称〃命名“模型名称〃,并且选择“保存并开始处理〃,处理完毕后就可以浏览分析结果可以通过在根本属性窗格中,修改“Cluster Count〃框中的值,得到希望的聚类数目见图
13.19聚类数目为4的分析结果ttt3*13*J*J+1ZJt疙融模型鲂箱图一/OIAP文件E«SE视图y工具D帮助由图
13.19聚类数目为4的分析结果本章小结数据仓库是一种信息系统环境,能够支持决策处理数据仓库不同于操作型的数据库,操作型的数据库主要用在联机事务处理OLTP,而数据仓库主要用在联机分析处理OLAP和信息分析处理数据仓库的设计一般包括构造数据仓库模型,确定主题,确定事实表,识别并确认维度,选择事实,在事实表中存储事先计算的公式,修饰维度表,选择数据库的持续时间,跟踪变化缓慢的维度以及决定查询优先级别和查询方式等内容SQL Server的分析效劳为数据仓库的创立、分析和数据挖掘提供了强大的技术支撑,并且能够与SQL Server的关系数据库高度集成通过数据转换效劳、复制技术将外部的数据源转换为数据仓库的数据存储,在分析效劳器中建立数据库、创立维、多维数据集和虚拟多维数据集,通过多维数据集浏览器、数据透视表和ENGLISH QUERY等技术访问和操纵数据仓库,应用SQL Server提供的决策树分析和聚类分析数据挖掘工具对数据仓库进行决策分析处理习题十三L什么是数据仓库
2.什么是数据挖掘
3.阐述数据仓库设计的一般方法
4.在随机数据仓库FoodMart2000中,求美国三个州CA,0R和WA1997年度四个季度的饮料平均销售额
5.在随机数据仓库FoodMart2000中,选择多维数据集Sales进行决策树分析,分析消费者年收入在70000至90000美元之间的色彩Bronze,Golden,Normal,Silver偏好
6.在随机数据仓库FoodMart2000中,选择多维数据集Sales进行聚类分析,聚类数目确定为4,分析4类消费群教育程度Bachelors Degree,Graduate Degree,HighSchool Degree,Partial College,Partial HighSchool的组成结构
1.关系数据库关系数据库不同于数据仓库,关系数据库主要应用于联机事务处理OLTP,而数据仓库主要应用于联机分析处理OLAP和多种分析功能,但是关系数据库是数据仓库最主要的数据源,关系数据库技术是数据仓库设计、结构和维护的基础
2.数据转换效劳数据仓库应用程序需要将来自许多源的数据转换为聚合在一起的、一致的数据集,这些数据集经过了适当配置可用于数据仓库操作SQL Server为这类任务提供了一个强大的工具,即数据转换效劳DTS DTS可以访问来自各种不同源的数据,并使o用内置的自定义转换标准转换这些数据
3.复制数据库复制是具有许多用途的强大工具复制通常用于分发数据和协调联机事务处理系统OLTP中分布式数据的更新,还可用于数据仓库一些潜在的数据仓库的复制应用是将数据从中央数据仓库分发到数据集市,以及从数据准备区更新数据仓库数据
4.分析效劳Analysis Services数据仓库收集和组织企业数据以支持组织通过分析做出决策分析效劳提供联机分析处理OLAP技术,用以组织大量的数据仓库数据供客户端工具进行快速分析,并提供先进的数据挖掘技术以分析和发现数据仓库数据内的信^息
5.English QueryEnglishQuery通过用英语进行查询,提供对数据仓库数据的访问EnglishQuery是用于创立客户端应用程序的开发工具,使客户端应用程序可以将英语转换为SQL语法以查询关系数据库,或者转换为多维表达式MDX语法以查询OLAP多维数据集
6.元数据效劳Meta DataServices在SQLServer的多种不同工具中,有许多可将中央知识库的元数据存储在msdb系统数据库中SQL Server元数据效劳提供用于查看这些元数据的浏览器,并提供用于开发自定义元数据应用程序的应用程序接口对于每个分析效劳器,有一个称作〃Analysis Services知识库〃的知识库,以便为分析效劳器的对象多维数据集、维度等存储元数据可使用迁移知识库向导将该知识库迁移到同一或不同效劳器计算机上的SQL Server.mdf数据库,并可以通过元数据服的元数据浏览器浏览数据仓库的元数据
13.2SQL Server数据仓库的创立在着手进行数据仓库的创立前,首先要根据用户的需求和业务流程对目标数据仓库进行精心设计,明确设计的数据仓库目标必须满足用户的最终需求设计完成后,便可以借助SQL Server的强大的平台创立数据仓库
13.
2.1数据仓库的设计数据仓库的设计必须满足以下要求综合表达大量用户的经验,不能干扰现有的联机处理系统OLTP,提供与数据协调一致的中心知识库,快速响应复杂的查询,提供多种多样的强大的分析工具,例如联机分析处理OLAP和数据挖掘大局部成功的数据仓库都具有以下共同的特征基于维度模型,保存有历史数据,包括有具体和总揽的数据,能从多种多样的数据来源中提取数据,并且能够保持一致,致力于单一的主题Ralph Kimball根据数据仓库设计的一般规律,提出了数据仓库设计的九个步骤第一步选择主题的内容第二步确定如何表达事实表第三步识别并确认维度第四步选择事实第五步在事实表中存储事先计算的公式第六步修饰维度表第七步选择数据库的持续时间第八步跟踪变化缓慢的维度第九步决定查询优先级别和查询方式下面根据Ralph Kimball的思想,阐述数据仓库设计的根本要点
1.构造数据仓库模型对于OLTP系统的逻辑设计一般采用E-R建模方法,而对于数据仓库的逻辑设计需要维度建模方法维度建模显示出事实表和维度表之间的相互关系,并且允许沿维度的层次结构下钻和上钻维度模型主要分为星型模型和雪花模型两类,在星型模型中,每个维度表都与中间的事实表有直接联系,这样的模型架构像星形,事实表位于星形的中间,而各个维度表分布在星形的各个角上在雪花模型中,一个或多个维度表分解为多个表,每个表都有联接到主维度表而不是事实数据表的相关性维度表雪花模型是一种将星型模型维度表标准化的方法,如果将所有维度表完全标准化,那么将得到一个以事实为中心的雪花模型结构以销售信息为例,包括一个名为销售的事实数据表,有关销售记录的各种信息可能包括客户、销售人员、销售的时间、销售的产品和产品的产地这些信息中的每一类都可组织为自己的维度表客户信息放在客户维度表中,产地信息放在产地维度表中,时间信息放在时间的维度表中,产品信息放在产品维度表中,销售人员信息放在销售人员维度表中图
13.2星型模型图星型模型和雪花模型的差异在于它们的物理实现上,由于雪花模型更为标准化,所以更容易维护维度而星型模型通常简单而有效的查询,因此则更加方便于用户的直接访问选择何种模型取决于维度自身的特性,雪花模型一般用来构造复杂的维度最好的方案是为雪花模型构造星型模型的视图
2.确定主题根据用户的需求选定数据仓库的主题是非常关键的在数据仓库中,数据是按主题存储的例如对于一般的制造企业,销售、发货和存货都是非常重要的商业主题
3.确定事实表事实表是存储指标的地方每个数据仓库都包括一个或多个事实数据表事实表的主要特点是包含数字数据事实,而这些数字数据可以汇总以提供有关单位运作历史的信息每个事实表还包括一个由多个局部组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性事实表不应包含描述性信息,也不应包含数字度量字段以及使事实与维度表中的对应项相关的索引字段之外的任何数据事实表的列往往就是以之关联的维度表的外键例如销售事实表的列product_id,customer_id分别是产品维度表和客户维度表的外键
4.识别并确认维度维度是分类的有组织的层次结构,称为级别,它描述数据仓库事实表中的数据维度一般描述一个成员的相似集合,用户将基于该集合进行分析,并且维度是多维数据集的根本组件一般将维度划分为常规维度、虚拟维度、父子维度和数据挖掘维度从维度表或联接维度表中选择一列或多列如果选择多列,应使所有列内部相关以便可以将它们的值组织到一个层次结构中若要定义层次结构,请按照从最常规到最具体的顺序排序列例如,〃时间〃维度是由〃年〃、〃季度〃、〃月〃和〃日〃列创立的这种方法将产生一个常规维度从单个维度表中选择两列其中一列标识维度层次结构的每个组件,另一列标识每个组件的父代这两列为表中的每一行标识一个父子链接所有链接组合起来便可确定维度的层次结构例如,〃家族〃维度由〃个人〃列和〃父辈〃列创立这种方法将产生一个父子维度选择另一个维度中的一个或多个成员属性每个成员属性都基于另一个维度表中的一列该列包含的值是另一列值的特性这种方法将产生一个虚拟维度定义虚拟维度的另一种方法是直接选择另一个维度表中的列使用这种方法不需要成员属性选择当在挖掘模型向导中创立OLAP挖掘模型时创立维度可以由挖掘模型分析的结果创立维度,并可创立包含该维度及挖掘模型的源多维数据集的虚拟多维数据集
5.选择事实事实是包含在事实表中的数字数据,这些数字数据可以汇总以提供有关单位运作历史的信息,需要选择适宜的计量单位或指标星型模型或雪花模型的中心是一个事实表,因此合理地选择事实是数据仓库建模的基础
6.在事实表中存储事先计算的公式在数据仓库环境中,当数据仓库事实数据表中包含有数十万行时,如果不得不扫描事实数据表以计算答案,则请求某个特定产品系列每周销售总额的查询需花费很长时间但是,如果用于答复此查询的汇总数据已经预先计算好,则几乎可以立即响应事先对事实表中的指标做处理,是非常必要的事实表的指标操作可能是简单的加法,或者计算平均值,甚至是复杂的算法在事实表中存储事先计算的公式,根据需求预先计算好数据汇总,可以快速响应查询,改良性能
7.修饰维度表维度表包含描述事实数据表中的事实记录的特性在维度表中,每个表都包含独立于其它维度的事实特性例如,客户维度表包含有关客户的数据,产品维度表包含有关产品的信息,而商店维度表包含有关商店的信息通过维度建模产生维度表架构,在系统中创立维度表需要注意以下事项1创立代理键维度表的主键保持稳定很重要代理键是在数据仓库内部维护的键,而不是从源数据系统中获得的键为所有维度表的主键创立代理键并使用它们是非常重要的2保持引用完整性必须在所有维度表和事实表之间维护引用完整性每个事实记录都包含与维度表中的主键相关的外键每个事实记录都必须在与事实表一起使用的每个维度表中有相关记录3共享维度数据仓库必须为相似的查询提供一致的信息保持一致性的一种方法是创立由数据仓库中的所有组件和数据集市共享和使用的维度表
8.选择数据库的持续时间数据仓库的数据不是用来进行每天的商业交易的,这一点是与OLTP数据的本质区别,数据仓库中的数据是供分析和决策用的数据仓库中的数据是和时间变化相关的数据,因此可以对过去数据进行分析,也可以对未来进行预测OLTP的数据每隔一段时间被存储到数据仓库中,必须根据实际的需要选择存储转移的时间和频率,此外不同类型数据的存储转移的时间和频率也可能不同例如销售数据每天更新一次,产品属性的变化通常每个星期更新一次决定数据库应该保存多久的历史数据是数据仓库设计的一个重要环节
9.跟踪变化缓慢的维度一般情况下,维度表是相当稳定的,绝大局部维度都是不变的,很多维度虽然会变化,但是变化很缓慢,需要对跟踪变化缓慢的维度,并且对维度作修改针对变化缓慢的维度表有三类修改方法,分别称为第1类修改,第2类修改和第3类修改第1类修改的方法是用新的值覆盖维度表中的旧数值;属性的旧数值不需要保存;维度表中的键不受影响第2类修改的方法是在维度表中增加一条新的记录,该记录存有修改后的数值;维度表中可以包含一个有效日期字段;插入新的记录,该记录有一个新的替代键;原来记录的键不受影响第3类修改的方法是对受影响的属性,维度表中参加“旧的〃字段;将“现有〃字段值赋值给“旧的〃字段;将新的值赋值给“现有〃字段;参加一个“现有〃有效日期大多数修改都属于第1类和第2类修改,第1类修改最常见,第2类修改保存了历史数据,第3类修改属于临时性修改
10.决定查询优先级别和查询方式在数据仓库设计的最后一个阶段是制定数据仓库的信息传递策略,根据用户的需要和用户的水平制定合理的信息传递策略例如是否需要为用户定制查询和报表?查询频率的估计和查询的优先级别,一般尽量为用户提供多样化的查询/报表和分析工具,以满足多种多样的用户需求
11.
2.2创立数据仓库一旦完成了数据仓库设计后,就可以在分析效劳器上建立一个数据库,该数据库充当着定义了想要创立的数据仓库的对象的逻辑存储空间在SQL Server上创立数据仓库,主要包括以下重要步骤建立数据库和数据源,创立维,创立多维数据集,创立虚拟多维数据集下面以SQL Server随机带的数据库范例FoodMart2000为例,阐述创立数据仓库的根本过程
1.建立数据库和数据源首先为要导入的数据库建立ODBC的系统DSN数据源,然后启动Microsoft SQL Server-Analysis Services—AnalysisManager,在效劳器上单击右键,并选择新数据库,在提示栏输入新建数据库名字例如FoodMart2000,完成后,在数据库的目录有数据源、多维数据集、共享维度,挖掘模型和数据库角色等工程如以下图
13.4的左上局部的控制台根目录在数据源的工程上单击右键,选择新数据源,出现数据链接属性的向导如以下图
13.4所示,按照向导,选择建立的系统DSN,建立数据源图
13.4建立数据源
2.创立维创立维时,需要决定它是共享的还是私有的,私有维不能脱离多维数据集来处理,通常建立的是共享维维是创立一个维有4个根本步骤
1.在数据源中选择一个或多个维表见图
13.5选择维度
2.指定维的类型
3.选择级别
4.命名维对于单表维选择星型结构,多表维选择雪花型结构建立时间维度,在“选择维度类型〃步骤中,选择“时间维度〃选项,其他维度,在“选择维度类型〃步骤中,选择“标准维度〃选项具体的方法是,在共享维的工程上单击右键,选择新建维度,按向导完成建维维度向导选择维度表可用的表A详细信息:Jd三FoodMart numB划默认架构,目accountOcategory国currency•同days-checkOdepartment雪employee□expense_fact雪inventory_fact_1997Oinventory_fact_1998•国position.新数据源日…浏览数据但…上一步R|下一步N图
13.5选择维度3创立多维数据集多维数据集是数据的一种多维结构创立多维数据集主要包含以下5个步骤选择事实表、量度列和维编辑改良多维数据集的定义创立计算成员单元设计聚合添加分区1选择事实表、量度列和维选择事实表事实表中含有多维数据集,用户要进行分析的数字数据数据源中的一个表内,为多维数据集选择主事实表见图
13.6选择事实表图
13.6选择事实表选择数字列选择要用作多维数据集度量值的数字列(见图
13.7选择数字列)图
13.7选择数字列选择维度为多维数据集选择维度可以从以前定义的共享维度(即可供其它多维数据集使用的维度)中选择(见图
13.8选择维度),也可以启动维度向导创立新维度图
13.8选择维度
(2)编辑改良多维数据集的定义如果要编辑改良多维数据集的定义,在Analysis Manager树窗格中右击一个要修改的多维数据集,然后单击“编辑〃命令,进入编辑器对话框(见图
13.9多维数据集编辑器)除可以编辑根本的共享维和量度外,还可以添加计算成员、计算单元和私有维图
13.9多维数据集编辑器3创立计算成员、计算单元可以将多维数据集数据、算术运算符、数字和/或函数组合起来创立自定义度量值或维度成员,这些度量值和维度成员称为计算成员例如,通过将汇率和现有美元度量值相乘,可以创立将美元转换成马克的计算成员Markso然后Marks会在一个单独的行或列中显示给最终用户计算成员的定义将存储起来,而它们的值则只存在于内存中可以使用计算成员生成器创立计算成员使用计算单元可以定义一个多维表达式MDX公式,用来为特定单元组中的每个单元提供一个值可选择根据逻辑MDX语句对单元组中的每个单元进行评估,以决定该公式是否适用于该单元组中的特定单元与计算成员一样,计算单元的定义也被存储起来只有当客户端应用程序查询多维数据集时,才评估计算单元的值例如,可以创立计算单元定义,它从基于当前年份实际值的计算结果提供下一年的预测值,但是仅针对特定的客户利产品与计算成员不同,计算单元可能影响多维数据集的特定单元而不是一个整个成员;可以只为整个多维数据集中的单个单元创立计算单元定义可以使用计算单元向导创立计算单元定义4设计存储选项和聚合聚合是预先计算好的数据汇总,由于在问题提出之前已经准备了答案,聚合可以改良查询响应时间例如,当数据仓库事实数据表中包含有数十万行时,如果不得不扫描事实数据表以计算答案,则请求某个特定产品系列每周销售总额的查询需花费很长时间但是,如果用于答复此查询的汇总数据已经预先计算好,则几乎可以立即响应预先计算汇总数据是OLAP技术快速响应时间的基础使用存储设计向导可以迅速简便地为分区设置存储选项和设计聚合有三类存储选项MOLAP,ROLAP,HOLAPo MOLAP是多维OLAP MOLAP将聚合和分区源数据的一个复本存储到分析效劳器计算机中的多维结构中ROLAP是关系OLAP ROLAP将聚合存储在一个关系型结构中,并把分区的源数据保存在它现有的关系型结构中HOLAP是混合OLAP HOLAP将聚合存储到分析效劳器计算机上的多维结构中,并将分区的源数据保存在它现有的关系型结构中在设计多维数据集时,必须保持聚合表的存储需要与查询速度和查询性能之间的平衡能到达此平衡关系的方法有三种
1.设置存储空间大小并确定存储哪个聚合该方法在存储空间有限时十分有效
2.设置所需的性能提升百分比,使必要的聚合表可以按其所需占用存储空间
3.观察〃性能与大小〃图表的增长,手工确定最正确平衡关系5设计分区分区即是进行管理大的多维数据集的强大而灵活的工具例如,某个包含销售信息的多维数据集可以含有一个存储过去每一年数据的分区和四个针对当年每一季度的分区在年末这四个针对季度的分区可以合并成一个单独的针对全年的分区每个多维数据集都至少有一个用于包含该多维数据集数据的分区;当定义多维数据集时,将自动为其创立一个分区为多维数据集创立新分区时该新分区就添加到多维数据集已有的分区集合中多维数据集反映了其所有分区所包含的组合数据可以使用不同的选项组合方式存储分区,这些选项涉及源数据位置、聚合、数据位置、存储模式和聚合设计这种灵活性使您得以按照需要设计多维数据集的存储策略可以通过多维数据集下的分区工程,按照向导设计分区图
13.10存储设计向导4创立虚拟多维数据集虚拟多维数据集是一个逻辑多维数据集内多个多维数据集的组合,为多维数据集提供了一个视图,通过限制局部用户查看基础多维数据集时的访问权限,虚拟多维数据集可以提供很有意义的平安性功能由于虚拟多维数据集只存储其定义,而不存储其组件多维数据集的数据,因此,它们实际上不需要物理存储空间在创立虚拟多维数据集时,需从基础组件多维数据集的维度和度量值的合并集合内选择度量值和维度最终用户所看到的该虚拟多维数据集是一个多维数据集可以通过向导创立虚拟多维数据集,在创立虚拟多维数据集后,必须首先对其进行处理,然后才能通过客户端应用程序进行浏览处理虚拟多维数据集将建立起指向其基础多维数据集内所指定的维度和度量值的内部链接
13.3SQLServer数据仓库访问与操纵
13.
3.1多维数据集浏览器Analysis Manager提供多维数据集浏览器,使用这个工具可以查看多维数据集中的数据,使您能方便、快捷地访问多维数据集数据多维数据集浏览器使您得以快速地以平面二维网格格式浏览多维数据右击已处理过的多维数据集,然后单击〃浏览数据〃命令,即可显示多维数据集浏览器(见图
13.11多维数据集浏览器)在浏览多维数据集数据时,可以查看不同的维度,深化到各个成员,以及对维度进行切片图
13.11多维数据集浏览器。
个人认证
优秀文档
获得点赞 0