基于OLAP技术的图书销售智能分析系统_第1页
基于OLAP技术的图书销售智能分析系统_第2页
基于OLAP技术的图书销售智能分析系统_第3页
基于OLAP技术的图书销售智能分析系统_第4页
基于OLAP技术的图书销售智能分析系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、.基于OLAP技术的图书销售智能分析系统:.;目 次 TOC o - h z u HYPERLINK l _Toc 绪论 PAGEREF _Toc h HYPERLINK l _Toc .引言 PAGEREF _Toc h HYPERLINK l _Toc .WEB环境下的OLAP技术的背景和历史现状 PAGEREF _Toc h HYPERLINK l _Toc 系统设计的技术创新 PAGEREF _Toc h HYPERLINK l _Toc .数据仓库技术 PAGEREF _Toc h HYPERLINK l _Toc .OLAP 技术 PAGEREF _Toc h HYPERLINK

2、l _Toc .数据发掘的技术 PAGEREF _Toc h HYPERLINK l _Toc .OLAP与数据发掘的关系 PAGEREF _Toc h HYPERLINK l _Toc 系统处理方案 PAGEREF _Toc h HYPERLINK l _Toc .在WEB环境下OLAP 技术的研讨 PAGEREF _Toc h HYPERLINK l _Toc .在WEB环境下OLAP 技术的实现方案 PAGEREF _Toc h HYPERLINK l _Toc 图书销售分析系统的总体设计和实现 PAGEREF _Toc h HYPERLINK l _Toc .系统的功能 PAGEREF

3、 _Toc h HYPERLINK l _Toc .数据源设计 PAGEREF _Toc h HYPERLINK l _Toc .数据库设计 PAGEREF _Toc h HYPERLINK l _Toc .数据库逻辑设计 PAGEREF _Toc h HYPERLINK l _Toc .数据库构造设计 PAGEREF _Toc h HYPERLINK l _Toc .图书销售 Analysis Services 设计 PAGEREF _Toc h HYPERLINK l _Toc .数据源设计 PAGEREF _Toc h HYPERLINK l _Toc .本系统设计的发掘模型 PAGER

4、EF _Toc h HYPERLINK l _Toc .系统界面设计 PAGEREF _Toc h HYPERLINK l _Toc .会员信息分析界面设计 PAGEREF _Toc h HYPERLINK l _Toc .系统图书分析窗体设计 PAGEREF _Toc h HYPERLINK l _Toc 总结 PAGEREF _Toc h HYPERLINK l _Toc 参考文献 PAGEREF _Toc h 绪论引言随着在数据库中存储的数据越来越多,人们曾经不满足于仅仅用计算机来实现业务的电子化,而希望从已有的数据中提炼出信息效力于决策人员。在这种情况下。OLAP作为一种强有力的分析和

5、决策工具,被越来越多的没、部门运用,同时在OLAP技术上也进展了许多任务。但是主要任务都是集中在如何有效对数据进展分析上。OLAP的数据仓库是为理处理能从大量的数据中得到有用的信息而做出了很大的奉献。对于一个企业而言,每天都要面临着大量的决策问题,随着企业市场竞争的加剧和信息社会需求的开展,企业从大量数据中提取所需的各类信息就显得越来越重要了,传统的数据库技术是单一的数据库资源,他适宜操作型事务处置,但对分析型处置的才干较弱。近几年来,在信息技术领域兴起并日益成熟的数据仓库技术以其面向主题组织、存储海量信息,以及在线分析支持组织机构管理决策等优秀功能成为和运用的热点。数据仓库系统的根本功能是:

6、数据获取、数据存储和管理、信息的访问。其最终目的是把分散的、不利于访问的数据转换成集中、一致、随时可用的信息,即为了决策目的将不同方式的数据集合成为一种特殊的格式,建立起一种新的数据存储体系,使数据操作环境与数据分析环境相到分别。数据仓库利用了计算机和信息技术IT的最新开展,把那些大量的,分散的企业数据进展集成,并从中把企业决策所需求的信息分别出来,借助OLAP利用存储在数据仓库中的数据,去进展各种分析操作,并以较为直观易懂的方式将结果前往给用户,能更加有效地支持企业的分析和决策,从而提高决策的质量与速度。WEB环境下的OLAP技术的背景和历史现状WWWWorld Wide web技术的问世,

7、给Internet带来了新的活力,也得到全世界的认可和信任。随着WEB的普及,人们之间的信息沟通更加的快捷和方便。WEB上的访问数据库也得到了日益广泛的运用,使数据库技术不断地开展和更新。近年来,随着企业信息化的飞速开展。企业拥有大量业务数据,但难以及时有效的利用数据信息用来给管理者做决策任务。数据仓库技术的运用使这个问题迎刃而解,数据仓库正是由数据库演化而来是为了更好的处置和维护WEB上的庞大的访问数据和企业中的业务数据。不仅如此,数据仓库技术还有另一方面的用途即使如何让运营管理者更好的运用数据信息来做决策任务,从而给企业管理者或运营者带来经济效益。为了实现这样的目的还要把OLAP技术运用于

8、数据仓库技术上面。OLAP技术作为一种强大有力的分析和决策工具,被越来越多的企业管理者和运营者运用。为了在OLAP技术上得到更有效的数据信息,并运用了体系构造即是C/S构造。在C/S体系构造中运用OLAP技术曾经暴显露很多问题。为理处理这样的问题而进展对WEB环境下的OLAP技术的研讨和实现。在数据库开展的早期,由于数据量不大而使数据库技术的查询功能和操作功能没得到明显的区分。但是随着数据库规模的扩展,人们对数据的要求也有了其他的想法,比如想获得以往的历史数据来做决策任务使在猛烈的社会运营中获得胜利。管理者或运营用户要想拿到这样的历史性有用途的数据信息必需经过复杂的查询才干得到,特别是那些高层

9、人员更需求这样有决议性的数据信息来做决策任务。在数据仓库中运用OLAP技术正好让这样任务得到满足。但是如今传统的基于C/S构造的OLAP体系构造却带来很多问题。传统的基于C/S构造的OLAP体系构造,其根本流程是由熟习数据库构造的系统管理员对数据库构造进展分析,根据其业务知识将数据库中的表及字段映射为多维构造,构造由多维构造构成的超立方体,然后根据用户分析员在运用过程中的要求对多维视图进展修正,从而再次构造超立方体,如此循环往复。这种构造在运用过程中暴显露了不少的问题:如首先,顾客运用一次而要进展一次安装和配置,使维护任务量大大的添加。其次,对存放在顾客端的报告的修正也是很复杂的。再者,其平安

10、性也是很薄弱的。OLAP技术是一种对数据进展多维查询的工具,主要是给管理者和运营者等决策性人员运用的,所以需求是多变性的。C/S构造不顺应需求的多变性所带来的要求,而有足够灵敏性的Internet/Intranet的层构造顺应了OLAP技术对需求的多变性的要求。系统设计的技术创新数据仓库技术根据数据仓库概念的含义,数据仓库拥有以下四个特点:面向主题。操作型数据库的数据组织面向事务处置义务,各个业务系统之间各自分别,而数据仓库中的数据是按照一定的主题域进展组织。主题是一个笼统的概念,是指用户运用数据仓库进展决策时所关怀的重点方面,一个主题通常与多个操作型信息系统相关。集成的。面向事务处置的操作型

11、数据库通常与某些特定的运用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的根底上经过系统加工、汇总和整理得到的,必需消除数据源中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。 相对稳定的。操作型数据库中的数据通常实时更新,数据根据需求及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,普通情况下将被长期保管,也就是数据仓库中普通有大量的查询操作,但修正和删除操作很少,通常只需求定期的加载、刷新。反映历史变化。操作型数据库主要关怀当前某一个时间段内的数据,而数据仓

12、库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开场运用数据仓库的时点)到目前的各个阶段的信息,经过这些信息,可以对企业的开展历程和未来趋势做出定量分析和预测。企业数据仓库的建立,是以现有企业业务系统和大量业务数据的积累为根底。数据仓库不是静态的概念,只需把信息及时交给需求这些信息的运用者,供他们做出改善其业务运营的决策,信息才干发扬作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供应相应的管理决策人员,是数据仓库的根本义务。因此,从产业界的角度看,数据仓库建立是一个工程,是一个过程。如图.所示。图.数据仓库体系构造图数据源:是数据仓库系统的根底,是整个系统的数据源泉。通常

13、包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处置数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;数据的存储与管理:是整个数据仓库系统的中心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决议了它有别于传统数据库,同时也决议了其对外部数据的表现方式。要决议采用什么产品和技术来建立数据仓库的中心,那么需求从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进展抽取、清理,并有效集成,按照主题进展组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库通常称为数据集市。 OLAP效力器:对分析需求的数据进展有效集成,

14、按多维模型予以组织,以便进展多角度、多层次的分析,并发现趋势。其详细实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP根本数据和聚合数据均存放在RDBMS之中;MOLAP根本数据和聚合数据均存放于多维数据库中;HOLAP根本数据存放于RDBMS之中,聚合数据存放于多维数据库中。前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据发掘工具以及各种基于数据仓库或数据集市的运用开发工具。其中数据分析工具主要针对OLAP效力器,报表工具、数据发掘工具主要针对数据仓库。 OLAP 技术联机分析处置OLAP主要有两个特点,一是在线性On-Line,表现为对用户恳求的快速呼应和交互式操作,

15、它的实现是由Client/Server这种体系构造来完成的,二是多维分析Multi-dimensional,这也是OLAP技术的中心所在。OLAP的在线性表达在于用户的交互呼应和快速呼应,多维性那么表达在它建立在多维视图的根底上,对数据进展由浅到深的分析。OLAP的用户是企业中的专业分析人员及管理决策人员,他们在分析业务运营的数据时,从不同的角度来审视业务的衡量目的是一种很自然的思索方式。例如分析销售数据,能够会综合时间周期,产品类别,分销渠道,区域分布,客户等多种要素来思索。这些分析角度虽然可以经过报表来反映,但是每一个分析的角度可以生成一张报表,各个分析角度的不同组合又可以生成不同的报表,

16、使得IT人员的任务量相当大,而且往往难以跟上管理决策人员思索的步伐。所以OLAP的多维性较好地满足了企业管理人员的需求。管理人员可对OLAP进展操作,即对多维数据集中的数据进展切片,切块,旋转,上卷和下钻操作,以对数据进展分析,让用户多角度、多侧面地去察看数据仓库中的数据,从而深化了解数据仓库中数据所蕴含的信息,并找出隐含在数据中的商业方式。根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP那么利用现有的关系数据库技术来模拟多维数据。在数据仓库运用中,OLAP工具普通是数据仓库运

17、用的前端工具,同时OLAP工具还可以配合数据发掘进展运用,添加决策分析预测功能。数据仓库的根本义务是运用获得的数据来进展大量的分析,以生成支持用户制定战略决策的信息。为了让数据仓库能作有意义的分析,数据必需以某种方法被映射,以便用户能利用一些数据来分析随着时间变化各商业维度的关键目的的数值。数据发掘的技术数据发掘是一种数据分析工具,它从大量的、不完全的、有噪声的、模糊的、随机的数据中提取人们感兴趣的数据方式、数据的普遍关系及其隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识,提取的知识表示为概念、规那么、规律、方式等方式,其目的是协助 决策者寻觅数据间潜在的关联,发现被忽略的要素,而

18、这些信息对预测趋势和决策行为将起到一定的支持作用。数据库中的数据发掘是一个多步骤的处置过程,这些步骤有:数据定义阶段,主要了解相关领域的有关情况,熟习背景知识,弄清楚用户决策分析对信息的要求。数据提取阶段,根据要求从数据库中提取相关的数据。数据预处置阶段,主要对前一阶段产生的数据进展再加工,检查数据的完好性及数据的一致性,对其中的噪音数据进展处置,对缺损的数据进展填补。数据发掘阶段,主要是运用选定的知识发现算法,从数据中提取出用户所需求的知识,这些知识可以用一种特定的方式表示或运用一些常用的表示方式。知识评价阶段,将发现的知识以用户能了解的方式呈现,根据需求对知识发现过程中的某些处置阶段进展优

19、化,知道满足要求。OLAP与数据发掘的关系OLAP与数据发掘都属于分析型工具,两者的区别在于:数据发掘的分析过程是自动的,用户不用提出确切的问题,只需用发掘工具去发掘隐藏在海量数据中的方式并预测未来的趋势,这种方式有利于发现未知的现实,但缺乏引导的数据发掘,往往所发现的许多方式适用性很差。OLAP是一种自上而下、不断深化的验证型分析工具,它经常以用户的假设为根底对数据查询与分析,进而提取出相关的信息。所以OLAP在数据分析方面存在着一定的局限性,即数据仓库的构造设计的方式不同决议了OLAP对数据的分析效果与分析层次;同时由于OLAP是用户驱动的,用户对所分析问题认识和了解程度在一定程度上会影响

20、到最终的分析结果。从对数据分析的角度看。OLAP位于较浅的层次;由于数据发掘可以发现OLAP所不能发现的更为复杂而细致的信息,因此处于相对较高的层次。OLAP与数据发掘的相互作用表达在以下几个方面:OLAP与数据发掘同作为数据分析工具,二者相比互有优劣。数据发掘结果的无法预测性及发掘结果能否有效等缺乏,决议了数据发掘需求另外一个分析工具作辅助,对其结果进展验证。OLAP是针对多维数据库而开发的分析工具,可以对多维数据进展较为全面的映射。所以在数据仓库的根底上,OLAP与数据发掘有了结合的能够,即数据发掘的结果可以经过OLAP进展验证,数据发掘在有验证的前提下,其发掘结果将呈现螺旋式上升的过程,

21、逐渐从模糊、混沌走向明晰、客观,进而表现为有价值的知识。胜利的数据发掘需求对数据进展探求性的分析。发掘所需的数据范围也许只是数据仓库的一部分,在此意义上,OLAP对多维数据的钻取、旋转等操作同样可以运用于数据发掘的过程中,作为基于数据仓库发掘的引导步骤。系统处理方案在WEB环境下OLAP技术的研讨长久以来,对数据库的操作都有两种不同的运用方式。一种是日常的对数据的操作型运用,另一种是对数据的查询型运用。这两种运用有着很大的区别,如表.。操作型运用查询型运用涉及的表或字段不多涉及大量的表和字段以增删操作为主,查询量少不修正数据,但进展大量的查询以业务人员运用为主,主要是细节信息面向管理人员或决策

22、人员,关注汇总信息和导出信息运用当前数据能够用到大量的历史信息表.两种运用的区别在数据库开展的早期,由于数据量不大,查询型运用和操作型运用的区别还不太明显。但随着数据库规模的逐渐增大,人们希望利用曾经有的历史数据来使本人在猛烈的竞争中取胜,分析人员经常是希望从多个不同的角度来察看一个或多个目的的值,并且希望从中找到这些目的之间的关系,这些要求导致查询复杂度越来越高,特别是这些查询恳求是分析人员在分析过程中根据显示的数据而实时产生的。这样的要求是业务系统无法胜任的。而OLAP技术就可以处理这样的查询要求。OLAP操作最主要的一点是要给分析人员提供一个多维数据超立方体,分析人员不需求了解实践的数据

23、库构造,他所看见的是与其习惯的企业逻辑构造类似的多维构造。根据他所关注的目的的不同,在多维构造内今昔感多维操作,如钻取、上挖、漂移、切片、切块等。数据库管理人员的责任就是根据企业的组织构造和实践运用人员的要求,在曾经有的数据仓库上构造多维数据库及多维视图。传统的基于C/S构造的OLAP体系机构,其根本流程是由熟习数据库构造的系统管理员对数据库构造进展分析,根据其业务知识将数据库中的表及字段映射为多维构造,构造由多维构造构成的超立方体,然后根据用户分析人员在运用过程中的要求对多维视图进展修正,从而再次构造超立方体,如此循环往复。这种构造在运用过程中暴显露了不少的问题:在每一个客户端都要安装和配置

24、多维查询软件。维护任务量很大;报告内容要根据运用者在运用过程中碰到的要求进展修正,因此要维护客户端的报告内容一致也是很复杂的;由于报告存放在客户端。因此能够会被修正,从而平安性也很不好。出现这些问题的根本缘由是没有留意到OLAP的特殊性:OLAP作为一个多维查询工具,不同于传统的业务系统,主要是给管理和决策人员运用的,需求是多变的,所以IT人员不能够依次设计出符合分析人员要求的超立方体,需求在运用过程中根据要求对超立方体不断进展调整和修正,但是这种多变性是C/S构造所不能顺应的。而且有基于Internet/Intranet的层构造才具有足够的灵敏性。WEB效力器担任完成阅读器与OLAP效力器,

25、数据仓库系统之间的通讯衔接。如图.所示。普通来说,WEB效力器经过运用CGI脚本、WEB效力器API、运用API和数据库API等,管理阅读器的通讯。在阅读器端,经过HTML、DMX、ActiveX控件、C#.NET来完成与用户的交互截面和控件。在实现基于WEB的OLAP运用时,往往采用自顶向下的设计。首先要确定用户如何在阅读器中的到报表信息,然后再给出一系列的过程完成基于阅读器的OLAP操作。这些过程该当包括发布信息,提供HTTP对数据库或运用效力器的动态数据恳求,设计支持分析功能的界面。在客户端基于WEB阅读器的OLAP报表被分为几个层次,其中包括没有分析功能的静态报表和可以进展分析的OLA

26、P运用界面,如维的旋转,数据的钻取等。另外,特别要提到的是,规范的HTML界面缺乏操作的灵敏与方便。C#.NET和ActiveX控件的运用会大大提高用户截面的友好程度,用户经过简单的操作就可以完成“旋转、“钻取的操作。数据仓库系统OLAP效力器WEB效力器客户阅读器 CGI API C#.NET、ActiveX 控件图.基于WEB的OLAP构造图在WEB环境下OLAP技术的实现方案OLAP专门用于支持复杂的决策分析,支持信息管理和业务管理人员决策活动的一种决策分析工具。它可以根据分析人员的要求,迅速、灵敏地对大量数据进展复杂的查询处置,并且以直观的、容易了解的方式将查询结果提供应各种决策人员,

27、使他们迅速、准确地掌握企业的运营情况,了解市场需求。而要进展OLAP多维数据分析就需求根据分析需求,同时结合数据仓库中的数据构造和特点建立OLAP多维模型。以超市销售系统为例子,并对该例子的OLAP销售多维模型进展了设计,如图.。时间编号年季度月日食品编号时间编号客户编号食品称号销售数量销售额平均价钱食品编号食品类别编号食品称号客户编号区域编号客户称号食品类别编号食品类别称号区域编号省市 销售现实表 食品维表 食品类别维表 客户维表 区域维表 时间维表 图. 超市销售分析的OLAP模型从图中可以看出在超市销售分析的OLAP模型中有一个销售现实表,在该现实表中每个元组只存储了一些指向各个维表的指

28、针即外键,时间编号、食品编号、客户编号等和一些相应的丈量数据度量值,销售数量、销售额和平均价钱,而与这些外键相对应的主键那么分别存放不同的维表中时间维表、客户维表、食品维表等。对现实表的查询就是获取指向维表的指针,当对现实表的查询与对维表的查询结合起来的时候,就可以检索大量的信息。一个完好的基于WEB的OLAP销售分析系统由三方面组成。第一,提取、清洗数据组成数据仓库;第二利用OLAP引擎建立相应的销售分析的OLAP立方体;第三运用前端开发工具,在WEB上访问OLAP立方体中包含的对象和集合。这里选用了SQL SERVER Analysis Services作为数据仓库支撑平台,SQL SER

29、VER 的Analysis Services 是一个管理多维数据集的效力器,数据源并抽取数据,实现高效地将客户数据加载到客户数据仓库中;效力器支持MDOLAP、ROLAP和HOLAP三种存储方式,用户本人定义运用的存储方式,定义各个维度并建立销售多维数据集,从而完成整个销售过程。图书销售分析系统的总体设计和实现 系统的功能本系统的功能可以划分为会员分析和图书分析两大部分(如图.图书小时分析系统功能构造图。图书销售分析系统会员分析图书分析分析会员级别分析会员消费分析会员类型分析图书引荐销售趋势分析销售关联分析图书销量分析图书定价分析图.图书销售分析系统功能构造图其中会员分析是对书店注册会员的信息

30、进展分析,详细功包括:会员级别分析:根据会员的个人信息来预测该会员最有能够成为哪级会员。会员消费分析:根据会员的个人信息来预测该会员在书店的消费类型。会员类型分析:根据会员的个人信息和消费记录来对会员进展自动分类。图书引荐:根据会员的以往购书记录来向引荐其他能够感兴趣的图书。其中图书分析那么是对书店图书的信息进展分析,详细功能包括:销售趋势分析:根据图书的历史销售信息来预测未来的销售额。图书销量分:根据图书的根本信息来预测其销量。销售关联分析:分析哪些图书经常会被一同销售。图书定价分析:根据图书的根本信息来估算定价。 数据源设计数据库设计数据库逻辑设计根据系统的需求分析定义系统中的实体,并采用

31、E-R图来如图.图书销售E-R图表现实体之间的逻辑关系。在关系图中主要有会员和图书两个实体,会员买书的一些情况和引荐书的情况。图书中包含了图书的销售量等相关信息。会员会员号姓名入会时间级别生日地域地址性别邮箱积分图书国际规范图书号图书号光盘书名存储量出版日期价钱上架时间页数条码号买书引荐书销售数据销售量会员号销售时间引荐数据书号类型折扣情况级别折扣率NNNN级别号 图.图书销售E-R图数据库构造设计在逻辑设计的根底上,进展了构造设计,数据库的设计主要有五个数据表和三个视图,下面分别对五个数据表和三个视图进展阐明。会员表:主要是记录会员的姓名、性别、地址、号码、会员号、会员的级别、会员的入会时间

32、。这些对视图进展查询有很大用途,同时对分析进展预测提供了可靠的信息资源。图书表:主要是记录图书的名字、出版时间、国际规范图书号、内带光盘、存储量、上架日期、条码、价钱、书的页数买书的记录表:主要记录会员买书的情况,里面记录会员的会员号、买书的时间、买书消费额。折扣表:主要是记录会员的级别所打的折扣。表内包括级别和折扣率。图书销售情况表:主要记录图书销售的情况。主要记录图书号、图书的销售额、图书销售的数量、图书销售的折扣。图书视图:主要是进展图书与会员的综合查询,它包含了图书的根本信息和销售情况汇总。图书销售视图:主要是对图书的销售情况的综合查询,它包含了图书的销售细明信息。图书每周销售视图:主

33、要是对图书进展每周的销售情况的综合查询,它包含了图书每周销售销量的信息。以下是五个数据表:表.会员表、表.图书表、表.买书的记录表、表.折扣表、表.图书销售表。列名数据类型允许空IDIntNameNvarchar()LevelsSmallintYRegTimeSmalldatetimeYGenderBitYBirthdaySmalldatetimeYDegreeNvarchar()YAreaNvarchar()YAddressNvarchar()YephoneNvarchar()YNvarchar()YScoreIntY表.会员表列名数据类型允许空IDIntISBNNchar()NameNva

34、rchar()CategoryIDIntYAuthorNvarchar()YPressNvarchar()YPublishDateSmalldatetimeYPriceSmallmoneyPagesSmallintYBarcodeNchar()CDBitYStorageIntYShelfDateSmalldatetimeY表.图书表列名数据类型允许空IDIntCustomerIDIntYSumSmallmoneyYTimesmalldatetime表.买书的记录表列名数据类型允许空LevelsIntDiscountFloat表.折扣表列名数据类型允许空IDIntSellIDIntBookIDI

35、ntNumberIntDiscountFloatYSumSmallmoneyY表.图书销售表以下是三个视图表:表.图书视图、表.图书销售视图、表.图书每周销售视图。列别名表输出排序类型排序顺序分组根据挑选器IDBookY 升序Group ByNameBookYGroup ByCategoryBookCategoryYGroup ByPressBookYGroup ByPriceBookYGroup ByRagesBookYGroup ByCDBookYGroup ByNumberSellNumberSellItemYSumSumSellSumSellItemYSumShelfDateBookY

36、Group By表.图书视图表.图书视图的综合查询的内部代码为:SELECT TOP() PERCENT dbo.Book.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.Press, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,SUM(dbo.SellItem.Number) AS SellNumber,SUM(dbo.SellItem.Sum) AS SellSum, dbo.Book.ShelfDateFROM dbo.Book INNER JOINdbo.BookCategory

37、ON dbo.Book.CategoryID = dbo.BookCategory.ID INNER JOINdbo.SellItem ON dbo.Book.ID = dbo.SellItem.BookIDGROUP BY dbo.Book.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.Press, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,dbo.Book.ShelfDateORDER BY dbo.Book.ID列别名表输出排序类型排序顺序分组根据挑选器IDSellItemYID

38、SellIDSellYCustomerIDSellYTimeSellYBookIDSellItemYISBNBookYNameBookYPressBookYPriceBookYNumberSellItemYDiscountSellItemYSumSellItemY表.图书销售视图表.图书销售视图的内部代码和关系图图.图书销售关系图:SELECT dbo.SellItem.ID, dbo.Sell.ID AS SellID, dbo.Sell.CustomerID, dbo.Sell.Time, dbo.SellItem.BookID, dbo.Book.ISBN, dbo.Book.Name,

39、 dbo.Book.Press, dbo.Book.Price, dbo.SellItem.Number, dbo.SellItem.Discount, dbo.SellItem.SumFROM dbo.Sell INNER JOIN dbo.SellItem ON dbo.SellItem.SellID = dbo.Sell.ID INNER JOIN dbo.Book ON dbo.Book.ID = dbo.SellItem.BookID图.图书销售关系图列别名表输出排序类型排序顺序分组根据DATEPART(week,dbo.sell.Time)WeekY升序Group ByIDBook

40、Y升序Group BySumSellSumSellItemYSum表.图书每周销售视图表.图书每周销售视图的内部代码为:SELECT TOP () PERCENT DATEPART(week, dbo.Sell.Time) AS Week, dbo.Book.ID, SUM(dbo.SellItem.Sum) AS SellSumFROM dbo.Sell INNER JOIN dbo.SellItem ON dbo.Sell.ID = dbo.SellItem.SellID INNER JOIN dbo.Book ON dbo.SellItem.BookID = dbo.Book.IDGRO

41、UP BY DATEPART(week, dbo.Sell.Time), dbo.Book.IDORDER BY Week, dbo.Book.ID 设计好了以上的表和视图是为了对其中的数据进展预测和分析,这些创建给以后的实现部分做了很好的铺垫。图书销售 Analysis Services 设计数据源设计 在数据源设计运用了数据发掘技术,首先用“数据源导游将数据中表.会员表、表.图书视图、表.图书销售视图、表.图书每周销售视图参与工程的数据源试图中。其中会员表中存储了书店注册会员的根本个人信息;同时为了支持数据的分析,设计中还要向会员表中添加两个计算列。两个计算列分别为Age和DayConsu

42、me。它们的表达式分别为“YEAR(GETDATE()-YEAR(dbo.Customer.Birthday)和“CAST(Score AS Decimal)/DATEDIFF(DAY,RegTime,GETDATE() 是用来计算会员的年龄和会员的积分除以其注册天数以得到该会员的日平均消费金额。合理地运用计算列,可以大大方便发掘构造和发掘模型的创建,同时防止修正源数据库中的根底表格和视图。在Analysis Services工程中也需求向图书表中参与两个计算器分别DaySellNumber和DaySellSum,计算表达式为:“SellNumber/DATEDIFF(DAY,ShelfDat

43、e,GETDATE()、“SellSum/DATEDIFF(DAY,ShelfDate,GETDATE()。它们是用来计算图书日均销量。为了对会员购书的有关信息进展发掘,在数据源视图中还应将会员表和图书销售视图关联起来。如图.数据源视图图书销售图。如图.数据源视图图书销售图数据源的设计对以后数据发掘起到决议的作用。在本设计中运用了多个数据发掘的方法。这些方法大大方便了界面的分析和预测。管理者经过预测的信息知道内部图书销售的各个情况和了解会员的相关活动信息。本系统设计的发掘模型贝叶斯发掘模型:是用来对会员级别的分析。主要运用了“Microsoft Nave Bayes发掘技术对数据源视图中的会员

44、表作为事例对Levels和DayConsume列作为可预测列进展预测。决策树发掘模型:来分析会员的消费程度最有能够处在哪个区间,主要运用“Microsoft 决策树发掘技术对数据源视图中的会员表作为事例对Levels进展忽略,而对DayConsume进展可预测。聚类分析发掘模型:是用来分析会员的年龄和学历进展分析。是忽略Area、Levels、Gender,而Age和Degree作为输入列对DayConsume进展预测。关联规那么发掘模型:用于分析会员与图书之间的关联,进而向会员引荐其他能够感兴趣图书。在设计中用会员表作为事例表嵌套图书销售表,Gender、Age、Degree、Area作为输

45、入列,BookSell进展预测。时序发掘模型:是用于图书的分析,用每周销售视图来做事例,ID和 Week作为输入键对SellSum进展预测。神经网络发掘模型:是预测新书的销量,图书表作为事例,Category、Press、Price、Pages和CD列进展输入,对DaySellNumber进展预测。顺序分析发掘模型:用于实现图书销售的关联分析,会员表作为事例,图书销售表销售表作为嵌套表,对Name进展预测。线性回归发掘模型:是对图书价钱的预测,图书表作为事例,Pages为输入列,对Price进展预测。.系统界面设计.会员信息分析界面设计 对于会员信息分析的Windows窗体设计视图如图.所示。

46、在对应的窗体类CustomerAnalysisForm.cs中定义了如下成员字段: protected SqlConnection _connDatabase; protected AdomdConnection _connAnalysis;protected AdomdCommand _cmd;其中前两个数据衔接对象分别指向SQL Server数据库BookSell和Analysis Server数据库,后一个数据命令对象那么用于在Analysis Services数据库上执行DMX查询对象的创建都在窗体的构造函数中完成:public CustomerAnalysisForm(SqlConn

47、ection connectionDatabase, AdomdConnection connectionAnalysis) _connDatabase = connectionDatabase; _connAnalysis = connectionAnalysis; _cmd = _connAnalysis.CreateCommand(); InitializeComponent(); 窗体在初始化和封锁将翻开和封锁相应的数据衔接;窗体的初始化过程同时还运用SQL数据命令将一切会员的ID号载入到“会员编号组合框cmbcustomerID中:private void CustomerAnaly

48、sisForm_Load(object sender, EventArgs e) SqlCommand cmd = new SqlCommand(SELECT DISTINCT ID FROM Customer ORDER BY ID, _connDatabase); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read() cmbCustomerID.Items.Add(reader); reader.Close(); dgvLevels.AutoGenerateColumns = false; 图.会员分析窗体Cust

49、omerAnalysisForm选择会员编号并按下“载入会员信息按钮后,程序将再次经过SQL命令来读取会员的个人信息,并显示在窗体上部的各个控件中: private void btnLoadInfo_Click(object sender, EventArgs e) if (cmbCustomerID.Text = ) MessageBox.Show(会员编号不能为空, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); return; SqlCommand cmd = _connDatabase.CreateCommand(); cmd.Comm

50、andText = SELECT Birthday, Area, Degree, Gender, RegTime, Levels, Score FROM Customer WHERE ID= + cmbCustomerID.Text; SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read() dtpBirthday.Value = (DateTime)reader; if (reader != DBNull.Value) cmbArea.Text = reader.ToString(); if (reader != DBNull

51、.Value) cmbDegree.Text = reader.ToString(); if (bool)reader) rdbMale.Checked = true; else rdbFemale.Checked = true; dtpRegTime.Value = (DateTime)reader; cmbLevel.Text = reader.ToString(); nudScore.Value = (int)reader; reader.Close(); 窗体下部是一个TabControl容器控件,它的个TabPage页分别用于实现会员的级别分析、消费分析、类型分析和图书引荐功能。当用

52、户按下“会员级别标签页中的“预测按钮后,程序首先根据相关输入来构造DXM预测查询字符串,而后调用贝叶斯模型CustomerLevels来预测会员级别:private void btnPredictLevels_Click(object sender, EventArgs e) if (cmbArea.Text = | cmbDegree.Text = ) MessageBox.Show(地域或学历不能为空, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); return; int iAge = DateTime.Now.Year - dtpBir

53、thday.Value.Year; _cmd.CommandText = string.Format(SELECT Predict(Levels), PredictHistogram(Levels) From CustomerLevels NATURAL PREDICTION JOIN (SELECT AS Age, AS Area, AS Degree, AS Gender) AS t, iAge, cmbArea.Text, cmbDegree.Text, rdbMale.Checked); AdomdDataReader reader = _cmd.ExecuteReader(); if

54、 (reader.Read() MessageBox.Show(string.Format(该会员最有能够成为级会员, reader), 预测结果); AdomdDataReader reader = (AdomdDataReader)reader; DataTable table = new DataTable(); table.Load(reader); dgvLevels.DataSource = table; reader.Close(); 留意在上面的DXM预测查询中运用了Predice和PredictHistogram两个预测函数,其中后者前往的结果包含会员到达各个级别的概率和支持

55、计数,详细信息将显示在DataGridView控件中。窗体对会员级别的预测效果如图.所示。图.预测会员级别类似的,当用户按下“会员消费标签页的“预测按钮后,程序将调用决策树模型CustomerConsume来预测会员的消费程度:private void btnPredictConsume_Click(object sender, EventArgs e) if (cmbArea.Text = | cmbDegree.Text = ) MessageBox.Show(地域或学历不能为空, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); retur

56、n; int iAge = DateTime.Now.Year - dtpBirthday.Value.Year; _cmd.CommandText = string.Format(SELECT Predict(Dayconsume), PredictHistogram(Dayconsume) From CustomerConsume NATURAL PREDICTION JOIN (SELECT AS Age, AS Area, AS Degree, AS Gender) AS t, iAge, cmbArea.Text, cmbDegree.Text, rdbMale.Checked);

57、AdomdDataReader reader = _cmd.ExecuteReader(); if (reader.Read() MessageBox.Show(该会员最有能够属于 + that.GetConsumeDescription(double)reader); AdomdDataReader reader = (AdomdDataReader)reader; dgvConsume.Rows.Clear(); double dConsume; while (reader.Read() if(readerDayconsume != null & double.TryParse(reade

58、rDayconsume.ToString(), out dConsume) dgvConsume.Rows.Add(that.GetConsumeDescription(dConsume), reader$PROBABILITY, reader$SUPPORT); reader.Close(); reader.Close(); 在预测输出时,程序经过成员方法GetConsumeDescription将日均消费数值转换为消费程度的文字描画;对会员消费的预测效果如图.所示。protected string GetConsumeDescription(double consume) if (cons

59、ume = ) return 忠实会员; else return 普通会员; 图.预测会员消费程度再看“会员消费标签页中的“预测按钮,其单击事件处置代码中调用了聚类分析模型CustomerType来预测会员类型,窗体的预测效果如图.所示。private void btnPredictType_Click(object sender, EventArgs e) if (cmbDegree.Text = ) MessageBox.Show(学历不能为空, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); cmbDegree.Focus(); retu

60、rn; int iAge = DateTime.Now.Year - dtpBirthday.Value.Year; int iRegDays = (DateTime.Now - dtpRegTime.Value).Days + ; decimal dDayConsume = nudScore.Value / iRegDays; _cmd.CommandText = string.Format(SELECT Cluster(), PredictHistogram(Cluster() From CustomerType NATURAL PREDICTION JOIN (SELECT AS Age

温馨提示

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

评论

0/150

提交评论