北理工珠海学院计算机科学技术学院第一讲数据仓库系统的设计与实现姓名:陈令江QQ:453579383电话:13570611456Email:chenlingjiang@gmail.com内容1、数据仓库系统设计概述2、业务系统数据库设计方法3、数据仓库系统设计方法5、使用SQLServer2005建立多维数据模型6、开源数据仓库工具介绍数据仓库4、数据仓库设计实例1.1数据仓库系统的建设过程收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库1.1.1收集和分析业务需求收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库在数据仓库环境中,用户大多是企业或事业组织的中上层管理人员,他们对决策分析的需求不能预先做出规范说明。他们经常对开发人员说:“让我看看能得到什么,然后我才能告诉你我真正需要什么”。因此,数据仓库应该在海量的数据中为用户提供有用、及时、全面的信息,以帮助用户做出正确的决策。1.1.2建立数据模型收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库建立数据模型和数据仓库的物理设计。通过设计数据仓库的概念模型、逻辑模型、物理模型,可以得到企业或事业数据的完整而清晰的描述信息。数据仓库的核心内容包括组织的各个主题域、主题域之间的联系、描述主题的码和属性组等。1.1.3定义数据源收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库定义数据源。也叫做定义记录系统,往往会形成一个操作型数据的存储区(ODS)。它主要解决如下两方面的问题:一、各个业务系统的数据都是面向应用的,不能完整的描述企业中的主题域;二、多个数据源的数据之间存在着许多不一致,如命名、结构、单位等;记录系统具有如下特点:1)结构最适合于数据仓库;2)与外部数据源最为接近;1.1.4选择技术和平台收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库技术和平台选型对数据仓库来说非常重要,一旦选定,在实施完成后很难改变,平台及技术的切换成本非常高,所以,选型一定要充分重视和高度谨慎。1.1.5数据抽取收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库从操作型数据库中抽取、清洗及转换数据到数据仓库中。详细参见第一讲ETL部分。1.1.6选择访问工具收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库根据用户的具体情况、分析需求以及数据量大小等因素,选择各种访问工具,如报表工具、分析工具,仪表盘等。1.1.7更新数据库收集和分析业务需求建立数据模型定义数据源选择技术和平台抽取数据选择访问工具更新数据库确定数据仓库的更新策略,开发或配置数据仓库更新子系统,实现数据仓库数据的自动更新。1.2数据仓库系统的生命周期数据仓库系统的生命周期规范与需求分析用户评价与反馈系统安装与测试数据填充与调试中间件开发数据的ETL处理数据库与元数据体系结构设计逻辑模型概念模型系统维护系统上线应用分析维护实施设计1.2.1生命周期为螺旋上升模型1.3数据仓库系统的建设方法自顶向下(top-down)自底向上(bottom-up)1.4数据仓库系统的设计步骤概念模型设计业务需求物理模型设计逻辑模型设计收集、分析和确认将需求模型转为关系模型由关系模型转为存储模型常用方法:信息包图法关键任务:分析和理解数据仓库中的主题常用方法:星形图法关键任务:事实表与维度表的设计,包括事实、粒度、聚合与分割、维度等问题的确定常用方法:关系表(通用数据库物理设计法)关键任务:物理数据库表及其存储结构设计面向用户的需求详细的技术细节有反复的逐步设计过程内容1、数据仓库系统设计概述2、业务系统数据库设计方法3、数据仓库系统设计方法5、使用SQLServer2005建立多维数据模型6、开源数据仓库工具介绍数据仓库4、数据仓库设计实例2.1数据库的设计步骤数据库设计的好,可以减少数据存储量,提高数据的完整性和一致性。数据库的设计一般分四步:1、概念模型的设计2、逻辑数据库的设计3、规范化理论的应用4、物理数据库的设计2.1.1概念模型设计概念模型设计的描述最常用的工具是E-R图,具体步骤如下:1.确定实体;2.确定实体的属性;3.确定实体的主键;4.确定实体间的联系类型;5.画出E-R图;编号姓名性别学历职称教师讲授课程m教师n教师1系部聘任n2.1.1概念模型设计(整体ER图)mnn11n系部学院设置nm1n1课程聘任教师讲授选修n班级有有学生2.1.2逻辑模型设计将概念模型转换成数据库管理系统所支持的数据模型。如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式。学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介)系部(系部编号、学院代码、系部名称、主任、地址、电话、专业介绍)教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、E-mail、照片)班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号)学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号)2.1.3规范化理论实施在逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。规范化理论的目的就是设计好的关系模式。2.1.3.2规范化理论的基本概念(一)1.函数依赖•设在关系R中,X、Y为R的两个属性子集,如果每个X值只有一个Y值与之对应,则称属性Y函数依赖于属性X;或称属性X惟一确定属性Y,记作X→Y。•如果X→Y,同时Y不包含于X,则称X→Y是非平凡的函数依赖。2.1.3.2例子如果每个X值只有一个Y值与之对应。S2钱尔182C770SNOSNAGEXFCNOSCORES1赵亦173C190S1赵亦172C285S2钱尔183C157S2钱尔183C680XYXYXY2.1.3.2规范化理论的基本概念(二)2.完全函数依赖设在关系R中,X、Y为R的两个属性子集,若X→Y,且对于X的任何一个真子集X’,都有X’→Y,则称Y完全函数依赖于X。若X’Y,则称Y部分函数依赖于X。S2钱尔182C770SNOSNAGEXFCNOSCORES1赵亦173C190S1赵亦172C285S2钱尔183C157S2钱尔183C680XYXY2.1.3.2规范化理论的基本概念(三)3.传递函数依赖•设在关系R中,X、Y、Z为R的三个属性子集,若X→Y,Y→Z,且X不依赖于Y,则称Z传递函数依赖于X。学号姓名院系编号院系名称院系地址01004张辉春01计算机学院科教楼三层02001陈玉茜01计算机学院科教楼三层02002张一燕03会计学院科教楼十一层XYZ2.1.3.3第一范式第一范式(FirstNormalForm)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。每个规范化的关系都属于1NF,这也是它之所以称为“第一”的原因。编号姓名电话家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕6789123482334212编号姓名家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕67891234823342122.1.3.3第二范式定义如果关系模式R1NF,且每个非主属性都完全函数依赖于任意一个侯选关键字,则称R属于第二范式,简称2NF,记作R2NF。学号课程号成绩学分01002C176401002C288502002C190402002C286502002C393405007C3964带来问题的原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。2.1.3.3解决方法96C30500793C30200286C20200290C10200288C20100276C101002成绩课程号学号3计算机绘图C63大学美育C54大学物理C44英语C35计算机文化基础C24高等数学C1学分课程名课程号解决方法:将关系模式进一步分解2.1.3.3第三范式定义如果关系模式R2NF,且每个非主属性都不传递依赖于R的任何候选关键字,则称R属于第三范式,简称3NF,记作R3NF。如果R3NF,则R也是2NF。如果R2NF,则R不一定是3NF。2.1.3.3解决方法学号姓名院系编号院系名称院系地址01004张辉春01计算机学院科教楼三层02001陈玉茜01计算机学院科教楼三层02002张一燕03会计学院科教楼十一层03张一燕0200201陈玉茜0200101张辉春01004院系编号姓名学号科教楼二层经济学院02科教楼十一层会计学院03科教楼三层计算机学院01院系地址院系名称院系编号2.1.4物理模型设计学院学院代码学院名称学院电话学院地址院长姓名学院简介系部系部编号学院代码(FK)系部名称系部地址系部主任系部电话教师教师编号系部编号(FK)姓名性别学历职称班级班级编号系部编号(FK)班级名称班长联系电话学生学号班级编号(FK)姓名性别出生年月籍贯教师授课教师编号(FK)课程编号(FK)授课时间授课地点学年学生选课学号(FK)课程编号(FK)学期学年成绩课程课程编号课程名称学时学分专业软件开发中使用,不是必须步骤。主要建模工具:•PowerDesigner•ERWin内容1、数据仓库系统设计概述2、业务系统数据库设计方法3、数据仓库系统设计方法5、使用SQLServer2005建立多维数据模型6、开源数据仓库工具介绍数据仓库4、数据仓库设计实例3.1数据仓库系统的设计步骤数据仓库的数据库设计,不以减少数据存储量为目标,而是以提供数据查询效率为首要目标。数据仓库的数据库的设计一般分三步:1、概念模型的设计(信息包图法)2、逻辑数据库的设计(星型模型)3、物理数据库的设计3.1.1概念模型设计数据仓库的概念模型通常采用信息包图法进行设计,要求将信息包图的5个组成部分全面的描述出来。1.名称2.维度3.类别4.层次5.度量3.1.1.1信息包图法信息包图法也叫用户信息需求表,就是在一张平面表格上描述元素的多维型,一个维度用一列表示,细化本列对象就是类别,最后一行为指标度量值,如下表:维度信息包图:销售分析类别时间维区域维产品维客户维广告维年度(5)国家(10)产品类别(500)年龄分组(7)广告费分组(5)季度(20)省/州(100)产品(9000)收入分组(8)月(60)城市(500)信用分组(2)日(1800)销售点(8000)度量指标:实际销售额、计划销售额、计划完成率3.1.1.2主题及主题域的划分商品商品ID商品信息商品主题供应商供应商ID有关信息供应商主题顾客顾客ID有关信息顾客主题仓库仓库ID仓库信息仓库主题供应购买储存3.1.1.3划分了主题域的原始概念模型商品ID商品名称商品类型商品规格……供应商ID联系电话联系人地址……顾客ID顾客姓名联系电话地址……仓库ID仓库地址仓库电话……仓库ID(FK)商品ID(FK)仓库数量顾客ID(FK)商品ID(FK)购买价格购买数量供应商ID(FK)商品ID(FK)仓库数量供应商表仓库表顾客表商品表3.1.2逻辑模型设计根据用户需求和信息包图设计星形模型或雪花模型。从信息包图转换成星形模型,需要定义如下三个实体:1、指标实体。即度量,使用每一个指标,同事确定是否存储经过计算的指标。2、维度实体。对应信息包图中的一个类别(一列)。3、详细类别实体。对应现实世界的某一实体。3.1.2.1星形模型销售分析时间客户产品广告区域3.1.2.2雪花模型销售分析时间客户产品广告区域产品类别3.1.2.3事实表事实表是星形结构模型的核心,包含了基本业务事务的详细信息。事实表一般包括两个部分:1、