您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于SQL Server2008决策支持系统模型的研究和应用
基于SQLServer2008决策支持系统模型的研究和应用ResearchandApplicationofDecisionSupportSystemModelBasedonSQLServer2008(1.广州番禺职业技术学院2.华南理工大学)余明辉1胡耀民1,2YUMINGHUIHUYAOMIN摘要:分析了决策支持关键技术之间的关系,提出了一个基于SQLSERVER2008的决策支持系统模型,并以该模型为参考开发了珠宝行业决策支持系统。关键词:决策支持;数据挖掘;联机分析处理;DMX;MDX中图法分类号:TP311.52文献标识码:AAbstract:AccordingtoanalysisofrelationshipofkeytechnologyaboutDecisionSupport,modelofDecisionSupportSystemmodelbasedonSQLServer2008wasprovided.AndajewelryindustryDecisionSupportSystemwasdevelopedbasedonthismodel.Keywords:DecisionSupport,DataMining,OLAP,DMX,MDX1.引言市场竞争的日趋激烈,信息对于企业的生存和发展发挥着越来越重要的作用。在企业计算机技术使用过程中,承载信息的数据随着时间的推移而不断增长[1],并且分布在不同的系统平台上,具有多种存储形式,这使得企业难以从海量的业务数据中找到真正有用的决策信息。因此,迫切需要一种方法对这些信息进行有效地提炼、加工,并为企业全局的战略决策和长期趋势分析提供更有效的支持。SQLSERVER2008中提供了决策支持解决方案,以原有信息系统为基础进行数据整合,利用这些极有价值但又散乱的生产、销售数据,来搭建集联机分析处理(OnlineAnalyticalProcessing,OLAP)、数据挖掘(DataMining,DM)于一体的决策支持系统[2],为决策者动态掌握企业生产进度和后续决策提供信息支撑。其建议的方案中客户端是微软的office软件,这为熟悉office软件的办公人员提供了很大方便,然而展示方式不能个性化,且不能通过互联网访问。现在社会,商务活动频繁,企业决策者办公场所经常变动,希望随时随地能够使用企业的决策支持系统,如何基于SQLSERVER2008创建B/S结构决策支持系统就是本文要探讨的问题。2.决策支持的相关支撑技术决策支持系统是一个交互式的计算机系统,它利用数据库、模型库和方法库及各种会话部件,提供基于软件开发、硬件集成及行业分析经验的综合解决方案[3,4],是数据仓库(DataWarehouse,DW)、数据挖掘、联机分析处理技术的一种综合运用。决策支持的支撑技术为余明辉:副教授。基金项目:广州市番禺区科技攻关项目,(基金颁发部门:广州市番禺区科技局;项目名称:基于虚拟制造的珠宝生产加工企业资源规划系统的研究开发;编号:2008-z-48-1基金申请人:余明辉,胡耀民)数据仓库、数据挖掘、联机分析处理[5]。数据仓库是一个“面向主题的、集成的、时变的、非易失的数据集合”[6]。数据仓库将从多个数据源收集的信息,按照单一的模式进行存储,并通常将这些信息驻留在单个存储节点。数据仓库系统中最重要的应用是联机分析处理与数据挖掘[7]。联机分析处理是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维度特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术[8]。数据挖掘的任务是从数据中发现模式。模式有很多种,按功能可分为两大类:预测型(Predictive)模式和描述型(Descriptive)模式[9]。数据仓库是面向主题的,一个数据仓库中的数据可能面向多个主题,主题之间能共享数据,且这些共享的数据一般是进行联机分析处理时的所用维。进行联机分析处理时要在数据仓库的基础上抽取一些特定数据建立好面向单个主题的多维数据集(数据立方体[10]),主题和多维数据合集之间的存在一一对应关系。联机分析处理可对这些面向单主题的多维数据集进行数据分析。数据挖掘则是对数据仓库或是多维数据集的数据进行分析和计算,把各列数据之间的内在联系通过数学计算的方式找出来,或是进行模式识别,如识别最优客户群;或是进行预测,如预测未来的销售走势。图1描述了业务数据库、数据仓库、多位数据集、联机分析处理、数据挖掘之间的关系。图1数据仓库、联机分析处理、数据挖掘关系图图中数据仓库是源于3个不同业务数据库,数据仓库中共从业务数据库中抽取了面向两个主题的数据,并且这两个主题的数据相互共享了3个不同的数据表,为了进行联机分析处理建立了多维数据集,多维数据集上共有两个立方体,每个立方体单独的面向一个主题,而数据挖掘直接进行在数据仓库上。3.基于SQLSERVER2008的决策支持系统模型在微软推荐的解决方案中,用户基本上可以通过向导可视化的生成决策支持系统。这种数据服务和办公软件绑定的解决方案中,决策支持系统的个性化和使用场所大受限制,图2给出了基于SQLSERVER2008的决策支持B/S应用模型,该模型使用ASP.NET和C#编写客户端,大大拓宽了决策支持系统的使用场合且用户可自己订制个性化数据处理结果。模型共分为3层:数据集成层、数据模型层、数据展示层。数据仓库业务数据库1业务数据库2业务数据库3主题1主题2OLAP数据挖掘多维数据集立方体2立方体1文本文件Excel文件AccessSqlServer7.0SqlServer2005IntegrationService(SSIS)平面文件连接OleDB连接数据流任务(数据提取、转化、加载)OleDB连接数据源SqlServer2008AnalysisService(SSAS)多维数据集多维数据集MDXASP.NET客户段(OLAP和数据挖掘)SQLSERVER2008数据仓库多维数据集ADODMMS数据挖掘WEB控件DMX数据挖掘模型和结构数据集成层数据模型层数据展示层图2基于SQLSERVER2008决策支持模型3.1数据集成层数据集成层把多种异构数据形成单一模式的数据,交由SQLServerDBMS管理。企业一般有大小、开发时间都可能互不相同的多个不同业务系统,企业的决策信息是这些系统数据的综合和分析,故决策支持系统首要一步就是把所有这些系统数据进行集成。SQLServer2008中IntegrationServices(集成服务)可以把不同类型的数据库和平面文件整合统一到SQLServer数据库,即可以提取和转换来自多种源(如XML数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个目标。这个整合过程也就是决策支持系统数据仓库的建立过程。在IntegrationServices中创建一个可运行的包对象(包是可被检索、执行和保存的工作单元)以进行数据转化。包对象中包含一个控制流以及一个或多个数据流(可选),控制流主要定义了数据集成过程动作的发生顺序和重复次数,数据流定义了数据集成时源数据与目标数据的映射关系。控制流包含三种组件:容器、任务、优先约束;数据流也包含三个组件:源、转换和目标。源从数据存储区(如图2关系数据库中的表和视图、文件)中提取数据;转换是修改、汇总和清洗数据;目标将数据加载到数据存储区(SQLServer2008数据库),或创建内存中的数据集。3.2数据模型层数据模型层包含数据分析的基础——数据仓库和进行数据分析、挖掘的模型。在数据分析层中含有SQLServer2008的数据库引擎和SQLServer2008AnalysisServices两大组件。数据库引擎是用于存储、处理和保护数据的核心服务,可创建用于联机事务处理或联机分析处理的关系数据库。在本模型中,创建的是用于联机分析处理和数据挖掘的数据库,其数据源于其他联机事务处理系统的数据库,也就是实际上的数据仓库。AnalysisServices以SQLServerDBMS所管理的数据仓库作为数据源建立多维数据集,以支持联机分析处理。为了比较深入的描述事实,模型中多维数据集的构成选用维度带有层次结构的雪花模式。AnalysisServices包含了创建复杂数据挖掘解决方案所需的功能和工具:数据挖掘模型和数据挖掘设计器,数据挖掘扩展插件(DMX)语言。数据挖掘模型有关联模型、聚类分析模型、时序模型、贝叶斯模型、决策树模型、线性回归模型、逻辑回归模型、神经网络模型。数据挖掘设计器可用于创建、管理和浏览数据挖掘模型。AnalysisServices提供了可用于联机分析处理的多维表达式(MultiDimensionaleXpressions:MDX)和可用于数据挖掘的数据挖掘扩展插件(DataMiningExtensions:DMX)两个进行编程的内部语言。MDX和DMX都是微软对SQL语言的一种扩充,MDX用于联机分析处理中对多维数据集的查询,DMX用于对数据挖掘模型的创建和查询。利用AnalysisServices提供的向导工具和图形设计界面,可以图形方式创建MDX和DMX的程序段,这功能对于创建自定义预测和复杂查询很有用,在编写客户端时如果复杂查询不会编写,可以借助该工具生成查询代码。3.3数据表示层数据表示层使用ASP.NET和C#相结合,调用联机分析处理和数据挖掘的API以进行数据的查询和分析结果展示。客户端与AnalysisServices进行通信的Microsoft.NETFramework数据访问接口是ADOMD.NET。ADOMD.NET与AnalysisServices建立TCP/IP或HTTP连接之后,用XMLforAnalysis协议与分析数据源通信,以接收符合XMLforAnalysis规范的SOAP请求和响应。客户端编程方式是类似于使用ADO,先创建连接,然后生成命令对象,命令文本可以是MDX、DMX、AnalysisServicesScriptingLanguage(ASSL)、SQL,命令执行可能返回数据集也可能不返回结果。也就是说,客户端程序员在C#或VisualBasic中使用ADOMD.NET可以灵活的进行联机分析处理和数据挖掘的结果查询。AnalysisServices提供可用于MDX和DMX语言的内部函数以供客户端调用,同时用户也可以像编写SQL的存储过程一样,编写一些特定功能的函数存储在AnalysisServices端,然后在客户端代码中调用。4应用实例根据上述模型所作的实例系统是一个珠宝企业的决策支持系统。该企业的生产、销售均开发了相关的MIS系统,每天都会有大量的生产过程性数据和进销存数据。为了进一步提高珠宝企业信息化管理水平和生产效能,有必要以原有各单位开发的信息系统为基础进行数据整合,利用这些极为有价值的散乱的生产、销售数据,搭建集联机分析处理、数据挖掘于一体的决策支持系统。该实例分数据源和数据整合、多维数据集和联机分析处理、数据挖掘模型和数据挖掘客户端代码等几个部分叙述。4.1数据源和数据整合构建珠宝产销数据仓库所需数据主要来源于几个方面:(1)客户资源和基本配方数据,采用的都是SQLSERVER数据库。(2)生产过程数据,采用的是SQLSERVER数据库。(3)人事管理数据,采用的是SQLSERVER数据库(4)Excel电子文档。部分数据目前还未开发相关的业务信息系统进行集中管理,对此类数据,助理员一般是将其输入到制式的Excel电子表格,定期上报或下发。在珠宝决策支持系统中,建立了用于数据ETL的IntegrationServices中的包对象,形成了记录基础性数据和统计性数据为主的数据仓库,数据仓库面向主题主要有生产进度、黄金损耗、销售情况等。4.2多维数据集和联机分析处理为了对珠宝企业决策者最为关心的莫过于生产进度、黄金损耗、销售情况等与决策密切相关的数据,所以在决策支持系统中建立了生产进度立方体、黄金损耗、销售情况立方体。其中生产进度用每
本文标题:基于SQL Server2008决策支持系统模型的研究和应用
链接地址:https://www.777doc.com/doc-615483 .html