数据仓库的构建和ETL课程设计_第1页
数据仓库的构建和ETL课程设计_第2页
数据仓库的构建和ETL课程设计_第3页
数据仓库的构建和ETL课程设计_第4页
数据仓库的构建和ETL课程设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Northwind数据仓库的构建和ETL课程设计与实验报告课程设计与实验教学目的与基本要求数据仓库与知识工程课程设计与实验是学习数据仓库与知识工程的重要环节,通过课程设计与实验,可以使学生全面地了解和掌握数据仓库与知识工程课程的基本概念、原理及应用技术,使学生系统科学地受到分析问题和解决问题的训练,提高运用理论知识解决实际问题的能力。使学生在后继课的学习中,能够利用数据仓库与数据挖掘技术及实践经验,解决相应的实际问题,并能在今后的学习和工作中,结合自己的专业知识,开发相应的数据仓库与数据挖掘应用程序。培养学生将已掌握的理论与实践开发相结合的能力,以及在应用方面的思维能力和实践动手能力。课程设计

2、与实验一 数据仓库的构建和ETL(一)目的1理解数据库与数据仓库之间的区别与联系;2掌握数据仓库建立的基本方法及其相关工具的使用。3掌握ETL实现的基本方法及其相关工具的使用。(二)内容1. 以SQL Server为系统平台,设计、建立创建数据仓库NorthwindDW(根据课程设计内容)。2. 将业务数据库Northwind的数据经过ETL导入(或加载)到数据仓库NorthwindDW。3. 将数据仓库NorthwindDW事实表的前100个记录导出到Excel中。(三)数据仓库设计要求Northwind数据库存储了一个贸易公司的订单数据、产品数据、顾客数据、员工数据、供货商数据等,假设贸易

3、公司的经营者迫切的需要准确地把握贸易公司经营情况,跟踪市场趋势,更加合理地制定商品采购、营销和奖励政策。具体的分析需求是: l 分析某商品在某地区的销售情况 l 分析某商品在某季度的销售情况 l 分析某年销售多少金额的产品给顾客 l 分析某员工的销售业绩 任务:确定主题域、确定系统(或主题)的边界。设计数据模型(星型模型)的事实表和维表。实验步骤一、主题需求分析:主题域:订单主题,商品主题,员工主题;订单相关边界:Orders,Order Details,Employees;商品相关边界:Products, Order Details;员工相关边界:Employees,Orders;实验步骤二

4、、构建数据模型以及相应的事实表和维度表:1.原始关系图:2.去除不需要的表和与需求分析无关的字段:5.根据信息分析包以及表间关系图设计具体维度表和事实表:Orders事实表结构以及主键字段:字段名称数据类型功能描述原表名原字段EmployeeIDInt员工号码EmployeesEmployeeIDProductIDInt产品号码ProductsProductIDCustomerIDnchar顾客号码CustomersCustomerIDOrderDatedatetime订购日期OrdersOrderDateUnitPricemoney产品单价Order DetailsUnitPriceTota

5、lmoney单项总价无Quantity * UnitPrice*DiscountQuantitysmallint订购数量Order DetailsQuantityDiscountreal折扣Order DetailsDiscount主键字段:EmployeeID, ProductID, CustomerID, OrderDateEmployee 员工维度表结构以及主键字段:字段名称数据类型功能描述原表名原字段EmployeeIDInt员工号码EmployeesEmployeeIDFirstNamenvarchar员工名EmployeesFirstNameLastNamenvarchar员工姓E

6、mployeesLastName 主键字段:EmployeeIDProduct产品维度表结构以及主键字段:字段名称数据类型 功能描述原表名原字段ProductIDInt产品号码ProductsProductIDProductNamenvarchar产品名称ProductsProductNameUnitPricemoney单价ProductsUnitPrice 主键字段:ProductIDCustomer顾客维度表结构以及主键字段:字段名称数据类型 功能描述原表名原字段CustomerIDnchar 顾客号码CustomersCustomerIDContactNamenvarchar 顾客姓名C

7、ustomersContactNameAddressnvarchar 大致地区CustomersCity+Region+Country主键字段:CustomerIDTime时间维度表结构以及主键字段:字段名称数据类型功能描述原表名原字段OrderDatedatetime日期OrdersOrderDateYearnvarchar年无OrderDate拆分Quarternvarchar季度无OrderDate拆分运算Monthnvarchar 月无OrderDate拆分主键字段:OrderDateRegion地区维表结构字段名称数据类型功能描述原表名原字段Addressnvarchar大致地区Cu

8、stomersAddressCitynvarchar城市无Address拆分Countrynvarchar国家无Address拆分Regionnvarchar地区无Address拆分主键字段:Address6. 下图显示了Northwind数据库的星型雪花架构结构图:Employees维表Orders事实表Products维表EmployeeIDemployeeIDProductIDFirstNameProductIDProductnameLastNameCustomerIDUnitPriceorderDateTotalQuantityUnitPriceDiscountCustomers维表C

9、ustomerIDContactNameCityRegionCountry实验步骤三、创建数据仓库并抽取转换导入数据:1.首先打开SQL Server Business Intelligence Development Studio, 创建一个新的SQL Server Integration Services项目,并取名为northwind2.点击确定后生成以下界面。3.接下来在菜单栏中点击项目选择SSIS导入和导出向导,在弹出来的窗口里选择SQL Native Client 10.0 作为数据源,数据库下拉选择已装好的Northwind数据库,点击下一步。 4.进入数据目标的操作界面,这里需

10、要新建一个数据仓库,以后数据经过ETL过程后,数据存放到这个数据仓库中。 5.选择数据的复制方式,如下图所示,有两种方式,一种是直接将表复制过去,这种方式不是很灵活,对多表连接存在一定的局限性。这里采用的第二种方法。6.接下来输入SQL语句,目前进行提取和转换的是事实表orders,sql语句必须写正确,要不然会影响后面的导入数据。点击分析可以查看是否有误,没有的话即可进入下一步。7.接下来可以编辑表之间的映射关系。当时我想把表名改成其他更形象具体的名字,可是不知道为什么,如果把【查询】改了之后,后面的数据加载就会有问题。这也是一个有待解决的问题。8.点击完成后即可以完成本次表格的导入。9接下

11、来如下图箭头所示,准备sql任务以结束,进入数据流阶段。按照选择屏幕左边的工具箱,拖出来数据流源的OLE DB源和数据流目标的OLE DB目标两个元件到界面上。10. 右击OLE DB源选择编辑,OLE DB连接管理器那一定要看清楚是对什么进行的编辑,如果是源,就要选source.。然后再对目标进行编辑,需要新建一个表来进行映射。11.直到所有的与事实表相关的维表全部编辑完,右击右侧的你刚刚生成的包,设为启动项,再运行程序。12.调试成功的话所有的元件底色都会变成绿色,如图所示:13.此时回到NorthDW数据仓库中可以发现,全部的表已成功导入完毕,接下来回到数据库系统中给所生成的各表手动建立

12、主键约束以及关系设置,全部操作完成之后本次数据仓库抽取-转换-导入数据宣告完成。Orders事实表Product维表Employee维表Customer维表实验步骤四、导出指定内容数据至Excel表格:1. 执行事实表Sales的数据导出至excel操作,首先右键单击NorthwindDW数据仓库,在弹出的菜单下依次点击任务->导出数据。2. 接着在需要复制的数据源处选择SQL Native Client 10.0,数据库选择NorthDW,点击下一步。3. 选择目标为Microsoft Excel,自行设置文件存放路径,Excel版本推荐选择97-2005,然后点击下一步,选择编写查询

13、以指定要传输的数据。4. 接着使用SQL语句写出想要导出来的表以及相应的内容即可。本次目标是导出Sales事实表的前100行5. 点击下一步后即可生成对应的Excel文件,导出任务成功,事实表前100个记录。 实验结果:1. 确定主题域、确定系统(或主题)的边界。完成了NorthDW的星型雪花结构设计,确定全部维表和事实表。2.设计、建立创建数据仓库NorthDW。3.将业务数据库Northwind的数据经过ETL导入(或加载)到数据仓库NorthDW。4.将数据仓库NorthDW事实表的前100个记录导出到Excel中。 实验问题和总结: 本次实验花了我很多的心思和心血,主要是觉得自己基础太

14、薄弱。实验的最终结果由于时间关系跟自己最初想做的不太一样。主要是在开始花掉了太多的时间,但是整个流程自己还是了解得挺好了,所以说做出一个更好的东西出来也只是时间问题。 在做的过程中,遇到了很多小问题。1. 创建数据仓库表的时候,到底是从原有的数据库中复制还是用sql语句创建复制。刚开始我是用的sql语句复制,当时就因为一个小小的圆点问题耽搁了很多时间,没有解决出来,就尝试用原有数据库中的表复制,但是问题就来了,多个表连接再映射没法做,最后还是通过sql语句实现的。2. 表映射完后,对数据的加载也出现了问题。刚开始老不成功,最后发现时表重复的原因,因为自己反复新建了很多个项目和相同的表,只要把书库仓库中的同名表删掉就可以加载了。导出数据的时候也出现了问题,后来发现原来我的表名和关键字重复了,只需要将数据仓库的order表重新命名就好了。4 生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论