您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 小型超市数据仓库系统SMDW的研究与实现
1小型超市数据仓库系统SMDW的研究与实现1杨富华2唐常杰刘欣(泸州医学院计算机教研室)(四川大学计算机系)摘要本文介绍独立开发的小型超市数据仓库系统SMDWV10的主要功能、用户界面及设计开发中遇到的特殊困难和相应解决方法并介绍该系统在关联规则挖掘中实现Aprori算法的具体措施。关键词数据仓库DBMSODS超市数据挖掘关联规则中图法分类号TP391随着信息社会需求的发展和市场竞争的加剧用户对数据库系统提出了更高的要求从大量的业务数据中探索业务活动的规律性进行分析和推理从而为决策提供依据。为了适应这一需求数据仓库(DW)技术应运而生。数据仓库概念创始人W.H.Inmon将其定义为“数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合用以支持经营管理中的决策制订过程。”[4]数据仓库技术强调了“处理过程”而不是强调某一个软件或硬件产品。数据仓库是对原始的操作数据从历史的角度组织和储存数据的处理过程它把各个信息源中与决策支持有关的数据经过提取、转换、过滤和集成按主题存放起来供决策人员查询和分析从而作出科学性的和战略性的决策。数据仓库已在应用中取得了明显的经济效益。例如世界上最大也是发展最快的零售商Wal*Mart利用数据仓库分析商品之间的关联。其中一个意外的发现是:跟尿布一起购买最多的商品竟是啤酒!原来先生们下班后为小孩买尿布时又随手带回两瓶啤酒。Wal*Mart就将尿布和啤酒摆放在同一货架上结果是尿布与啤酒的销量双双增长。结合我国国情我们研制了一个小型超市数据仓库系统SMDWV1.0。1SMDW的数据源及数据仓库管理系统分析作为数据仓库SMDW保存的是历史数据和总结数据数据包含相应的时间属性数据经过集成是面向分析环境的。尽管数据仓库的创建有着自身的特色但本质上以传统的数据库技术作为储存数据和管理资源的基本手段。SMDW系统由三部分组成数据仓库、数据仓库管理系统(DWMS)和数据仓库工具。在整个系统中数据仓库居于核心地位。而数据仓库中数据及其操作的特点决定了其ENGINE(DWMS)将比数据库ENGINE(DBMS)简单许多。本系统中DWMS由DBMS担任。SMDW的“主题”是用DBMS中的一系列表实现的。DBMS的关系型结构能较好地适应多维数据的表示和存储。关系数据库在模拟多维数据时将多维结构划分为两类表事实表和维表。事实表存储事实的度量值和各个维的码值维表存储维的描述信息包括维的层次、成员类别和1国家自然科学基金69773501号支持项目2撰写本文期间在四川大学作访问学者2码值等事实表通过每一维的码值同维表联系在一起该结构被称为“星型模式”。对于层次复杂的维为了避免冗余数据占用大量的空间可以用多张表来描述该维。这样在“星”的角上出现了分支这种扩展的星型模式被称为“雪花模式”。关系数据库的XBase系列在我国曾经大量使用并积累了大量的原始操作数据建立能够包容XBase系列为数据源的数据仓库具有现实意义。基于这一国情SMDWV1.0版首先以XBase系列为数据源并将在升级版本中用ODBC连接SQLServerOracleAccess等以形成多数据源的数据仓库。2SMDW用户界面和主要功能SMDW用户界面如下图一主菜单有基础数据处理数据仓库生成查询和分析系统管理。其要点如下2.1数据提取过滤集成从超市每日交易的详细数据中提取数据将不一致的字段长度、不一致的赋值、丢失的数据输入等经过清理过滤按照统一的编码、统一的格式整合集成然后装入数据仓库。2.2主题的选择和汇总SMDW是面向主题的目前版本选取了超市最重要的两个主题商品和顾客。超市经理最关心的是商品的销量、销售额和利润也很关心顾客的购买行为和习惯。某某顾客经常购买哪些商品?然后可以定期给他函寄商品信息。哪些商品经常被顾客一起购买?然后可以合理地摆设货架及商品比如经典例子中的尿布与啤酒。从商品这个主题汇总了每种商品的日销量、日销售额及日利润。在日汇总的基础上汇总了每种商品的每周、每月的销量、销售额和利润及这三个数据的日平均、最大和最小值。从顾客这个主题汇总了每个顾客每日购买的商品的购买量和购买额(未购买商品则无相应数据)。在日汇总的基础上汇总了每个顾客每周、每月购买商品的购买量和购买额(未购买商品则无相应数据)。2.3查询功能从商品这一主题可查询超市每种商品的每日销量、销售额和利润每种商品的每周销量、销售额和利润及这三个数据的日平均、最大、最小值每种商品的每月销量、销售额和利润及这三个数据的日平均、最大、最小值所有查询结果均可以表格和图形(直方图、圆饼图、折线图等)两种方式显示。从查询结果可分析出什么商品最畅销什么商品最赚钱用以指导超市的经营策略。从顾客这一主题可查询每个顾客每日的购买量和购买额每周的购买量和购买额每月的购买量和购买额(未购买商品则无相应数据)所有查询结果均可以表格和图形(直方图、圆饼图、折线图等)两种方式显示。从查询结果可知顾客的购买力和购买行为如某顾客经常买高档商品则说明他的购买力强某顾客常常买中低档商品少有买高档商品则说明他的购买力一般超市从而可有针对性地培养顾客群。2.4数据挖掘分析SMDW可分析超市日销售额、日利润月趋势周销售额、周利润年趋势月销售额、月利润年趋势并以表格和图形(直方图、折线图、圆饼图等)两种方式显示结果。因此可作历史比较和趋势分析。关联规则是形式如下的一种规则“在购买面包和黄油的顾客中有90%的人同时也买了牛奶”(面包+黄油→牛奶)。关联规则挖掘在给定支持度阈值后使用Apriori算法产生大项集然后在给定置信度阈值下进行关联规则分析挖掘交易项目之间关联规则分析3哪些商品顾客最有可能一起购买从而预测顾客未来的购买行为以便为顾客提供更好的服务以吸引顾客扩大市场。2.5系统管理SMDW中有大量的综合总结数据从商业角度来说是敏感的商业秘密系统安全尤为重要。系统把用户分为超级用户和一般用户并拥有不同的权限和口令。一般用户只能见到常规数据无权查看敏感数据。数据源数据提取数据仓库查询分析图一SMDW的三级菜单图二SMDW体系结构3SMDW体系结构SMDW体系结构如上图二。1)源数据SMDW的数据来源于超市各分店每日交易数据即多个关系数据库。2)提取转换在确定数据仓库信息需求后首先进行数据建模然后确定从源数据到数据仓库的数据提取、清理和转换过程最后划分维数及确定数据仓库的物理存储结构将数据装入SMDW。3)仓库管理元数据是数据仓库的核心它用于存储数据模型和定义数据结构、转换规划、仓库结构、控制信息等。仓库管理包括对数据的安全、归档、备份、维护、恢复等工作这些工作需要利用数据库管理系统(DBMS)的功能。4)查询分析工具用于完成实际决策问题所需的查询检索工具、数据挖掘分析工具等以实现决策支持系统的各种要求。4特殊难点和特殊技术4.1扩展的雪花模式超市业务较为复杂产生了超市业务流程为特点的一系列特殊困难。SMDW为了表示多维数据以便查询和分析在数据的组织上既不宜采用星型模式也不能单纯用雪花模式我们采用有多个事实表的雪花模式称为扩展的雪花模式。交易详细数据、商品销售日总结数据、顾客购货总结数据存储采用雪花模式如下图三的雪花模式表示交易详细数据的组织方式。商品销售周总结、月总结数据采用扩展雪花模式如下图四的扩展雪花模式表示商品销售周总结数据的组织方式。4.2操作数据存储为了简化SMDW的数据传输接口和SMDW管理数据的复杂度我们建立了DB1DBn数据提取数据过滤集成数据加载当前数据历史数据综合数据仓库管理元数据库用户查询工具用户分析工具4操作数据存储ODS。ODS是面向主题的、集成的、可变的、当前或接近当前的能支持企业日常的全局应用的数据集合。ODS一方面包含细节的、当前或接近当前的数据,可进行联机操作型处理另一方面又是一种面向主题、集成的数据环境,可以辅助企业完成日常决策。无论是DW还是ODS,其获得数据都是通过各自的记录系统。在建立了ODS之后,ODS的记录系统就在各个应用中了,DW的记录系统一般在ODS之中。这样DW与操作型环境的界面变得简单了。尽管这时ODS的记录系统的接口复杂一些,但由于ODS的数据改变可以快速完成,故处理起来更为方便。如果不使用ODS则获取数据及刷新DW,都增加了困难。在没有ODS时,DW的记录系统分散于各个非集成的应用之中。这时由于各个应用的数据分散且变化快,数据向DW集成时,DW的转换接口将很复杂而且需要处理好各应用在时间上的同步等问题这将大大提高DW的管理难度并降低系统效率。图三雪花模式在事实表周围放射出多层次的维表图四有多个事实表的扩展雪花模式4.3数据仓库维护超市的特殊业务决定了其数据仓库是易变的如何定期向数据仓库追加数据也是一个十分重要的技术。我们知道数据仓库的数据是来自OLTP的数据库中。问题是如何知道究竟哪些数据是在上一次追加之后新生成的。在SMDW中我们利用日志文件将每日交易数据记录下来并建立ODS避免了扫描整个数据库提取数据只要局限日志文件即可。日总结采用简单堆积文件即每日从交易数据库中提取和加工数据并逐天积累存储起来。日总结方式有手动方式和自动方式。手动总结时间可选择在超市每天关门后进行比如夜晚时间自动总结时间可设置在每日子夜时分设置好后机器可自动进行总结。周总结、月总结采用轮转综合文件。在一周的七天中数据被逐一记录在每日数据集中然后七天的数据被综合并记录在周数据集中接下去的一个星期日数据集被重新使用以记录新数据。由于每月的天数通常不能被一周的天数7整除若在周总结数据基础上进行月总结则月总结数据就会多出或少出几天数据为此我们选择在日总结数据的基础上进行月总结。同理日数据集达到一月后数据被再次综合记入月数据集接下去的一个月日数据集被重新使用以记录新数据。同样总结方式也有手动和自动两种。4.4关联规则和Apriori算法的实现Apriori算法是关联采掘的基本算法用Apriori算法产生大维表商店id店名地址Tel事实表商店id商品id顾客id售货员id日期id售价数量金额维表顾客id顾客名称地区地址Tel维表商品id商品名称厂家id商品类别进货日期进价库存数维表日期id日月年维表售货员id姓名性别年龄地址Tel维表厂家id名称地址Tel维表商品类别类别名称档次维表地区省别维表商店id店名地址Tel维表周次日期段事实表1商店id商品id周次总销量最大最小平均事实表2商店id商品id周次销售总额最大最小平均事实表3商店id商品id周次总利润最大最小平均维表商品类别类别名称档次维表商品id商品名称厂家id商品类别进货日期进价库存数维表厂家id名称地址Tel5项集时由于大项集的元素仍然是集合单纯用表不便于运算单纯用数组又不便于显示结果因此采取表与数组交替进行。一般地有n个项目的大项集Ln产生的关联规则有C1n+C2n+Cn-1n种可能组合这样的情况太多并且大多数情况往往是用户不感兴趣的。为此在关联规则编程时采取与用户进行交互来挖掘交易项目之间的关联规则。用户指出感兴趣的关联规则的左边项目集和右边项目集然后经过运算指出用户指定的关联规则是否成立。这样既提高了查询速度和效率又避免了产生不需要的规则。5运行测试用模拟的超市日常交易一年的数据进行运行测试以下是系统查询分析得到的部分结果图五领带销量月趋势图图六超市日利润月趋势图图七商品周销量饼图图八月利润趋势折线图图九有关联规则:面饼、面酱=>烤鸭图十无关联规则∶领带、香水=>口红、护肤膏66小结为小型超市开发的数据仓库系统SMDW立足于我国国情先以XBase为数据源然后逐步升级到多数据源在DW的建设上作了有益的探索实现了基本框架和功能。数据仓库的建设是一项复杂的、循环往复不断完善的过程需要管理人员、开发人员等各方面的密切配合通力
本文标题:小型超市数据仓库系统SMDW的研究与实现
链接地址:https://www.777doc.com/doc-2538758 .html