数据仓库 实验1
数据仓库与数据挖掘实验一(数据仓库的构建)

一、实验内容和目的目的:1.理解数据库与数据仓库之间的区别与联系;2.掌握典型的关系型数据库及其数据仓库系统的工作原理以及应用方法;3.掌握数据仓库建立的基本方法及其相关工具的使用。
内容:以SQL Server为系统平台,设计、建立数据库,并以此为基础创建数据仓库。
二、所用仪器、材料(设备名称、型号、规格等)操作系统平台:Windows 7数据库平台:SQL Server 2008 SP2三、实验原理数据仓库是在原有关系型数据库基础上发展形成的,但不同于数据库系统的组织结构形式,它从原有的业务数据库中获得的数据形成当前基本数据层,经过综合后形成轻度综合数据层,轻度综合数据再经过综合后形成高度综合数据层。
数据仓库结构包括当前基本数据(current detail data)、历史基本数据(older detail data)、轻度综合数据(lightly summarized data)、高度综合数据(highly summarized data)和元数据(meta data)。
数据仓库系统由数据仓库、仓库管理和分析工具3部分组成,结构形式如下图所示:数据仓库的逻辑数据模型是多维结构的数据视图,也称多维数据模型。
对于逻辑数据模型,可以使用不同的存储机制和表示模式来实现多维数据模型。
目前使用的多维数据模型主要有星型模型、雪花模型、星网模型、第三范式等。
ETL过程在开发数据仓库时,占去70%的工作量。
ETL过程的主要步骤概括为:(1)决定数据仓库中需要的所有的目标数据;(2)决定所有的数据源,包括内部和外部的数据源;(3)准备从源数据到目标数据的数据映射关系;(4)建立全面的数据抽取规则;(5)决定数据转换和清洗规则;(6)为综合表制定计划;(7)组织数据缓冲区域和检测工具;(8)为所有的数据装载编写规程;(9)维度表的抽取、转换和装载;(10)事实表的抽取、转换和装载。
四、实验方法、步骤要求:利用实验室和指导教师提供的实验软件,认真完成规定的实验项目,真实地记录实验中遇到的各种问题和解决的方法与过程,并绘出模拟实验案例的数据仓库模型。
数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。
2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。
3,并且这次实习可以非常好的关心我完成将来的毕业论文。
四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。
然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。
同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。
使我们队公司有了更进一步的了解实习,就是在实践中学习。
经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。
当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。
还有发布了一些关于公司产品的博客,比如新浪,网易。
而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。
经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。
数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。
实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。
数据仓库实验

实验:数据仓库设计实验1、实验目的与要求(1)掌握数据仓库需求分析方法;(2)掌握多维表设计的方法;(3)掌握数据仓库概念模型、逻辑模型、物理模型的设计方法;(4)掌握在SQL Server Management Studio中新建数据库的方法;(5)掌握在SQL Server Management Studio中进行关系表管理的方法。
2、实验内容(1)理解数据仓库设计的三级数据模型以及设计方法与步骤;(2)进行多维表设计;(3)创建新数据库;(4)创建多维表设计中的各个表;(5)维护表之间的联系。
3、实验操作步骤本实验包括以下部分:(1)进行需求分析,并写出需求分析文档;仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。
人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。
随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注;因此为了解决这个问题我们提供这个系统以满足仓库管理需求,本系统是基于超市仓库的管理系统。
本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。
用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。
(2)根据需求分析结果设计数据仓库体系结构,画出数据仓库体系结构图。
(3)根据需求分析结果进行数据仓库模型设计。
a.确定主要主题域,画出主要主题域的概念模型(用ERD表示)b.画出星型模型。
c.将星型模型转成逻辑模型,给出事实表与维表。
d.进行物理模型设计。
(4)多维表的数据组织、设计;(5)创建数据仓库;。
数据库实验报告(实验一)

实验一PowerDesigner 的CDM 应用
一、实验内容
学会运行PowerDesigner创建实体联系图,熟悉PowerDesinger的CDM模块的使用,熟悉CDM 的工作区,使用工具选项板进行CDM对象设计。
启动PowerDesigner,并按照试验步骤创建实体,运用toolbox中的相关工具修改实体的属性。
在定义完之后,运用toolbox中的相关工具接下来创建实体间的关系。
例如,此时创建的student与选课之间的联系如下
紧接着,按照相同方式创建course和选课之间的关系,如下。
根据实验任务,建立一个“实验一练习”命名的Conceptual Data Model(CDM)文件,其中应包括的实体、实体的属性及实体之间的联系。
利用之前的练习,类似的创建好该联系,其过程中截图如下:
1.对相关实体属性的修改如下:
2.最后的结果图如下:
二、遇到的问题及解决
在做实验任务时,由于对PowerDesigner软件运用的不熟悉,在过程中遗忘了一些步骤。
例如,在设置属性时,忘了设置主属性;在创建实体间联系时,对其中关系不是很清楚的找出它们的关系。
在发现这些问题后,都及时的解决,才未对后面的实验造成影响。
三、心得体会
我对于PowerDesigner还不熟悉,要多找几道练习题实际操作一下,多熟悉软件才可以运
行的很好。
在这之前我应该多注意书本上的知识,也要多熟悉,然后才能在实验课中运用。
数据仓库实验报告

数据仓库实验报告数据仓库实验报告实验报告实验一基于SQLServer2005示例数据库的多维数据模型实验名称一.实验目的通过本实验的学习,使学生掌握在SQL Server 2005示例数据仓库环境下建立多维数据模型过程的知识,训练其把教材上的内容应用到实际中的技能,为今后继续数据挖掘技术的学习奠定基础。
二.实验内容在SQL Server 2005示例数据仓库环境下建立多维数据模型。
针对Adventure Works Cycle公司的销售分析需求,从Adventure WorksDW示例数据库中导出数据,建立并部署“销售分析”多维数据集,进而从多角度对Adventure Works Cycle 公司的销售状况作分析研究。
三.实验步骤1.创建一个新的数据仓库分析项目打开Visual Studio 2005分析项目,选择Analysis Serveices项目,并将项目名称更改为“销售分析示例”2.定义数据源在“数据源”文件夹上右击,在弹出的快捷菜单上选择“新建数据源”命令。
启动新建数据源向导,单机新建按钮。
出现”连接管理器“对话框,在“提供程序”下下拉列表框中确保已选中服务账户,并命名数据源为”销售分析数据源”。
3.定义数据源视图选择“数据源视图” 文件夹,新建一个数据原视图。
数据源选择上一步新建的“销售分析数据源”。
在“可用对象”列表框中,选择下列表(同时按下Ctrl键可选择多个表)。
4.定义多维数据集右键单击“多维数据集”,从弹出的快捷菜单中选择“新建多维数据集”命令;已选中“使用数据源生成多维数据集”选项和“自动生成”选项;在“时间维度表”下拉列表中选择“时间”别名。
下一步设置时间维,将时间属性名称映射到已指定为“时间”维度和维度表中的相应列。
选择事实表的度量值(去掉不是度量值的列),可以对度量值重新命名。
设置和校验维度的属性及层次结构和属性,在“查看新建维度”页上,通过展开树控制件显示该方向导检测到的三个维度的层次结构和属性,查看其中每个维度的维度层次结构(可根据需要去掉部分为度属性)。
数据库实验一

《数据库原理与应用》实验报告实验一、定义数据库和表一、实验环境Windows 2003 Server、SQL Server 2008二、实验目的掌握使用企业管理器提供的图形化交互窗口创建、修改数据库、表结构与整性约束、建立索引,掌握创建、修改数据库、表结构与整性约束的SQL语句。
掌握使用企业管理器提供的图形化交互窗口输入、修改和删除表中的记录,掌握输入、修改和删除表中的记录的SQL语句。
三、实验方法(1)利用资源管理器在D盘上建立“学号姓名DB”命名的文件夹,以便保存数据库。
按设计好数据库和表结构创建数据库与表结构的SQL语句完成数据库与表的建立,以及记录的操作。
(2)利用SQL Server 200X DBMS的交互式界面窗口练习建立数据库SDB1与Dept1、T1、S1、C1、SC1表,以及记录的操作。
四、具体操作及结论分析1.建立数据库SBD的SQL语句Create database sdbon primary(name=sdb_data,filename='D:\xxxDB\xxx.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=sdb_log,filename='D:\xxxDB\xxx.ldf',size=50MB,maxsize=100MB,filegrowth=10MB)USE sdb1.建立表Dept、T、S、C、SC的SQL语句create table dept(dno char(2) primary key,dname varchar(30) unique not null,dean char(10),adddress varchar(40))create table t(tno char(4) primary key,dno char(2) references dept(dno),tn varchar(10) not null,sex char(2) check(sex='男' or sex='女'),title char(10) check(title in('教授','副教授','讲师')))create table s(sno char(4) primary key,sn varchar(10),sex char(2) check(sex='男' or sex='女'),age int check(age>=17 and age<=25),dno char(2) references dept(dno),bp varchar(20))create table c(cno char(2) primary key,cn char(10),period int not null,tno char(4) references t(tno),class char(20) check(class in('公共基础','专业基础','专业课','专业选修')))create table sc(sno char(4) references s(sno),cno char(2) references c(cno),grade int not null check(grade between 0 and 100),primary key(sno,cno))2.修改教师表T的SQL语句(给表T增加一个字段:PHON,并定义合适的数据类型)alter table t add phon varchar(10);3.分别给出Dept、T、S、C、SC三个表,每个表插入2条记录的SQL语句insert into dept values('01','外语学院','史宝辉','教5011');insert into dept values('02','工学院','俞国辉','森801');insert into t values('0101','01','李健','男','教授');insert into t values('0202','02','张青','女','教授');insert into s values('0101','李成占','男','19','01','河南');insert into s values('0202','马驰','男','18','01','辽宁');insert into c values('01','数学','80','0101','公共基础');insert into c values('02','英语','120','0101','公共基础');insert into sc values('0101','01','80');insert into sc values('0101','02','85');4.给出一条修改SC表记录的SQL语句update sc set grade=0 where sno='0101' and cno='02';5.给出一条删除C表中一条记录的SQL语句delete from sc where cno='02';delete from c where cno='02';7.讨论回答下面问题(1)建立表的顺序有要求吗?为什么?有要求,因为表与表之间有参照完整性约束关系,所以得先建立被参照的表,即充当主键的表,后建其它表,即作为外建的表。
数据仓库实验报告

四.实验总结通过本次实验,对数据仓库中关联规那么的应用以及如何发现关联规那么有了简单的了解,通过使用Analysis Services效劳进行关联规那么模型的建立和处理,以可视化的方式查看模型结果对关联规那么有了根本的了解。
关联规那么可以反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,其中一个事物就能通过其他事物预测到。
处理进度完成之后,单击“关闭〞按钮,建模完成。
7.查看挖掘结果再次选择“挖掘模型查看器〞选项卡,由vTargetMail数据集生成的决策树。
四实验总结本次实验使用SQL Server2005中的决策树方法,进一步的了解数据库Analysis Services的功能,对它的使用方法有了更深入的了解,能做一些根本的操作。
通过应用数据库Analysis Services的一些功能,能够分析一些数据之间的联系,有利于做出判断与决策。
四实验总结本次实验使用SQL Server 2005中的Analysis Service效劳进行k-means算法模型的建立和处理并且可视化的方式查看结果,本次实验使我对k-means的算法加深了认识与了解。
能做到简单的应用。
k-means聚类算法是将各个聚类子集内的所有数样本的均值作为该聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类的性能的准那么函数到达最优从而使生成的每个聚类内紧凑。
实验名称实验五SQLServer 2005中贝叶斯网络应用四实验总结通过本次实验对贝叶斯网络有了更深入的了解,贝叶斯网络是一个白匣子,各个结点之间的影响程度和条件概率关系都可以显示地看到,并且意义明确,因此其更适合那些影响因素少而且关系明确的情况,但贝叶斯网络使用者更多地了解领域,以增加网络的可理解性和预测、诊断的准确性。
通过使用SQLService2005的朴素贝叶斯网络功能使用能够做预测、诊断然后查看各个变量对被预测和被诊断的各个值得影响力。
数据挖掘-实验一 数据仓库的构建(实验报告)

实验一数据仓库的构建
一、实验目的
1.理解数据库与数据仓库之间的区别与联系;
2.掌握典型的关系型数据库及其数据仓库系统的工作原理以及应用方法;
3.掌握数据仓库建立的基本方法及其相关工具的使用。
二、实验要求
利用实验室和指导教师提供的实验软件,认真完成规定的实验项目,真实地记录实验中
遇到的各种问题和解决的方法与过程,并绘出模拟实验案例的数据仓库模型。
实验完成后,应根据实验情况写出实验报告。
三、实验平台
Microsoft SQL Server 2000 的Analysis Services
四、实验方法与步骤
1、建立系统数据源连接
(1)、启动 Analysis Manager
(2)建立数据库结构(3)建立数据源
3、建立多维数据集
(1)打开多维数据集向导
(3)建立时间维度
(4)建立产品维度
(5)建立客户维度
(6)何生成商店维度
(7)完成多维数据集的生成
(1)启用多维数据集编辑器
(2)向现有多维数据集添加维度
5、设计存储和处理多维数据集
(1)使用多维数据集浏览器查看多维数据集数据
(2)替换网格中的维度
(3)按时间筛选数据
7、存档教程数据库
五、实验心得。
1-数据仓库实验指导书

数据仓库实验指导书实验目的:数据仓库构建实验内容:规划需求分析,数据仓库设计;设置数据源,数据清洗转换;建立多维数据库(Cube);在多维数据集上练习切片、切块、钻取、聚合、旋转等OLAP基本数据操作。
实验分析:下面进行两个关键的实验,数据清洗转换和建立多维数据库(使用Northwind数据库),先用数据清洗转换,将需要的表从源库转换到新数据库,为数据仓库提供需要的数据,要形成的维表有Products,Category,Employees,Dates,Facts(事实表),在实验二中Products和Category将组成雪花架构的维表。
实验一:数据清洗转换内容:为数据仓库新建一个数据库,将Products,Categories,Employees,Orders,Order Details转换到新数据库,为数据仓库提供需要的数据目的:为数据仓库事实表和各维表建立基本数据实验环境:企业管理器在数据清洗转换之前,请在企业管理器中Northwind数据库下了解下Products,Categories,Employees,Orders,Order Details表的属性内容及表与表之间主键和外键约束关系(如果用雪花模式把上述5个表关系表达出来的话,谁是事实表?维度表是什么?谁是详细类别表?)。
考虑下:如果以时间维、地区维和产品维构建一个数据立方体?步骤:1)新建一个数据库myNorthwind,并准备从Northwind导入数据。
2)建立Products和Categories两个维度表,将维度表需要的列从Northwind数据库复制到myNorthwind。
3)建立Employees维度表,将源表的列内容复制过来,并将源表中first name和lastname合成一个fullname列,在DTS导入/导出向导中使用SQL语句合成新的列fullname。
4)建立Dates维度表,由源表Orders表中OrderDate一列产生出年、月、日、周、季等列,同时保留OrderDate一列。
数据仓库实验1

SQL Server数据库
ETL工具:SSIS(SQL Server Integration Services)
三、实验步骤
具体步骤(一)
具体操作(二):Integration Services项目11
1、在控制流窗口中新建一个数据流任务,命名为“Address表的复制转移”;
五、教师评语
签名:
日期:
成绩
1.使用SQL Server导入导出向导
2.创建一个ETL包,将数据库AdventureWorks中的address表导入到数据库AdventureWorks DW中。
3.创建一个ETL包,将文本文件SampleCurrencyData.txt中的数据导入到数据库AdventureWorks DW中的FactCurrencyRate表中。
5、添加第一个查找“查找CurrencyKey”。到DimCurrency中查找CurrencyKey。
6、添加第一个查找“查找DateKey”。到DimDate中查找DateKey。
7、用AdventureWorks DW的表FactCurrencyRate接收这批数据。
配置过程
四、实验总结
通过本次试验的学习,基本了解了SSIS的原理和流程,SSIS是BI解决方案的主要ETL工具,它提供了一系列支持业务应用程序开发的内置任务容器转换和数据适配器。我们不用编写代码,就可以创建SSIS解决方案来使用ETL和商业智能解决复杂的业务问题,管理SQL Server数据库以及在SQL Server实例之间复制SQL Server对象。操作起来更为直观和方便。
配置过程四实验总结通过本次试验的学习基本了解了ssis的原理和流程ssis是bi解决方案的主要etl工具它提供了一系列支持业务应用程序开发的内置任务容器转换和数据适配器
[精编]数据仓库实验报告
![[精编]数据仓库实验报告](https://img.taocdn.com/s3/m/a05c4d6a580216fc710afd2b.png)
数据仓库实验报告
实验报告
实验名称实验一基于SQLServer2005示例数据库的多维数据模型
一.实验目的
通过本实验的学习,使学生掌握在SQLServer2005示例数据仓库环境下建立多维数据
模型过程的知识,训练其把教材上的内容应用到实际中的技能,为今后继续数据挖掘技术的
学习奠定基础。
二.实验内容
在SQLServer2005示例数据仓库环境下建立多维数据模型。
针对AdventureWorksCycle公司的销售分析需求,从AdventureWorksDW示例数据库中导出数据,建立并部署“销售分析”多维数据集,进而从多角度对AdventureWorksCycle公司的销售状况作分析研究。
三.实验步骤
1.创建一个新的数据仓库分析项目
打开VisualStudio2005分析项目,选择AnalysisServeices项目,并将项目名称更改为“销售分析示例”
2.定义数据源
在“数据源”文件夹上右击,在弹出的快捷菜单上选择“新建数据源”命令。
启动新建数据源向导,。
设计Northwind数据仓库架构

实验一设计Northwind数据仓库架构实验目的(1)熟悉和了解使用SQL Server 2000的软件工具。
(2)了解SQL Server 2000的示例数据库Northwind的组织结构和功能。
(3)学会为数据库Northwind设计适用的星型雪花架构。
实验工具Winders XP或者Winders 2000 Server等,SQL Server2000。
实验内容和步骤(一)安装好SQL Server2000后,打开企业管理器(Enterprise Manager)展开到数据库图标,可以看到Northwind数据库已经存于SQL Server 2000之上了(二)现在展开Northwind数据库中表的图标,可以看到Northwind数据库包含了13个用户表,它们分别是Categories,CustomerCustomerDemo,CustomerDemographics,Customers,Employees, Employeeterritories,Orders,Order details,Products,Region,Shippers,Suppliers以及Territories.(三) 查看每一个表所包含的内容,右击表并在快捷菜单中选取打开表,单击返回所有行,请参考下图:(四)查看每一个表的架构,右击表的并在快捷菜单中选取[属性]选项,这时候屏幕会出现下面对话框,请参考下图:(五)右击Northwind数据库关系图并在快捷菜单中选取[新建数据库关系图]选项,激活创建数据关系图向导。
通过关系图可以得知一个数据库其表格之间的关系。
如下表所示:(六)根据需求分析,对Northwind数据库的数据进行筛选,排除一些不必要的字段,然后识别哪些是事实数据,哪些是维度数据。
七)设计事实表,就我们为Northwind所设计的示范数据库而言,事实表应该包括员工号码,产品号码,供货商号码,顾客号码以及订购日期。
数据仓库实验报告

四.实验总结通过本次实验,对数据仓库中关联规则的应用以及如何发现关联规则有了简单的了解,通过使用Analysis Services服务进行关联规则模型的建立和处理,以可视化的方式查看模型结果对关联规则有了根本的了解。
关联规则可以反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,其中一个事物就能通过其他事物预测到。
处理进度完成之后,单击“关闭”按钮,建模完成。
7.查看挖掘结果再次选择“挖掘模型查看器”选项卡,由vTargetMail数据集生成的决策树。
四实验总结本次实验使用SQL Server2005中的决策树方法,进一步的了解数据库Analysis Services的功能,对它的使用方法有了更深入的了解,能做一些基本的操作。
通过应用数据库Analysis Services的一些功能,能够分析一些数据之间的联系,有利于做出判断与决策。
四实验总结本次实验使用SQL Server 2005中的Analysis Service服务进行k-means算法模型的建立和处理并且可视化的方式查看结果,本次实验使我对k-means的算法加深了认识与了解。
能做到简单的应用。
k-means聚类算法是将各个聚类子集内的所有数样本的均值作为该聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类的性能的准则函数达到最优从而使生成的每个聚类内紧凑。
实验名称实验五SQLServer 2005中贝叶斯网络应用四实验总结通过本次实验对贝叶斯网络有了更深入的了解,贝叶斯网络是一个白匣子,各个结点之间的影响程度和条件概率关系都可以显示地看到,并且意义明确,因此其更适合那些影响因素少而且关系明确的情况,但贝叶斯网络使用者更多地了解领域,以增加网络的可理解性和预测、诊断的准确性。
通过使用SQLService2005的朴素贝叶斯网络功能使用能够做预测、诊断然后查看各个变量对被预测和被诊断的各个值得影响力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.4CRM数据仓库设计实验从本节和第五节是CRM数据仓库的实验。
利用SQL SERVER 2000为背景,介绍如何从无到有的生成CRM数据仓库,如何添加多维数据集,以及如何使用数据仓库进行多维分析等。
使读者对客户关系数据仓库又一个直观的认识。
本实验介绍客户关系管理数据仓库的设计,演示如何从已有的OLTP系统通过数据转移得到我们的数据仓库。
4.4.1SQL SERVER 2000数据仓库简介为了满足现代企业对大规模数据进行有效分析和利用的要求,SQL Server 2000包含了一系列提取、分析、总结数据的工具,从而使联机分析处理成为可能。
Microsoft将OLAP 功能集成到Microsoft SQL Server中,提供可扩充的基于COM的OLAP接口。
它通过一系列服务程序支持数据仓库应用。
数据传输服务DTS(Data Transformation Services)提供数据输入/输出和自动调度功能,在数据传输过程中可以完成数据的验证、清洗和转换等操作,通过与Microsoft Repository集成,共享有关的元数据;Microsoft Repository存储包括元数据在内的所有中间数据;SQL Server OLAP Services支持在线分析处理;PivotTable Services 提供客户端OLAP数据访问功能,通过这一服务,开发人员可以用VB或其他语言开发用户前端数据展现程序,PivotTable Services还允许在本地客户机上存储数据;MMC(Microsoft Management Console)提供日程安排、存储管理、性能监测、报警和通知的核心管理服务;Microsoft Office 2000套件中的Access和Excel可以作为数据展现工具,另外SQL Server 还支持第三方数据展现工具。
4.4.2概念模型设计数据仓库的设计首先是概念模型的设计,这也是决定数据仓库实施效果的重要一步。
数据仓库是是面向主题、集成的、相对稳定的、反映历史变化的数据集合。
它整合了在线联机处理过程中的产生的零散的、杂乱的、面向处理的数据,形成统一的面向主题的数据集合。
在客户关系管理中,客户数据的处理一般面向几个核心的主题:客户销售事实信息、客户销售机会信息、客户客户抱怨信息、客户关怀信息等。
数据仓库的数据模型多采用星型关系构架,以一个核心的主题数据表(称为事实表)为中心,其他关系表(维表)通过竹键外键关系同主体数据表关联,维表之间没有直接的关联关系。
这同交易数据库中表与表之间的网状模型对应。
例如,客户抱怨作为一个主题,其星型构架由一个实事表和五个维表构成,如图4.5。
图4.5星型关系构架本节利用SQL Server 2000提供的示例数据库Northwind作为OLTP基础数据库,演示客户销售数据仓库的设计。
首先进行需求分析,我们设计数据仓库的目的是多角度多层次分析客户的销售事实,为客户关系管理提供依据。
如要求方便得到具体客户的销售数据、得到不同客户在不同产品上的销售数据、分析不同地区的销售情况、分析不同时间的销售情况等等。
接下来分析基础的OLTP数据库,辨别事实数据和维数据。
Northwind数据库是一个商贸公司销售数据库,它存储了客户销售相关的各种数据:订单数据、客户数据、产品数据、员工数据、供货商数据等。
它是一个OLTP数据库,以交易为处理单位,关系复杂。
其基本表的关系如图4.6所示。
图4.6 OLTP基本表关系分析可得销售事实数据有:Quantity销售数量、Discount折扣、UnitPrice单价和由此计算出来的销售额Total。
为数据有:Customer客户、Product产品、Supplier供货商、Time 时间。
接下来设计事实表和维表。
其构架如图4.7所示。
图4.7 数据仓库表关系4.4.3数据仓库创建设计好数据仓库概念模型后,需要将OLTP系统中的数据转入数据仓库。
SQL SERVER 2000提供了数据转换服务(Data Tansformation Service/DTS),可以在SQL SERVER与其他的OLE DB、ODBC数据源以及文字文件之间执行数据导入(Import)、导出(Export)以及转换的服务。
DTS设计器是SQL SERVER提供的用于数据转换的有力工具。
它提供图形客户接口,用户可以将所需的对象用鼠标拖拉实现数据从来源数据到目的数据的转移。
它允许用户输入许多类型的定义,便于设计复杂的功能强大的转换任务。
我们以Northwind为来源数据,根据上面设计的概念模型,演示CRM数据仓库的创建。
(1)新建目的数据库在执行数据转移之前,首先要为Northwind数据仓库建立一个数据库,命名为Northwind_DW。
打开SQL SERVER企业管理器,进入我们的服务器,鼠标右键点击数据库图表,在弹出菜单中选择新建数据库,如图4.8所示。
图4.8 新建目的数据库弹出对话框,如图 4.9。
设置数据库属性,在常规选项中填写数据库名称:Northwind_DW。
点击确定,创建完成。
图4.9 新建数据库对话框(2)DTS创建数据源和目的数据库激活DTS设计器开始设计数据转换服务。
在企业管理器中右键点击数据转换服务,在弹出菜单选择新建包,如图4.10。
图4.10 新建包菜单进入DTS设计器,然后设置数据源和数据目的地。
就我们的示例而言,源数据库是Northwind,目的数据库是Northwind_DW。
单击DTS设计器左侧连接中的Microsoft OLE DBProvider for SQL Server图标,如图4.11。
图4.11 设置数据源和数据目的地设置连接属性,如图4.12。
在新建连接文本框内输入新建连接的名字,Northwind。
数据源下拉列表中选取Microsoft OLE DB Provider for SQL Server选项。
服务器下拉式列表中选取local选项,使用Windows身份验证。
在数据库下拉式列表中选取Northwind数据库。
图4.12设置连接属性单击确定,就创建好来源数据库。
类似的创建目的数据库,注意在数据库选项种选择Northwind_DW数据库。
如图4.13所示。
可以用鼠标拖动将数据源和数据目的地的图标置于适当的位置。
图4.13 创建目的数据库(3)转移事实表创建好来数据源和数据目的地后,接下来就要将数据从数据源导入目的地。
首先转移事实表。
根据先前的数据仓库概念模型设计,我们的事实表是sales表。
首先单击Nothwind图标,再按住Ctrl键单击Northwind_DW图标,然后单击转换数据任务按钮。
如图4.14所示。
图4.14 转换数据任务DTS设计器就在Northwind和Northwind_DW之间建立了一个带箭头的指针,(如图4.15)箭头的位置指向目的数据库。
因为转换数据任务是具有方向性的,所以在建立新的数据转换任务时确定数据连接的顺序很重要。
图4.15建立数据转移指针通常要为数据转换任务附加文字批注。
因为任何一个在数据仓库的表,无论是时是表还是维度表都有一个数据转换任务,到最后DTS设计器会拥有许多指针,为了让用户明确每个指针的意义,通常都要加注。
在图4.15中点击文字批注,弹出批注文本框,填写“Sales 事实表转换数据任务”,调整文本框的大小和文字批注的大小,并将其拖动至适当的位置。
如图4.16。
图4.16添加文本框下一步为Sales事实表设置转换任务。
双击Sales事实表转换数据任务指针,这时候屏幕上会出现下面的图形,如图4.17。
在图4.17上单击【源】标签,在【描述(D):】文本框中输入“Sales事实表转换任务”,然后单击【SQL查询(S)】复选框,并在下方的文本框中输入下面的SQL语句:SELECT e.EmployeeID,p.ProductID,s.SupplierID,c.CustomerID,o.OrderDate,od.Quantity,od.Unitprice,od.DiscountFROM Orders o,[order details] od,Employees e,Products p,Suppliers s,Customers cWHERE o.OrderID=od.OrderID AND o.EmployeeID=e.EmployeeIDAND o.CustomerID=c.CustomerID AND od. ProductID=p.ProductIDAND p.SupplierID=s.SupplierID图4.17 设置转换任务属性——源单击【分析查询(A)】按钮来检验输入的SQL语句是否正确。
单击【预览(P)】按钮,则屏幕上会出现图4.18。
图4.18 数据预览DTS 设计器执行了输入的SQL语句并且以窗口的方式呈现给用户查看,用户可以使用滚动轴来浏览,以检验数据是否正确。
如果输入的数据没有问题,请单击【确定】按钮,这时候屏幕又会回到4.17对话框。
现在请单击【生成查询(Q)】按钮,这时候屏幕会出现图4.19的窗口。
图4.19 生成查询可以在图4.19的查询设计器上修改方才所输入的SELECT语句,查询设计器回自动创建图表,以供用户进行输入与修改SQL语句的参考。
当认为一切都没有问题之后,请单击【确定】按钮,这时候屏幕又会回到图4.17对话框。
下一步设置目的数据库。
在图4.17上单击【目的】标签,这时候屏幕上会出现下面的图形,如图4.20。
图4.20 转换数据任务——目的将图4.20中的“新建表”修改为Sales,并且在最后面增加一个Total文本框中,它的数据类型为money(如图4.21 )。
最后单击【确定】按钮,这时候屏幕上会出现下面的图形,如图4.22。
4.21 修改后SQL语句图4.22 目的数据库DTS 设计器已经为我们新建Sales表至northwind-DW数据库了,请注意,在这里创建表的操作是不会储存在包之中的。
当包设计完成并储存之后,执行包时候并不会自动创建表。
下一步进行数据转换任务。
在图4.22上单击【转换】标签,这时候屏幕上会出现下面的图形,如图4.23。
图4.23 转换数据任务——转换DTS设计器为我们指定了字段之间的转换任务,其中EmployeeID、Product SupplierID CustomerID OrderDate Quantity UnitPrice以及Discount都是正确的,我们希望将UnitPrice*(1.0-Discount)*Quantity 存入Total。
现在我们要将UnitPrice*(1.0-Discount)*Quantity转入Total字段。