《第03章数据仓库设计开发应用剖析课件.ppt》由会员分享,可在线阅读,更多相关《第03章数据仓库设计开发应用剖析课件.ppt(74页珍藏版)》请在三一办公上搜索。
1、数据仓库与数据挖掘,第03章 数据仓库设计开发应用,第03章 数据仓库设计开发应用,3.1 数据仓库设计的特点3.2 数据仓库系统开发过程3.3 数据仓库系统的规划3.4 数据仓库的设计3.5 数据仓库的实施3.6 数据仓库系统的开发3.7 数据仓库系统的应用,2,3.1 数据仓库设计的特点,1、“数据驱动”的设计(1)数据仓库是从已有数据出发的设计方法,即从数据源抽取数据,经转换形成面向主题,支持决策的数据集合。(2)以全面了解并利用现有数据为出发点。尽可能地利用已有的数据和编码等,而不可能“无中生有”地产生数据和编码。2、“分析驱动”的设计(1)是从决策分析需求出发的设计。(2)从已有数据
2、源出发,按照决策分析主题对数据源中数据及其之间的联系重新考察,并重新组织形成数据仓库分析需要的主题数据。,第 3 页,3.1 数据仓库设计的特点,3、“需求模糊”的设计数据仓库设计的数据分析处理需求更加灵活,也没有固定的模式,有时用户自己对所要进行的分析处理也不能事先确定。数据仓库的分析需求在设计初期往往是模糊或不明确的,通常只有在数据仓库设计过程中,或后来数据仓库的决策支持过程中逐渐明确。4、“螺旋周期”的设计 数据仓库系统的开发是一个动态反馈启发式的循环过程,也称为螺旋上升的周期性开发过程,即“螺旋周期”。用户在使用数据仓库进行决策过程中,不断提出新的决策分析需求,增加新的主题,进入新一轮
3、的设计周期,数据仓库进一步完善,为用户提供更准确、更有效的决策信息。,第 4 页,3.2 数据仓库系统开发过程,数据仓库系统的开发过程的5个时期:规划时期、设计时期(需求分析、概念设计、逻辑设计、物理设计)、实施时期、开发时期和应用时期。,第 5 页,3.2 数据仓库系统开发过程,1、规划时期(1)对建立数据仓库系统进行必要性、可行性、甚至不可行性分析。(2)对不可行的项目提出取消数据仓库建设的建议,对可行的数据仓库项目提出全面的开发规划。2、设计时期(1)决策需求调查、数据仓库环境分析,数据仓库开发需求确定;(2)各种模型的建立,包括多维数据模型、星型模型、雪花模型和物理模型等,特别是数据源
4、的属性列与数据仓库目标列的映射关系等,并根据选择的数据仓库管理系统,完成相应的物理设计。,第 6 页,3.2 数据仓库系统开发过程,3、实施时期根据逻辑阶段设计结果创建一个数据仓库文件,及其有关的事实表和维度表;为数据仓库中的每一个目标列确认数据抽取、转换与加载的规则,开发或者购买用于数据抽取、数据转换以及数据合并的中间件;将数据从现有系统(数据源)中装载到数据仓库之中并对数据仓库进行测试。,第 7 页,3.2 数据仓库系统开发过程,4、开发时期 开发一系列对数据仓库进行查询、分析和挖掘的决策支持工具,建立基于数据仓库的决策支持应用平台。5、应用时期对数据仓库的用户进行培训、指导;将数据仓库投
5、入实际应用,充分发挥数据仓库在决策中支持效果;在应用中不断改进和维护数据仓库;对数据仓库进行评价,提出新的决策需求,为数据仓库下一循环的设计开发提供依据。,第 8 页,3.3 数据仓库系统的规划,1、规划的必要性:数据仓库系统的规划工作对一个企业或部门的发展都可能产生深远的影响。2、实施规划工作(1)由系统的建设单位(投资方)和用户合作完成,可以聘请数据仓库系统设计开发方面的专家来指导建设单位完成;(2)将整个规划任务委托在数据仓库系统设计和开发方面有资质的咨询公司负责完成(政府部门和事业单位常用这种方式),但投资人和用户也必须参与其中。,第 9 页,3.3 数据仓库系统的规划,3、规划的任务
6、:建立数据仓库系统的必要性、可行性、甚至不可行性分析。对可行的系统确定建立数据仓库系统的总体目标,包括可靠性和安全性等方面的设想,并制定数据仓库设计与实施计划。(1)确定开发目标和实现范围:数据仓库使用部门、使用人员和使用目的?在为用户提供决策支持时,决策主题需要哪些数据源以及需要什么工具来访问?数据仓库项目设计开发的起止时间,甚至资金预算。,第 10 页,3.3 数据仓库系统的规划,(2)确定数据仓库系统体系结构 虚拟数据仓库:决策支持功能直接在事务处理数据库上实现。单纯数据仓库:从数据源中抽取、转换和加载到一个统一的数据仓库之中,各部门的查询和分析功能都从这个统一的数据仓库中进行。单纯数据
7、集市:一个部门使用的数据仓库,因为企业中的每个职能部门都有自己的特殊管理决策需要,而统一的数据仓库可能无法同时满足这些部门的特殊要求。完整数据仓库:数据仓库从企业各种数据源抽取数据,部门数据集市从企业数据仓库中获取数据。适合各部门都对数据仓库应用感兴趣的企业。,第 11 页,3.3 数据仓库系统的规划,3、确定数据仓库系统应用结构用户角度:系统的功能大致可以分为前端显示和后端处理两部分。软件开发人员的角度:系统功能应该将其分为数据管理、事务控制、应用服务和用户界面(表达逻辑)等四大部分。系统应用结构:系统四大功能在客户端和服务器之间进行划分的一种方式,每一种划分就称为一种应用结构(Applic
8、ation architecture)。(1)集中结构:一个主机带多个终端的多用户数据仓库系统应用结构。系统的数据源、ETL、数据仓库、数据集市、DWMS、应用工具及其客户端程序全部在主机上运行,终端仅具备基本的输入和输出功能。,第 12 页,3.3 数据仓库系统的规划,(2)两层结构:客户机/服务器结构(Client/Server),简称C/S结构。数据仓库系统的数据源、ETL、数据仓库、数据集市、DWMS等集中在主机上运行,客户机负责应用工具、客户端程序以及数据的输入输出功能。浏览器/服务器结构(Browser/Server),简称B/S结构。数据源、ETL、数据仓库、数据集市、DWMS以
9、及应用工具等集中在服务上运行,客户机通过URL(Uniform Resource Locator)向Web服务器提出服务请求,Web服务器将服务内容传送给客户机,并显示在浏览器上。,第 13 页,3.3 数据仓库系统的规划,(3)三层结构在两层结构基础增加应用服务器一层。鉴于三层C/S结构仍然存在两层C/S结构的缺点,实际应用中主要采用三层B/S结构。三层B/S结构把数据仓库系统的四大功能分为三个层次。表示层:客户机的浏览器负责表达逻辑并与用户交互(客户机)功能层:Web服务器及其应用扩展,实现应用服务(称为应用层)。数据层:数据仓库服务器 负责数据管理和事务控制.,第 14 页,3.3 数据
10、仓库系统的规划,(4)多层结构 多层结构是在三层结构基础之上发展起来的数据仓库系统应用结构。在这种结构中,一般是根据系统应用规模,将图4-4所示的功能层分为两层(图3-5)或者更多层。它将功能层Web服务器中的应用服务功能分离出来放在不同的服务器上运行,可以使Web服务器专注于响应用户的Web服务请求,而应用服务器专注于应用服务功能的实现,以增加系统的灵活性和适应性。,第 15 页,3.3 数据仓库系统的规划,4、确定数据仓库项目预算数据仓库的设计开发具有需求模糊,螺旋周期的特点,但可以根据决策使用部门、使用人数、基础软件和硬件平台、以及数据仓库设计开发等所需费用,对数据仓库系统开发方案预算进
11、行粗略的宏观估计。5、编写可行性分析报告和规划纲要在完成数据仓库规划后,应写出详尽的可行性分析报告,编制数据仓库系统规划纲要,内容包括数据来源、数据范围、人力资源、设备资源、软件及支持工具资源、开发成本估算、开发进度计划等。,第 16 页,3.3 数据仓库系统的规划,6、评审可行性分析报告和规划纲要由决策部门的领导组织召开有数据仓库专家、决策部门负责人、决策分析人员以及其他行政领导参加的评审会,对其进行评价。如果评审认定该系统规划可行,应立即成立由企业主要领导负责的数据仓库设计开发领导小组,以便协调各个部门在数据仓库系统建设中的关系,保证系统开发所需的人力、物力和财力,保证设计开发工作的顺利进
12、行。如果需要的话,应同时对外发表项目招标公告。,第 17 页,3.4 数据仓库的设计,包括需求分析、概念设计、逻辑设计和物理设计四个阶段,其设计工作一般由项目中标的软件企业负责完成。项目的投资方和用户通常需要密切配合软件企业的需求调查和设计工作,以确保设计结果符合投资方和用户的决策分析需求。3.4.1 需求分析1、需求调查(1)需求调查目的:了解企业决策的主题需求以及支持这些主题的数据来。(2)需求调查对象:企业或事业单位的中高层管理者以及决策分析人员。,第 18 页,3.4 数据仓库的设计,(3)需求调查过程:围绕数据仓库的开发目标,实施范围,询问或征集他在管理决策中最关心问题:你每天(周/
13、月)最需要知道哪些统计数据,是否还需要客户、城市等其它统计数据;你经常参阅或使用的统计分析图表有哪些,每张图表通常在什么时间使用,所有这些统计图表需要哪些部门的数据等,同时把企业工作中使用的这些统计分析图表收集起来,作为需求分析的原始资料。(4)需求调查方法:个别交谈,也可以是小型会议,还可以预先设计一份调查问卷,并分发给有关人员填写后收回。,第 19 页,3.4 数据仓库的设计,2、分析整理(1)确定主题:明确哪些主题对于企业决策是最有价值的?用户希望从哪些角度(维度)观察每一个主题?(2)确定数据源:哪些数据源(操作型)与决策主题有关?数据源中哪些数据列与决策主题有关?决策主题需要怎样的数
14、据细节程度?(3)估计数据量:根据主题需要的数据源行数、属性列数来估计数据仓库的数据总量大概有多少。(4)确定抽取频率:决策支持所需的数据增量抽取的频率是多少,是每小时、每天还是每周?(5)确定关键性能指标:数据仓库查询分析有哪些关键的性能指标?如何评价和监控这些关键指标?数据仓库的预期用途在哪些方面?对规划中的数据仓库重点要考虑什么?,第 20 页,3.4 数据仓库的设计,(6)需求说明 在需求调查和分析整理基础上,依据一定的规范撰写需求分析说明书。其主要内容有:1)数据源:包括数据源的数据结构,数据源的位置,数据源的计算机环境,可用的历史数据,数据抽取方案;2)数据转换:数据仓库中的数据为
15、决策分析服务,而数据源所在系统的数据为业务处理服务,因此,需求说明书需要描述如何正确地将这些数据源转换成适合数据仓库存储的数据;3)数据存储:数据仓库所需数据的详细程度,即数据所在维的最低层次,还包括关于存储需求足够的信息,估计数据仓库需要多少历史和存档数据。,第 21 页,3.4 数据仓库的设计,例3-1:某市警务数据仓库系统1、需求调查(1)最近几天或者一周,在指定派出所或公安分局辖区内宾馆住宿的旅客主要从哪些地区而来;(2)有没有犯罪前科人员,他们所犯前科类型是什么(大类、小类还是子类)?(3)住宿的人次,平均住宿天数等;(4)以上问题还可能是以小时为单位的查询,比如周六晚上11点至凌晨
16、2点之间辖区内的宾馆入住人员数量等。(5)数据来源于6个不同的数据库应用管理系统:户籍管理系统(称为常住人口),暂住人口管理系统,酒店客房管理系统、治安管理应用系统、辖区旅馆基本信息管理系统等。,第 22 页,3.4 数据仓库的设计,2、分析整理(1)确定主题:警务数据仓库的首个主题,并将其命名为“入住”,并用Hotel作为别名。主题涉及的事实有“入住人次”和“入住天数”等。相关的维度主要是入住宾馆的“人员”,“时间”和所入住的“宾馆”。旅客的来源地,可以从人员的户口所在地或籍贯信息获得,而旅馆所属治安管理的辖区从旅馆基本信息的所属派出所地址信息中找到。,第 23 页,3.4 数据仓库的设计,
17、(2)确定数据源:根据确定的主题和警务信息管理处提供的可用原始数据库,我们确定了主题所需的数据源有8张基本表。虽然它们分别来自不同的应用系统,但为了教学方便,我们将它们统一放在一个名为OLTPHotel的数据库中。旅馆数据源表LGXX,共有65个属性描述旅馆的名称、电话、地址等基本信息。常住人口数据源表CZRK,共有128个属性描述常住人口的身份证号、姓名、性别等公民基本信息。,第 24 页,3.4 数据仓库的设计,暂住人口数据源表ZZRK,共有98个属性描述暂住人口的暂住证号、身份证号、姓名、性别等暂住人员基本信息。犯罪类型数据源表FZLX,共有18属性描述我国刑法规定的犯罪类型,有大类、小
18、类、子类和具体罪行名称等。所属辖区数据源表SSXQ,共有12个属性描述了旅客或暂住人口户口所在的省市县名称等基本信息。派出所数据源表PCS,共有10个属性描述了派出所的名称、编码、地址等基本信息。人员前科数据源表SSXQ,共有8个属性描述了犯罪人员的身份证号、犯罪类型和时间等基本信息。,第 25 页,3.4 数据仓库的设计,表3-1 旅馆和常住人口数据源,第 26 页,3.4 数据仓库的设计,表3-2 旅馆入住和暂住人口数据源,第 27 页,3.4 数据仓库的设计,表3-3 犯罪类型与所属辖区数据源,第 28 页,3.4 数据仓库的设计,表3-4 派出所与人员前科数据源(3)确定抽取频率由于决
19、策分析查询经常需要最近几天或一周的统计数据,因此,我们将旅客宾馆入住数据的抽取工作,设计为每天执行一次抽取。,第 29 页,3.4 数据仓库的设计,3.4.2 概念设计 概念模型设计任务:将需求分析阶段确定的各个主题,转换为概念数据模型表示,并为这些主题的逻辑数据模型设计奠定基础。计主要有如下3个步骤。(1)设计每个主题的多维数据模型,包括事实和维度名称;(2)设计每个维的层次及其名称;(3)设计每个主题的元数据,包括事实、维度等的类型、长度等;,第 30 页,3.4 数据仓库的设计,3.4.2 概念设计 例3-2 请根据例3-1需求分析结果,完成警务数据仓库“入住”主题的概念设计。解:按照概
20、念设计的步骤分别设计如下。1、设计多维数据模型 根据例3-1的需求调查和分析结果,我们可以设计“入住”主题的多维数据模型如下:入住(人员,时间,宾馆;入住人次,入住天数)因入住人次可以通过入住天数计算获得,即只要入住天数非零,入住人次的计数为1。得“入住”主题的最终多维数据模型:入住(人员、时间、宾馆;入住天数)。,第 31 页,3.4 数据仓库的设计,2、确定维度层次(1)人员维的层次 人员维度本质上是户口所辖这个地址维度上最底层的维成员,故层次关系设计为:人员区县地市省份国家。(2)时间维的层次 警务查询需要指定小时区间的入住统计,因此时间维度最底层的维成员以小时为单位,这样时间维度的层次
21、有两种情况:小时天月季年。小时天周年。(3)宾馆维的层次旅馆维度是地址所属辖区这个治安维度的最底层维成员,因此,旅馆维度的层次为:旅馆区县地市省份国家。,第 32 页,3.4 数据仓库的设计,3、元数据设计多维数据模型的元数据,主要是多维数据模型中描述维度和事实的属性类型、长度以及取值范围等。在设计时应尽可能的参照数据源中对应属性的类型、长度和取值范围。在一些特别情况下,就需要重新确定属性的类型或长度。例如,人员的性别,它的数据源包括常住人口中的性别(长度为2,取值男、女)和暂住人口(长度为1,取值1,0)和其它地方来本市辖区旅行的人员。虽然性别属性都是字符型,但因为长度不一致,最后将多维数据
22、模型中人员的性别属性设计为字符型,且统一规定长度为1,取值范围1,0。,第 33 页,3.4 数据仓库的设计,3.4.3 逻辑设计 将数据仓库的概念模型转化成具体计算机系统能够支持的逻辑模型,与具体的DWMS所支持的数据模型。概念数据模型表示的数据一般可以方便地转换为逻辑数据模型表示。当前数据仓库大都建立在关系数据仓库管理系统(RDWMS,如SQL Server等)之上,下面介绍RDWMS中的数据仓库逻辑设计。,第 34 页,3.4 数据仓库的设计,3.4.3 逻辑设计(1)选定逻辑模型 每个主题的概念模型为多维数据集,而多维数据集在关系数据库管理系统中可用星形模型或雪花模型表示。逻辑模型设计
23、的第一步:采用星形模型/雪花模型(2)设计维度表的关系模式 设计任务:每个维度表需要的属性(包括主键和外键),属性的类型、长度和取值范围等。雪花模型:就要增加详细类别表的设计,以及这些维度表、详细类别表中属性与数据源中对应属性之间的关系和转换方法。,第 35 页,3.4 数据仓库的设计,(3)设计事实表的关系模式 同样是设计事实表需要的属性、类型、长度和取值范围等,以及它们与数据源中属性之间的对应关系和转换方法。(4)设计详细类别表 如果某个主题的逻辑模型选用雪花模型,则还需要设计详细类别表需要的属性(包括主键),属性的类型、长度和取值范围等,也包括这些属性与数据源中对应表的属性之间的对应关系
24、和转换方法。由于“入住”主题的概念模型为如下的三维数组,即 入住(宾馆、人员、时间;入住天数),第 36 页,3.4 数据仓库的设计,人员维度表的户口属辖是地址信息,宾馆的治安所辖地由派出所地址信息决定,因此可将其从人员维度表和派出所信息表中分解出来形成一个详细类别表,即地址表,并通过“主键-外键”实现地址表与人员维度表的联系,而宾馆则通过与派出所信息表与地址表联系起来。通过以上分析讨论可知,我们选定雪花模型作为“入住”主题的逻辑模型为宜。(2)设计维度表 旅馆维度表,第 37 页,3.4 数据仓库的设计,人员维度表-暂住人口,第 38 页,3.4 数据仓库的设计,人员维度表常住人口,第 39
25、 页,3.4 数据仓库的设计,时间维度表。,第 40 页,3.4 数据仓库的设计,时间维度表。从表3-8可知,时间维表只有原始时间属性与旅馆入住数据源表的入住时间和离店时间有对应关系,其它属性都由入住时间和离店时间派生而得。派生方法就是利用函数DATEPART(”Year”,RZSJ)在入住时间RZSJ中取出年(Year)作为CYear属性,同理取出季(Quarter)、月(Month)、周(Week)、日(Day)、时(Hour)等,分别作为CQuarter、CMonth、CWeek、CDay、CHour属性。同时将CQuarter、CMonth、CWeek、CDay、CHour分别作为T_
26、CQuarter、T_CMonth、T_CWeek、T_CDay、T_CHour变量由它们派生出 DateKey=T_CYear+RIGHT(“0”+T_Month,2)+RIGHT(“0”+T_Day,2)+RIGHT(“0”+T_Hour,2),第 41 页,3.4 数据仓库的设计,(3)设计住宿事实表,第 42 页,3.4 数据仓库的设计,(3)设计住宿事实表居住天数可由入住时间、离店时间计算得到,而入住时间键和离店时间键分别由入住时间、离店时间派生而得。InDateKey=RZ_CYearB+RIGHT(0+RZ_CMonthB,2)+RIGHT(0+RZ_CDayB,2)+RIGHT
27、(0+RZ_CHourB,2)OutDateKey=LD_CYearB+RIGHT(0+LD_CMonthB,2)+RIGHT(0+LD_CDayB,2)+RIGHT(0+LD_CHourB,2),第 43 页,3.4 数据仓库的设计,(4)设计详细类别表,第 44 页,3.4 数据仓库的设计,地址维度表,第 45 页,3.4 数据仓库的设计,入住”主题的逻辑模型雪花模型表示,第 46 页,3.4 数据仓库的设计,3.4.4 物理设计数据仓库在物理设备上的存储结构和存取方法就称为数据仓库的物理结构或物理数据模型(Physical Data Model),它是描述数据仓库在存储介质上组织结构的数
28、据模型,不但与具体的DWMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有其对应的物理数据模型。设计人员必须全面了解所选用的数据仓库管理系统,特别是存储结构和存取方法,了解数据环境,数据的使用频度、使用方式、数据规模以及响应时间要求等,它们都是对时间和空间效率进行平衡和优化的重要依据。设计人员还要了解外部存储设备的特性,如分块原则,块大小的规定,设备的IO特性等。,第 47 页,3.4 数据仓库的设计,1、数据存储结构设计 通常,DWMS提供了多种存储结构供设计人员选用。不同的存储结构有不同的实现方式,各有各的适用范围和优缺点,设计人员应该在综合考虑存取时间、存储空间和维护代
29、价等因素的基础上,确定并选择合适的存储结构。2、数据索引策略设计 设计人员可以考虑对各个数据存储建立专用的、复杂的索引,如位图索引,广义索引,链接索引等,以获得最高的存取效率。数据仓库中的数据很少更新的,每个索引结构都是比较稳定的,一旦建立就几乎不需要再对这些索引进行维护。,第 48 页,3.4 数据仓库的设计,3、数据存放位置设计 数据仓库中,同一个主题的数据并不要求存放在相同的介质上。常常需要按照数据的重要性、使用频率以及对响应时间的要求,将不同类型的数据分别存储在不同的存储设备中。高速硬盘;低速磁带/光盘;镜像/冗余存储提高效率?,第 49 页,3.4 数据仓库的设计,总的来说,在确定数
30、据存放位置时一般应遵循以下几个原则。(1)应该把经常需要连接操作的几张表存放在不同的存储设备上,这样可以利用存储设备的并行操作功能加快数据查询的速度。(2)如果几台服务器之间的连接可能造成严重的网络数据传输负担,则可以考虑在服务器之间复制表格,以减少不同服务器之间因数据连接导致的网络数据传输负担。(3)考虑把整个企业共享的细节数据放在主机或其它集中式服务器上,以提高这些共享数据的使用速度。(4)不要把表格和它们的索引放在同一设备上。可将索引存放在高速存储设备上,表格存放在一般存储设备上,以加快查询速度。,第 50 页,3.4 数据仓库的设计,4、数据存储分配设计 商品化数据仓库管理系统提供了一
31、些存储分配的参数供设计者进行物理优化处理,比如块的尺寸、缓冲区的大小和个数等。例3-4 请考虑例3-1,3-2和3-3对应警务数据仓库的物理结构设计。解:对于教学示范的警务数据仓库,我们仅创建基于主键的聚簇索引,且这个索引由SQL Server 完成。而存储结构、存储位置和存储分配等其它物理结构暂不考虑。,第 51 页,3.5 数据仓库的实施,数据仓库实施时期的任务包括DW创建、数据抽取、数据转换和数据装载等四个阶段。3.5.1 数据仓库的创建根据逻辑设计阶段的结果,创建一个数据库文件,并在其中创建事实表、维度表以及详细类别表结构(没有任何数据记录),同时根据物理结构设计结果完成存储位置、存储
32、分配等物理参数设置,等待数据抽取、数据转换直到完成数据的装载。,第 52 页,3.5 数据仓库的实施,例3-5 试根据例3-3和3-4的设计结果创建警务数据仓库。解:根据例3-3和3-4的设计结果,我们以Windows 身份验证登录SQL Server2008 R2的数据库引擎服务器,并在SSMS环境中创建数据仓库HuangDW_Hotel,具体创建步骤如下。1、创建数据仓库名称HuangDW_Hotel2、创建维度表 按照以下顺序分别创建DimDate,DimCaseType,DimAddress,DimPolice,Dimpeople和DimHotel等6张维度表。,第 53 页,3.5
33、数据仓库的实施,(1)创建时间维度表DimDate维度表的SQL命令。CREATE TABLE DimDate(DateKey nchar(10)PRIMARY KEY,FullDateTime smalldatetime NULL,CYear smallint NULL,CMonth tinyint NULL,CDay tinyint NULL,CQuarter tinyint NULL,Cweek tinyint NULL,CHour tinyint NULL),第 54 页,3.5 数据仓库的实施,(2)创建前科类型表DimCaseType维度表的SQL命令。CREATE TABLE D
34、imCaseType(CrimeKey nchar(6)PRIMARY KEY,LaregeClassName nvarchar(100)NULL,SmallClassName nvarchar(100)NULL,SubClassName nvarchar(100)NULL)(3)创建地址表DimAddress维度表的SQL命令。CREATE TABLE DimAddress(AddressKey nchar(9)PRIMARY KEY,ProvinceKey nvarchar(2)NULL,.),第 55 页,3.5 数据仓库的实施,3.5.2 数据抽取转换加载 在图3-9中单击数据仓库名称
35、HuangDW_Hotel前面的“+”号并逐层展开,我们可以看到已经创建的6张维度表和1张事实表(图3-10),只是这7张表中没有任何记录。下面的工作就是配置数据抽取、转换和装载(Extraction-Loading-Transformation,ETL)包,也称为SSIS包或ETL包,使其能够完成从事务数据库OLTPHotel中抽取数据,经转换后加载到HuangDW_Hotel这个数据仓库之中。鉴于使用SQL Server的商业智能工具配置ETL包的方法应用性很强,但配置过程比较复杂且篇幅较长,因此,在第4章详细介绍。,第 56 页,3.6 数据仓库系统的开发,3.6.1 开发任务 其任务就
36、是要开发查询类,验证型和发掘型三大类型的数据仓库访问工具,统称为决策支持工具。1、查询类工具(1)数据仓库的工具虽然是以分析工具为主,但查询类工具(Query Tool,QT)仍然是其重要组成部分。(2)数据仓库的查询工具很少是对记录级数据的查询,而几乎都是对分析结果,如广义索引中的统计数据,或者发展趋势、模式总结等的查询,其主要用户为企业中高层领导或决策者。,第 57 页,3.6 数据仓库系统的开发,2、验证型工具(1)验证型工具也称为分析型工具(Analysis Tool,AT),一般是用户自己对数据仓库数据有某种假设或期待,然后利用各种分析工具通过反复的、递归的统计查询以验证或否定自己的
37、假设,即从数据仓库中发现某种事实。(2)多维分析工具就是一种验证型工具。它通过对数据的多种可能的观察角度(时间、地域和业务等)进行快速,一致和交互的存取,以对数据进行深入地分析和观察。(3)联机分析处理(On Line Analysis Processing,OLAP)是一种基于多维数据模型的数据分析处理技术。,第 58 页,3.6 数据仓库系统的开发,(3)基于OLAP技术的数据分析程序就是一种多维分析工具,也称为联机分析处理工具或OLAP工具。它通过OLAP服务器,将来源于关系型数据库或其它应用系统的数据抽取和转换为多维数据集,并对其包括切片、切块、旋转、下钻、上卷等多维分析处理。(4)当
38、数据仓库成功建立后,意味着OLAP再也无需自己劳神抽取和转换数据,只要围绕数据仓库直接创建多维数据集,即可完成各种多维数据分析处理功能,并为企业领导提供决策支持。(5)多维分析工具或OLAP工具的使用是一个人机交互过程,即在数据分析处理的每一步都需要用户的“指导”,或者输入分析参数,或者做出某种选择后再进行下一步的分析处理。(5)OLAP技术的相关知识将在第5章介绍。,第 59 页,3.6 数据仓库系统的开发,3、发掘型工具(1)发掘型工具也称预测型工具,它可在没有用户指导或有少量指导的情况下,从数据中发现潜在而新颖的模式,预测趋势和经营行为。(2)数据挖掘(Data Mining,DM)是典
39、型的发掘型工具,它是从大型数据库中提取隐藏的预测性信息的一种技术。(3)DM与验证型工具不同,数据挖掘是一种展望和预测型工具,它能挖掘出数据间潜在的模式,为企业提出具有前瞻性的、基于知识的决策信息。(4)数据挖掘工具都依赖某种数据挖掘算法,如关联规则、分类规则、聚类分析、时序规则或离群点挖掘算法等。第9章-第14章介绍。,第 60 页,3.6 数据仓库系统的开发,4、三类工具的关系查询工具、验证型工具、发掘型工具是数据仓库应用工具的三个重要方面,它们各自具有不同的侧重点,适用的范围和针对的用户也各不相同。查询工具属于表面层次的工具验证型工具处于较浅的层次而发掘型工具则是深层次的分析挖掘工具(3
40、)三类工具相互补充,完美结合可是DW更好地发挥决策支持功能。,第 61 页,3.6 数据仓库系统的开发,3.6.2 开发方法 数据仓库访问工具的开发一般有三种途径。1、使用商品化开发平台 比如,使用SQL Server的分析服务等开发平台配置数据仓库访问工具。开发人员只要求做少量的配置工作或者少量的开发工作,即可让用户访问已经建成的数据仓库。但这种商品化的开发平台,缺乏灵活性,对一些查询分析过程复杂的访问工具开发,就显得能力不足,甚至难于实现。,第 62 页,3.6 数据仓库系统的开发,2、使用程序设计语言 利用某种高级语言或Web程序设计语言,开发用户访问数据仓库的程序或应用工具,具有相当的
41、灵活性和较强的应变能力。其访问工具能让用户方便地通过鼠标操作,或输入少量参数,即可实现对数据仓库的访问,完成查询、分析和挖掘等数据分析任务。3、综合使用两种途径 因为商品化开发平台可能无法完成一些复杂的访问工具,这时就需要结合程序设计语言来开发部分复杂的功能,并集成为一个完整的数据仓库访问工具。,第 63 页,3.6 数据仓库系统的开发,3.6.3 系统测试 在完成访问工具开发工作之后,需要对数据仓库系统进行全面的测试,其测试工作主要包括单元测试和系统集成测试两个方面。1、单元测试 当数据仓库系统访问工具的每个独立单元模块完成后,需要立即对它们进行单元测试,以查找存在于每个单元模块程序中的错误
42、。2、集成测试 在完成单元测试之后,需要进行数据仓库的集成测试。以检查每个单元模块与数据仓库系统和子系统之间的接口是否完好,是否能够正常传递数据和完成系统的整体功能。,第 64 页,3.7 数据仓库系统的应用,3.7.1 用户培训(1)培训目的:使用户熟练地应用数据仓库系统并为企业管理决策提供支持。(2)素质要求:参加培训的人员,应该具有一定的计算机使用技能。(3)培训准备:选择一个完整的数据仓库主题数据作为培训案例,演示数据仓库系统的统计报表、OLAP分析以及数据挖掘等功能,理解统计报表和OLAP分析结果对管理决策的支持作用。(4)原理讲解:向用户较详细地介绍数据仓库的概念、多维分析概念和数
43、据仓库的数据源;培训用户了解数据仓库中所有查询工具、分析工具与挖掘工具的类型,以及利用这些工具获得报表以及分析结果的方法。,第 65 页,3.7 数据仓库系统的应用,3.7.2 决策支持 用户利用数据仓库系统开发时期完成的决策支持工具,对数据仓库进行查询统计、OLAP分析和数据挖掘,并将其统计分析或挖掘结果提供给企业高层领导决策参考的过程。1、决策的查询支持 以警务数据仓库系统为例,可以回答决策者关心的如下问题。(1)哪个旅馆/辖区当天的入住人数最多?(2)每个旅馆每月前科人员的入住量?(3)各类前科人员在不同旅馆的入住时间长短?(4)各类前科人员入住、离开的高峰时间是哪个时间段?(5)某个时
44、间段哪个旅馆入住率最高?(6)哪个旅馆前科人员入住率有上升趋势?,第 66 页,3.7 数据仓库系统的应用,2、决策的多维分析支持利用OLAP多维分析工具,可以对数据仓库历史的或当前细节的数据,按照多个维度进行不同粒度的统计分析。以警务数据仓库为例,多维分析可以回答许多粒度分析结果。(1)对以时间、来源(省)、辖区(地市)的三维数据,可以回答“某个月某个省份在某个市辖内旅馆的入住人次”(2)如果按来源将其进行下钻分析处理,可以得到“某个月某个地市在某个辖区旅馆的入住人次”(3)如果按时间将其进行下钻分析处理,可以得到“某一旬某个省份在某个辖区旅馆的入住人次”或者“某一日某个省份在某个辖区旅馆的
45、入住人次”,第 67 页,3.7 数据仓库系统的应用,3、决策的预测性支持 利用数据仓库开发时期完成的发掘型工具,从数据仓库数据中发现潜在而新颖的模式,或发现企业经营的问题并找出其原因,为企业提出具有预测性的、基于知识的决策信息。利用某种发掘型工具,如利用离群点检测工具,可以检测出某个酒店某天有异常人员入住(需要重点排查),或根据某地区或某旅馆某时段的异常人员入住情况,预测该地区某类案件可能发生;利用关联规则挖掘和分类规则工具,可以分析案发地点和旅馆入住地点的关联关系,预测某旅馆有重点人员入住时,某类案件发生的范围。,第 68 页,3.7 数据仓库系统的应用,3.7.3 维护评估 在数据仓库应
46、用时期,不仅要适应数据仓库不断增长的现实,而且还要对数据仓库进行评估和维护。1、数据仓库评估(1)投资回报分析主要包括定量分析和定性分析。定量分析主要指收益与成本的比率;定性分析主要指企业与客户之间关系状态是否有所改善?即对外界变化的反应能力、企业管理能力是否有所增强等?(2)数据质量评估,就是要对数据仓库数据的准确性、完整性和一致性进行评估。如数据是否符合它的类型要求和取值要求,数据是否具有完整性和一致性,数据保持时效性并且不能出现异常。,第 69 页,3.7 数据仓库系统的应用,3.7.3 维护评估 在数据仓库应用时期,不仅要适应数据仓库不断增长的现实,而且还要对数据仓库进行评估和维护。1
47、、数据仓库评估(3)系统性能评定主要包括硬件平台是否能够支持大数据量的工作和多类用户、多种工具的大量访问需求?软件平台能否用一个高效或优化的方式来组织和管理数据?系统是否适应数据和处理的扩展需求?(4)系统功能评估主要包括两个方面,一是系统现有的功能是否达到项目规划时的预期目标,二是系统能否满足当前的决策支持需要。,第 70 页,3.7 数据仓库系统的应用,2、数据仓库维护(1)日常性维护 包括数据仓库的备份和恢复工作,保证系统出现故障或灾难时,可利用备份数据可以很快地将数据仓库恢复到正常的状态。随着时间的推移,要定期将数据源中新增的数据添加到数据仓库中来,还要不失时机地删除时间过于久远的、没
48、有利用价值的数据。,第 71 页,3.7 数据仓库系统的应用,2、数据仓库维护(2)适应性维护 主要针对数据仓库数据质量、功能评估和系统性能结果对其进行适应性维护。对数据仓库数据进行规范整理以提高数据质量;取消某些细节数据和无用的汇总数据查询功能,增加实用的汇总数据查询功能;找出影响数据仓库性能的来源,并对数据仓库进行调整以提升系统性能。(3)增强性维护 由于数据仓库建设初期可能存在尚未完成的决策分析主题,或者用户在数据仓库的使用过程中,由于对数据仓库的决策价值有了更深的理解,又提出了更多的决策分析主题。即进入数据仓库新一轮的生命周期,完成对新决策主题的规划、设计、实施、开发和应用等任务。,第 72 页,作业与思考,1、什么是决策驱动设计?2、数据仓库系统开发需要经历哪几个时期?3、数据仓库设计时期的主要工作有哪些?4、数据库设计与数据仓库设计有什么区别(相同点和不同点)?5、数据仓库系统的三层应用结构指哪三层?,73,谢 谢!,