您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第9章 数据仓库与客户关系管理(3)
RalphKimball(MicrosoftSQLServer产品开发团队的实现者、顾问组成员)根据数据仓库设计的一般规律,提出了数据仓库设计的九个步骤:第一步:选择主题的内容第二步:确定如何表达事实表第三步:识别并确认维度第四步:选择事实第五步:在事实表中存储事先计算的公式第六步:修饰维度表第七步:选择数据库的持续时间第八步:跟踪变化缓慢的维度第九步:决定查询优先级别和查询方式4.4CRM数据仓库设计示例SQLServer2000的安装与进入企业管理器SQLServer2000的某些功能要求在MicrosoftWindows2000Server以上的版本才能运行。因此大家安装WindowsServer2000(建议为Advanced版本),可以学习和使用到SQLServer2000的更多功能,以及享受更好的性能。安装完成后,会在开始菜单—程序中创建SQLServer2000程序组,里面有很多管理工具,一般用的最多的就是“企业管理器”。1.安装初始界面,选择相应SQL2000版本2.选择“安装SQLServer2000组件”3.选择“安装数据库服务器”4.下一步5.在“本地计算机”创建或修改“SQL实例”6.如果想创建一个新的SQL2000服务实例,选第一项;如果想删除修改已有实例就选第二项7.这个名字随意,默认的就是计算机名8.许可协议,当然是“YES”“是”了9.我们学习SQL2000,当然要服务器端和客户端全部安装了,不然很多操作就做不了10.初次安装默认名字就是计算机名!如果想改用别的名字,就把“默认”前的勾去掉,在下面的文本框里写11.这步很重要,自己选择安装组件,以及安装路径,建议不要安装在系统盘,安装到别的盘上去,至少保留1G可用空间!12.一般“使用本地系统帐户”,远程服务器才用域13.登陆验证,我们一般选“混合模式”,密码最好自己设置一个不易破解的了,这里的使用“空密码”是为了学习方便才采用的,注意!14.启动SQL2000服务器:开始菜单——程序——MicrosoftSQLServer——服务管理器在图中点击“开始/继续”,选中“当启动OS时自动启动服务”。如果不希望自动启动,则在每次使用演示环境前需要重新按照此说明启动。15.开始菜单-程序-SQLServer程序组-企业管理器启动SQLServer企业管理器4.4.1SQLServer2000数据仓库简介I/O通过DataTransformationServices实现。SQLServer提供了比较完善的元数据服务,通过与默认知识库(MicrosoftRepository)数据库集成,共享有关的元数据。SQLServerOLAPServices支持在线分析处理。PivotTableServices提供客户端OLAP数据访问。MicrosoftManagementConsole提供日程安排、存储管理、性能监测、报警和通知的核心管理。Access和Excel可以作为数据展现工具。4.4.2概念模型设计数据仓库是面向主题、集成的、相对稳定的,反映历史变化的数据集合,它整合了在线联机处理过程中产生的零散的、杂乱的、面向处理的数据。客户数据处理一般面向几个核心主题:客户销售事实信息、客户销售机会信息、客户抱怨信息和客户关怀信息等。数据仓库数据模型多采用星型关系构架,以一个核心的主题数据表(称为事实表)为中心,其他关系表(维表)通过主键外键关系同主体数据表关联,维表之间没有直接的关联关系。例如,客户抱怨作为一个主题,其星型架构由一个事实表和5个维表构成。事实表:客户抱怨维表:相关产品维表:客户维表:抱怨时间维表:抱怨接受员工维表:抱怨处理部门SQLServer2000提供的示例数据库Northwind作为OLTP基础数据库,介绍客户销售主题数据仓库的设计。需求分析:多角度多层次分析客户的销售事实,为客户关系管理提供依据。如:方便得到具体客户的销售数据,得到不同客户在不同产品上的销售数据,分析不同地区的销售情况,分析不同时间的销售情况等。分析基础OLTP数据库,辨别事实数据和维数据。Northwind是一个商贸公司销售数据库,它存储了:订单数据、客户数据、产品数据、员工数据、供货商数据等。以交易为处理单位,关系复杂,如图所示。ProductsProductID*ProductNameSupplierIDCategoryIDQuantityPerUnitUnitPriceUnitInStockUnitOnOrderReorderlevelDiscontinuedCategoriesCategoryID*CategoryNameDescriptionPictureOrderDetailsOrderID*ProductIDUnitPriceQuantityDiscountSuppliersSupplierID*CompanyNameContactNameContactTitleAddressCityRegionPostalCodeCountryPhoneFaxHomePageOrdersOrderID*CustomerIDEmployeeIDRequireDateShippedDateShipViaFreightShipNameShipAddressShipCityShipRegionEmployeesEmployeeID*LastNameFirstNameTitleTitleOfCourtesyBirthDateHiredateAddressCityRegionPostalCodeCountryCustomersCustomerID*CompanyNameContactNameContactTitleAddressCityRegionPostalCodeCountryPhoneFax分析可得销售事实数据有:Quantity,Discount,UnitPrice,和由此计算出来的Total。基本数据:Customer,Product,Supplier,Time。CustomersCustomerID*CustomerNameContactNameCityRegionCountryEmployeesEmployeeID*NameTitleReportsToSuppliersSupplierID*CompanyNameCategoriesCategoryID*CategoryNameProductsProductID*CategoryIDProductNameQuantityPerUnitSalesEmployeeID*ProductID*SupplierID*CustomerID*OrderDate*QuantityUnitPriceDiscountTotal4.4.3数据仓库创建模型设计完成以后,就可以将OLTP数据库中的数据转入数据仓库中了。DataTransformationService/DTS可以执行数据的导入Import、导出Export和转换Transform。DTS设计器是SQLServer提供的数据转换工具,提供图形用户接口,支持用户自定义。以NorthWind为数据源,根据上面设计的概念模型,介绍CRM数据仓库的创建。1、新建目的数据库数据转移也是转移到数据库中去SQLServer2000中数据仓库也是以数据库的形式存在的,只是它的设计模式与OLTP系统不同罢了。首先要新建一个数据库:Northwind_DW打开SQLServer企业管理器,登录服务器,鼠标右键单击“数据库”图标,在弹出菜单中选择“新建数据库”。在常规选项中填写数据库名字Northwind_DW,设置数据库属性,一般用默认就可以了。单击“确定”,创建完成。2、DTS创建数据源和目的数据库在EnterpriseManager上右击数据转换服务图表-新建包,将弹出DTS设计器界面。在设计器左侧工具栏中找到MicrosoftOLEDBProviderforSQLServer图标,左键单击。建立一个与数据源的连接:在弹出对话框的新建链接(T)栏输入Northwind,在数据库(B)的下拉列表中选取Northwind选项。其他默认设置,确定。与上面一样,再在设计器左侧工具栏中找到MicrosoftOLEDBProviderforSQLServer图标,左键单击。建立一个与数据目的地的连接:在弹出对话框的新建链接(T)输入Northwind_DW,其中数据库(B)下拉列表选项中选取Northwind_DW选项。此时在DTS设计器中显示了两个连接3、转移事实表创建好源与目的地之后,接下来就是将数据从数据源目的地,首先转移事实表-“Sales”。先单击Northwind图标,然后按住ctrl键再单击Northwind_DW图标,即同时选中Northwind图标和Northwind_DW图标。注意顺序不能反!然后在工具栏上找到“转换数据任务”按钮,单击即可以创建一个从Northwind数据源指向Northwind_DW数据目的地的箭头,为这个箭头命名“Sales事实表转换数据任务”。双击转换数据任务箭头弹出转换任务属性框单击【源】标签,在【描述(D):】中输入“Sales事实表转换数据任务”,然后选中【SQL查询(S):】单选按钮,并输入以下语句:SELECTe.EmployeeID,p.ProductID,s.SupplierID,c.CustomerID,o.OrderDate,od.UnitPrice,Od.Quantity,od.DiscountFROMOrderso,[OrderDetails]od,Employeese,Productsp,Supplierss,CustomerscWHERE(o.OrderID=od.OrderID)and(o.EmployeeID=e.EmployeeID)and(o.CustomerID=c.CustomerID)and(od.ProductId=p.ProductID)and(p.SupplierID=s.SupplierID);单击【目的】标签,因为Sales还不存在,所以继续单击【创建(R)…】,输入语句:CREATETableSales([EmployeeID]intNOTNULL,[ProductID]intNOTNULL,[SupplierID]intNOTNULL,[CustomerID]nchar(5)NOTNULL,[OrderDate]datetimeNULL,[Quantity]smallintNOTNULL,[Uintprice]moneyNOTNULL,[Discount]realNotNULL,[Total]moneyNOTNULL)得到的结果如下:单击【转换】标签,可以看到DTS设计器为我们指定的字段之间的转换任务。观察箭头,名字相同的字段已经自动对应转换了。选择左边的三个字段,再选择右边的total(按住ctrl键不动);然后点“新建”按钮。在弹出的窗口中选择“ActiveXScript”,单击“确定”。在弹出对话框里单击“属性”按钮,进入ActiveX脚本转换属性设置窗口。在【语言(L)】标签的下拉列表中选取JScriptLanguage选项,并在右侧窗口中输入以下代码:FunctionMain(){DTSDestination(“Total”)=DTSSource(“Quantity”)*DTSSource(“Unitprice”)*(1.0-DTSSource(“Discount”));Return(DTSTransformStat_OK);}FunctionMain(){DTSDestination(Total)=DTSSource(Quantity)*DTSSource(Unitprice)*(1.0-DTSSource(Discount));Return(DTSTransformStat_OK);}单击[确定]按钮,表示ActiveXScript编辑完成完成脚本转换编辑后,返回转换任
本文标题:第9章 数据仓库与客户关系管理(3)
链接地址:https://www.777doc.com/doc-6458826 .html