小型超市数据仓库系统SMDW的研究与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1小型超市数据仓库系统SMDW的研究与实现1杨富华2唐常杰刘欣(泸州医学院计算机教研室)(四川大学计算机系)摘要本文介绍独立开发的小型超市数据仓库系统SMDWV10的主要功能、用户界面及设计开发中遇到的特殊困难和相应解决方法并介绍该系统在关联规则挖掘中实现Aprori算法的具体措施。关键词数据仓库DBMSODS超市数据挖掘关联规则中图法分类号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连接SQLServerOracleAccess等以形成多数据源的数据仓库。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的建设上作了有益的探索实现了基本框架和功能。数据仓库的建设是一项复杂的、循环往复不断完善的过程需要管理人员、开发人员等各方面的密切配合通力

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功