现代数据库课程报告.docx
《现代数据库课程报告.docx》由会员分享,可在线阅读,更多相关《现代数据库课程报告.docx(16页珍藏版)》请在冰豆网上搜索。
![现代数据库课程报告.docx](https://file1.bdocx.com/fileroot1/2023-2/2/baa77b77-9c3a-4b73-b3b0-1ccd49e91c92/baa77b77-9c3a-4b73-b3b0-1ccd49e91c921.gif)
现代数据库课程报告
武汉工程大学
计算机科学与工程学院
现代数据库报告
设计题目:
数据仓库的建立与维护的一个实例
学生学号:
专业班级:
学生姓名:
学生成绩:
摘要………………………………………………………………………………………II
Abstract…………………………………………………………………………………...II
第一章数据仓库概述………………………………………………………………..…..1
1.1数据仓库的简介………………………………………………………………………1
1.2数据仓库的特点及意义………………………………………………………………1
第二章数据仓库的结构及相应的例子……………………………………………………2
2.1数据仓库的体系结构…………………………………..……………………………..2
2.2数据仓库的建立.…………………………………………………………………….5
2.3原系统概况和目标系统要求…………………………..……………………………..5
第三章数据仓库的建立与维护及在OLAP方面的应用………………..……………...….8
3.1数据仓库的设计……………………………..…………………………………….….8
3.2数据的管理与维护………………………………..………………………………….11
3.3未来数据和相关的数据利用技术……………………………………………….….12
参考文献…….………………..………………………………..……………………….…...15
摘要
数据仓库和OLAP系统以多维的方式对大量数据进行存储、组织、处理、分析和计算,这种多维的特点集中表现为数据仓库和OLAP系统的多维数据模型。
数据仓库为商务运作提供结构与工具,以便系统地组织、理解和使用数据进行战略决策。
建立以数据仓库技术为基础,以数据库的连机分析处理技术和数据挖掘技术为实现手段的决策支持系统是解决上述问题的一种有效、可行的体系化解决方案。
构造数据仓库涉及数据清理和数据集成,可以看作数据挖掘的一个重要步骤。
数据仓库还提供联机分析处理工具,用于各种粒度的多维数据分析,有利于有效的数据挖掘。
本文描述了在学校学生管理系统的基础上建立和雏护数据仓库的过程,包括数据仓库模型设计、异构数据的转换、数据冗余、汇总数据存储等数据仓库设计过程和数据的抽取、转换和加栽以及元数据管理等维护过程,并简单地介绍了数据仓库在0LAP方面的应用。
关键词:
数据仓库OLAP;ETL;数据冗余;维
Abstract
DatawarehouseandOLAPsystemtoDuoWeiwayoflargequantitiesofdatastorage,organization,processing,analysisandcalculation,theDuoWeifocusesonthecharacteristicsofdatawarehouseandOLAPsystemfortheDuoWeidatamodel.Datawarehouseforbusinessoperationprovidestructureandtools,sothatthesystemtoorganize,tounderstandandtousethedataforstrategicdecision.Basedondatawarehousetechnologyasthefoundation,thedatabaseofevenmachineanalysistechnologyanddataminingtechnologytorealizethedecisionsupportsystemmeanssolvetheaboveproblemisakindofeffectiveandfeasiblesystematicsolutions.Tectonicdatawarehouseinvolvingdatacleaninganddataintegration,dataminingcanbeseenasanimportantstep.Datawarehousealsoprovideon-lineanalyticalprocessingtools,usedforvarioussizeofDuoWeidataanalysis,behelpfulforeffectivedatamining.Thispaperdescribesthestudentsintheschoolmanagementsystemestablishedonthebasisofthedatawarehouseandtheyoungoftheprocess,includingdatawarehousemodeldesign,heterogeneousdataconversion,dataredundancy,collectdatastoragedatawarehousedesignprocessanddataextraction,conversionandaddplantedandyuandatamanagementandmaintenanceprocess,andsimplyintroducesthedatawarehousein0LAPapplications.
Keywords:
datawarehouseOLAP;TheETL;Dataredundancy;d
第一章数据仓库概述
1.1数据仓库的简介
数据仓库是一种从数据库技术发展而来但又不同于数据库的数据组织和存储技术,它是面向主题的、集成的、随时间变化的、非易失性的数据集合,它用于支持管理层的决策过程。
数据仓库的创建和使用都是围绕着主题的,数据仓库中的数据不是将业务处理系统中的数据简单集合,而是对各种源数据进行抽取、筛选、清理、综合而得到的数据集合。
数据仓库中所存储的数据主要用于查询和分析。
由于数据仓库以统计分析技术作为分析数据和提取信息的有效方法,统计学是数据挖掘技术的重要的理论来源之一,因此数据仓库术、以及基于数据仓库的OLAP和数据挖掘形成了新型的统计信息系统框架。
1.2数据仓库的特点及意义
数据仓库是一个面向主题的,集成的,相对稳定的反映历史变化的数据集合,用于支持管理决策。
对此可以从两个层次进行理解,首先,数据仓库用于支持决策面向分析型数据处理,它不同于企业现,有的操作型数据库;其次,数据仓库是对多个异构数据源的有效集成,集成后按照主题进行重组并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
数据仓库的数据模型采用星型、雪花型、星座型等多维数据模型,本文介绍的数据仓库采用了星座型数据模型。
OLAP是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性信息进行快速、一致、交互地存取,从而获取对数据更深入了解的一类软件技术。
与OLTP不同,OLAP是面向分析的。
第二章数据仓库的结构及相应的例子
2.1数据仓库的体系结构
数据仓库弥补了原有的数据库的缺点,将原来的以单一数据库为中心的数据环境发展为一种新环境:
体系化环境。
从数据层次角度来看,典型的数据仓库的数据仓库的数据体系结构主要包括操作型数据、操作型数据存储、数据仓库和数据集市,如图1描述了一种典型的数据仓库体系结构。
从功能结构上看,整个体系中的功能可以分为数据处理、数据管理和数据应用三个层次。
数据处理功能主要完成各层数据之间的流转功能,主要包括数据集成和数据维护等功能;数据管理对数据仓库中的数据进行安全控制、监控和元数据管理等功能;数据应用层次根据应用情况,可以包括各种类型的信息型应用或分析应用。
2.1.1数据仓库的数据结构
典型的数据仓库的数据组织结构图如图2所示。
在这个结构中,数据仓库中的数据分为早期细节级、当前细节级、轻度综合级和高度综合级四个级别。
来自操作型环境中的源数据经过集成后,进入当前细节级。
根据系统的需要,可能需要对当前细节级的数据进行轻度的综合(汇总)或进一步的高度综合,从而得到轻度综合级数据和高度综合级数据。
老化以后的细节数据将进入早期细节级。
2.1.2粒度
粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。
粒度越大,表示综合程度越高;粒度越小,表示综合程度越低。
在数据仓库环境中,粒度是一个重要的设计问题,它影响到数据仓库的数据量以及系统能回答的查询的类型。
显然,粒度越小,细节程度越高,能回答的查询就越多[4]。
但是,因为需要存储低粒度级的细节数据,数据量就比较大。
反之,如果数据仓库不保存低粒度级数据,只有粗粒度级的数据,则需要存储的数据量较少。
2.1.3数据分区
数据分区(分割)问题是数据仓库的另一个重要问题。
数据仓库中数据表的数据量一般都比较大,如果只用一个物理数据表来存储这些模式相同的数据,则可能造成数据管理和查询效率低下。
为了提高数据管理和查询的效率,分区是个很有效的办法,恰当的数据分区能有效提高数据仓库各种数据处理功能的效率。
合适的分区能使数据的增长和管理都容易实现。
这也是为了满足数据仓库的本质之一:
灵活地访问数据。
有多种分区标准,通常按照以下唯独进行分区:
日期,地域,商业领域,组织单位。
2.1.4元数据
元数据是数据仓库中的重要数据,是关于数据的数据。
在数据仓库环境中,因数据内容多,数据源复杂,数据加工处理环节多,这样就使得元数据具有更为重要的意义。
数据仓库中建立元数据的目的主要在与让用户能更快地找到所需的数据,让前台工具盒管理员更好的理解和管理数据。
在数据仓库环境下,主要有两种元数据:
第一种是为了从操作性环境向数据仓库转化而建立的元数据,包含了所有源数据项名、属性及其在数据仓库中的转化;第二种元数据在数据仓库中是用来和终端用户的多维商业模型/前端工具之间建立映射,此种元数据称之为DSS元数据,常用来开发更先进的决策支持工具。
元数据在数据仓库的上层,典型的元数据记录如下:
数据仓库的元数据
数据加入数据仓库时的转换
抽取数据的历史记录
数据模型
数据模型和数据仓库的关系
DSS分析员所使用的数据结构
2.2数据仓库的建立
用于数据仓库的建立与维护系统中数据挖掘的源数据必须是大量的、真实的、经过预处理的,否则会极大地影响结果的准确度
数据仓库的建立步骤如下:
(1)定义数据仓库的体系结构。
数据仓库体系架构可以分为五个层次:
数据建模层、数据获取层、数据存储层、数据访问层、数据与元数据管理层。
基于上述体系结构的基础上,可以利用数据仓库技术建立适合于企业特殊业务的智能化解决方案,现提出集线器结构和集中式结构两种数据仓库的体系结构供企业统计信息系统选择并创建。
(2)进行数据仓库容量的规划,定义物理的数据仓库结构,确定数据的存放、分区以及访问的方法。
并选择存储服务器、数据库、OLAP服务器以及其它工具。
(3)定义新的数据模型,设计数据仓库的模式和视图。
由于数据仓库注重的是数据查询,因此数据是按照决策分析的主题来组织的,每个主题对应一个宏观的分析领域。
数据的逻辑模型是多维数据模型,可以使用不同的存储机制和表示模式来表示,这样可以用多维分析的方法从多角度、多层次对数据进行统计分析。
常见的数据模型有:
星形模型、雪花模型、星座模型、雪瀑模型等。
(4)数据仓库的中间件设计。
数据仓库的中间件能将数据仓库的各个组成部分无缝地整合在一起。
数据仓库的中间件包括:
数据抽取、转换、复制的拷贝中间件;数据库访问的网关中间件;对数据仓库进行监控的中间件。
(5)原始数据的审核与整理,设计并实现数据抽取、清洗、转换、装载和刷新程序。
由于数据来源于不同部门的人力资源数据库,不同数据取自不同的途径,因此,大部分数据在放入数据仓库前,要经过整理。
为实现异构数据库的数据集成,必须首先通过数据的抽取和转换工具将位于不同操作系统平台、不同数据组织形式的数据按照一定的数据模型集成到数据挖掘库中,其目的就是保证数据仓库中数据的一致性。
2.3原系统概况和目标系统要求
学校有一个学生管理系统。
系统中记录了学生寝室变换和学生的考试情况。
为了保存夺价值的历史数据及统计和分析学生住宿和成绩的情况,需要建立一个数据仓库,以便对数据仓库中的数据进行统计和分析。
2.3.1原系统的情况及其数据库结构
本文中的应用系统是其学校的一个学生管理系统,系统中记录了学生考试成绩的情况和学生的宿舍变换情况。
学生的考试生的成绩,成绩记录在一个名为score的字符型字段中,包括百分制表示的学生成绩都以字符形式记录。
该系统是为联机事务处理设计的,其数据需要进行数据更新,数据库模式规范化至3NF。
并且在该系统保存过多的运行数据会影响系统的运行。
原系统的主要数据库结构及其说明如下:
表名:
student作用:
学生信息表
字段名
字段类型
长度
含义
Sno
Char
10
学号
Sname
Char
8
姓名
Ssex
Char
2
性别
Sbirthday
Datetime
10
生日
Sdept
nvachar
20
系别
表名:
course作用:
课程信息表
字段名
字段类型
长度
含义
Cno
Int
4
课程号
Cname
Char
20
课程名
Cpno
Int
4
选修课号
Ccredit
Int
4
学分
表名:
test作用:
考试情况表
字段名
字段类型
长度
含义
Sno
Char
10
学号
Cno
Int
4
课程号
Grade
Int
4
成绩
2.3.2目标系统的要求
建立目标系统的目的是保存和分析利用历史数据,已输入的细节级数据不需更新。
由于庞大数据量,要尽快地执行查询和分析。
对于数据库中一些定义不统一的和不适平均分析的数据需要进行转换,建立数据仓库。
第三章数据仓库的建立与维护及
在OLAP方面的应用…
3.1数据仓库的设计
3.1.1数据仓库的模型设计
数据仓库的数据模型采用星型(单事实表)、雪花型(维表部分规范化)、星座型(包含多个事实表)等多维数据型。
本学生管理系统有考试成绩和寝室状况两件事实表,故数据仓库的设计采用星座型架构,数据仓库模型如下图3:
图3数据仓库模型
3.1.2异构数据的转换
学生的考试成绩的夺多种记录方式,有的以百分制表示学生成绩,有的以优、良、中、及格、不及格表法学生的成绩,成绩记录在一个名为score的字符型字段中,包括百分制表示的学生成绩都以字符形式记录。
成绩表示方式的不统一和成绩字段的类型为字符型给分析造成了很大的不便。
在数据仓库的构建和数据抽取过程中将成绩转换为值为。
一4之间的数字型值,其中0表示不及格(百分制成绩60以下),1表示及格(百分制成绩60一69),2表示中等(百分制成绩70一79),3表示良好(百分制成绩80—89),4表示优秀(百分制成绩90以上)。
注意:
由于字符串“100”<字符串“60”,在转换时需在程序中加入将成绩转化为数字再比较。
3.1.3数据库的反规范化和数据冗余
由于数据仓库反映的是历史数据内容,供企业决策分析之用,涉及的操作主要是数据查询,一般情况下并不进行数据更新操作,因此数据进入数据仓库后极少更新或不更新。
数据库的规范化是为了减少更新的异常和数据的冗余,建数据仓库时考虑到查询的快速执行,将尽量减少多表的连接操作,对模式进行反规范化,合并一些表,删除一些对策分析无用的数据。
在本系统中可以考虑将学生和课程的数据加入考试的事实表,将学生和寝室的数据加入寝室情况事实表。
3.1.4汇总数据存储
在数据仓库中,如果数据量很大的话(消耗太多的空间或导致查询慢得不可接受),可以考虑将数据进行汇总后存入数据仓库,以加快查询的速度,如果数据量太大,早期的事实数据也可以存储到比较便宜的存储介质中去。
在本系统中,人们主要关心的是学生考试的情况和各科目的成绩,因此,与一般数据仓库不同,本系统主要存储按学生汇总和按科目汇总的汇总数据。
3.1.5数据仓库的数据库结构
根据上步骤建立的主要数据仓库结构及其说明如下:
表名:
test作用:
考试情况表
字段名
字段类型
长度
含义
Sno
Char
10
学号
Sname
Char
8
姓名
Sbirth
Datetime
10
生日
Ssex
Char
2
性别
Sdept
nvarchar
20
系别
Cno
Int
4
课程号
Cname
Char
20
课程名
Cpno
Int
4
选修课号
Credit
Int
4
学分
Grade
Int
4
成绩
表名:
bystudent作用:
考试情况按学生汇总表
字段名
字段类型
长度
含义
Sno
Char
10
学号
Sname
Char
8
姓名
Sbirth
Datetime
10
生日
Sdept
nvarchar
20
系别
exnum
Int
4
优秀科目数
gdnum
Int
4
良好科目数
midnum
Int
4
中等科目数
passnum
Int
4
及格科目数
failnum
Int
4
不及格科目数
3.2数据的管理与维护
在数据仓库中,数据需要定时的更新和维护,这些管理和维护主要包括元数据的管理和数据的抽取、转换和加载(ETL)。
3.2.1元数据的管理
元数据是关于数据的数据,只要有程序和和数据,元数据是信息处理环境的一部分。
在数据仓库中,元数据用业描述数据仓库内部结构和建立的方法。
数据仓库的元数据包括:
●数据仓库结构的描述
●操作源数据
●汇总用的算法
●由操作环境到数据仓库的映射
●关于系统性能的数据
●商务元数据(术语定义)
本系统由于系统结构比较简单,所以元数据采用文档方式手工管理。
3.2.2数据的抽取、转换和加载(ETL)
数据仓库内数据的抽取可以定进抽取,也可以在应用数据发生变化进抽取。
本系统采取的是定时抽取的方式。
本系统采用自已编写程序自动从应用系统中抽取数据,
并且每年年底对数据仓库中当年的数据进行抽取和汇总。
3.2.3数据仓库的逐步建立
截至本文完成时,OLTP应用系统实现的是学生考试管理和宿舍管理的功能,故建立好的数据仓库也比较简单(两张事实表),属于使用星座型数据模型的数据模型的数据仓库的最简单的情况。
随着应用系统的完善和对数据仓库的新需求的出现,数据仓库也将更加复杂。
当新的主题出现时,可以围绕该主题先建立数据集市,再将数据集市集成到数据仓库中去,集成是需注意元数据的管理、ETL的变化和新的异构数据的出现。
3.3未来工作和相关的数据利用技术概述
数据仓库的创建主要是为将来的数据分析做准备,在后面的研究与应用过程中,我们准备对已经创建的数据仓库进行数据分析,会用到以下一些技术。
3.3.1OLAP
数据仓库提供联机分析处理(OLAP)工具,OLAP技术使得用户能从不同的角度查看数据,其主要操作有以下几种
切片:
在多维数组的某一维上选定一个维成员的操作
切块:
在多维数组的某一维上选定一个上维成员的操作
钻取:
通过维的分层汇总(上钻)或取得更详细的数据(下钻),在本实例中,只有时间维度上可进行此操作。
旋转:
取得不同视角的数据的操作
本系统将使用SQLServer2000AnalysisServices软件实现数据库的三维数据立体以及切片块等操用。
建立数据库和多维数据集后,将数据处理好后即可显示多维数据,并且提供切片、切块等操作。
随着计算机技术的发展和业务信息系统规模的持久增长,数据处理的重点正在从传统的数据库和事务处理扩展到数据仓库和联机分析处理(OLAP)。
数据仓库和OLAP系统以多维的方式对大量数据进行存储、组织、处理、分析和计算,这种多维的特点集中表现为数据仓库和OLAP系统的多维数据模型。
在数据仓库和OLAP系统中,如何合理、有效、灵活地构建多维数据模型,就成了值得研究和探讨的课题。
在传统的建模方式中,多维数据模型以一种静态的方式绑定到系统的各个模块上,这种设计在灵活性、扩展性、可维护性、可移植性等方面存在诸多缺陷。
为了解决这个问题,本文设计、实现并实验了一套动态建模系统,系统用于支持多维数据模型的动态构建和维护,赋予多维数据模型的建模工作更高的灵活性和适应性。
在当今的商业环境中,市场竞争日益激烈,它促使企业和机构在信息系统的建设上不仅仅需要对业务流程的支持,同时需要从信息系统中获得从客户、营销、企业的运营状况到供应渠道的通畅与否等高层次的分析决策信息,并且将决策结果运用于日常业务以提高企业整体效益。
然而,传统的业务系统则是针对分离的事务处理而设计,并不擅长于多层次的分析和统计。
由此,商业智能应用应运而生,它通常是一个独立的系统,能够从传统业务系统中获取各类客户数据和业务数据,由此建立多层次的分析体系,并将其转化成有商业意义的信息。
通过对数据仓库、联机分析处理(OLAP)、数据挖掘技术在决策支持系统中相互关系的研究,认为数据仓库和OLAP之间,以及数据仓库和数据挖掘之间存在着单向支持的关系,提出了基于数据仓库的数据挖掘系统的原型框架设计;数据挖掘、OLAP存在着双向联系,即数据挖掘为OLAP提供一定的分析模式,OLAP可对数据挖掘的结果进行技术验证,并对数据挖掘给予一定的数据属性的提示。
数据仓库是信息技术的新焦点,它用来存储供查询和决策分析用的集成化和历史化数据。
国内外已经对数据仓库开展了许多研究工作,企业界也纷纷推出自己的数据仓库产品。
如INFORMIX公司的MetaCube和ORACLE公司的discover及Express系列产品.但是这些产品仍是采用关系数据库管理技术来实现的,大多数只是对原有的系统稍加改进。
这些产品都具有很大局限性。
3.3.2数据挖掘
数据挖掘,又称为数据库中的知识发现,是指从存放在数据库、数据仓库或其他信息库中的大量的数据中自动地发现相关模式,提取有潜在价值的信息,挖掘知识的过程。
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据可以广泛使用。
数据挖掘是目前数据仓库领域最强大的数据分析手段,应用非常广泛,非常适用于电信业这种数据密集型的行业。
在本数据仓库的基础上,可以利用SQLServer2000Anal—ysisServices自带工具或自编算法进行聚类、关联分析等操作,得到数据中隐含的知识、更好地支持决策。
参考文献
[1]朱杨勇编.高级数据库应用开发[M]
[2]W.H.Inmon蓍王志海等译.数据仓库[M].第2版.机械工业出版社2000
[3]Ralph.Kimball,MargyRoss蓍谭明金译.数据仓库工具箱一维度建模完全指南[M].第2版.电子工业出版社2002
[4]JiaweiHan,MichelineKambr.数据挖掘概念与技术(