一个零售企业的数据仓库设计方案
张雄辉
(福州大学数学与计算机科学学院福建福州350002)
【摘 要】 目前国内超市零售商业发展迅速,且大都利用了计算机管理系统,但都仅仅停留日常业务处理功能及
提供一些简单的查询统计功能,几乎都没有上数据仓库。随着数据量的急剧增长,用户很难再像从前那样,自己根
据数据的分布找出规律,并根据此规律进行分析决策。而如果建立了数据仓库,用户就可借助于数据仓库技术中
相应的数据挖掘工具,自动发现数据中隐藏的规律或模式,为决策提供支持。本文就国内一个大型仓储式超市的
数据仓库设计提出一些见解和建议,以期促进我国超市数据仓库的发展,提高经济效益。
【关键字】 数据仓库 数据挖掘 POS 数据模型 多维数据集 粒度 数据分区 SQL Server2000
1 应用背景 ®使分析人员得出的报表时间更短,更具可信度,提供了
随着国内零售商业的迅猛发展,超市正逐步成为全国零售 生产率;
商业的一种重要形态。目前超市大都利用了POS及后台的计 ®可以方便从大量数据分析出有用的信息;
算机管理的方法,但仅仅停留在日常的收银、结算及进货等日 ®支持将来网上及电话订购,提供个性化服务;常业务处理功能上,最多也只能提供一些简单的查询统计功 3 2数据模型分析
能,几乎都没有上数据仓库。随着数据量的急剧增长,用户很 为达到设计数据仓库的目的,我们必须对操作型的数据模难再像从前那样,自己根据数据的分布找出规律,并根据此规 型进行分析,其中主要必须对销售管理中的营业销售的数据模律进行分析决策。而如果建立了数据仓库,用户就可借助于数 型进行分析。通过分析,我们认为必须抽取的主题域有“会据仓库技术中相应的数据挖掘工具,自动地从大量的数据中发 员” 、“商品” 、“职员” 、“供货商”及“销售”共5个主题,因此我们现隐藏于其后的规律或数据间的关系,为用户的决策分析提供可以“销售单明细表”为事实表建立多维数据集,并以“时间” 、智能的、自动化的辅助手段。以下我们就以海南省海口市一个 “会员” “商品” “供货商” “职员” “产品分类”6个维度。因此我们
图1 :数据库Afposd销售管理主要使用的数据表及其关系图 度。从以上规模分析来看,由于数据量不大,采用任何低的粒3 设计数据仓库 度级别都可以,因此首先我们选取最低的粒度,即每日的详细3 1目标和目的我们建立数据仓库的目的和最后可达 销售数据表作为数据仓库的输入。
到的目标是: 但很多时候,十分需要提高存储与访问数据的效率,在本
®从生产环境移走大量数据,使生产环境更易于纠错、重 系统中,我们还是使用另一个低的粒度,这里我们选择按月来构、监控和索引,并且维护负担也将大大减轻; 综合销售明细表,以便了解如某某员工某月共销售了多少金额
通过在数据仓库的细节级上创建两种粒度级,D S S设计 通过分析本系统数据库Afpos的销售单主表ML-Sale及销者可一举两得。大部分D S S处理是针对被压缩的、存取效率售单明细表DL-Sale,我们可以得知,销售单主表F-PayMoney 、F-高的轻度综合级数据进行的。如果什么时候需要分析更低的 ChangeMo ney完全是销售事务存储中间结果的字段,可以不包细节级( 5 %时间或更少的可能) ,可以到数据的真实档案层。含在事实表。F-SaleSn 、F-SaleCode 、F-SaleQty 、F-SalePrice 、F-To2在粒度真实档案层上,访问数据将是昂贵的、麻烦的和复杂的 talMoney、F-Sp ecMoney以及F-Cheap Typ e是可能的事实数据,事情,但如果必须进入这一细节级也只得如此。 但是其中只有F-SaleSn 、F-SaleCode 、F-SaleQty和F-SalePrice是
3)分区设计数据分区的总体目的是把数据划分成小的 因为公司的销售行为而生成出来了,所以它们一定是事实数
物理单元。以 据,至于F-Cheap Typ e 、F-Sp ecMoney与F-SumMoney也可以当作方便操作者和设计者在管理数据时具有更大的灵活性。数据 维度数据,因为我们可以知道以何种促销或折扣的产品销售状分区标准有: 况最佳。而F-To t alMo ney可以通过累计商品结算价F-Sum2
时间;业务范围;地理位置;组织单位;所有上述标准针 Mo ney来获取,所以也可不要。
对本系统的特点,业务范围、地理位置、组织单位都比较 在事实表中除了事实数据之外,还应该包含索引所使用的单一,分区效果不明显,惟有时间比较有意义,因此我们采用时字段,这样我们最后为本系统所设计的事实表应该包含销售单间的标准来分区,而零售数据一般以年为结算单位,因此我们号、销售日期时间商、品编码、收银员代码、会员卡号;还有度量以年为单位分区,如: 值包括优惠方式、销售数量商、品售价商、品结算价。
2001年销售数据; 5)尽量缩减事实表中字段的大小
2002年销售数据; 因为数据量有限,暂时不考虑缩减事实表中字段的大小;
通过以上分区的另一个好处是将来每年数据定义可以不 时间也是一项重要的事实数据,应该将一件事实发生的时同而不会影响到数据仓库的使用,这对于存在很多不确定风险 间加入事实表。以年季、度、月来分析事实表;
的零售业无疑是个极大的福音。 将事实表的分析结果列示如下:
3 4设计事实表及转换程序功、能和算法 数据源:M S-Sale,DL-Sale
一个事实表是由OL TP系统转入而生成的,数据是根据用 索引字段:F-Sale Sn,来自:MS-Sale表
户的需求来决定要在数据仓库中存储那些信息,当在设计一个 F-SaleDate Time,来自:MS-Sale表
量也不大,所以可将所有的事实数据都存入数据仓库之中; 设计之后,使用数据转换来实现该表,与通常的使用CRE2
2)为每一项功能决定其统计采样原则 ATE TABLE语句不同,在明确了事实表所需要的字段之后,通
在创建的时候,可以使用统计采样的方式,仅将部分的事过DTS功能(Data Transformation Service)来实现表,这将在后实数据加入数据仓库,然后以采样的数据为基准,再来计算集面的数据转换章节中详细讨论。
合信息。在本系统的数据库中,因为数据量不多,所以将存储 SQL语句如下:
所有的事实数据,这样就不用决定统计采样的原则。 SEL ECT F-SaleSn,F-SaleDate Time, F-Emp Code, F-
3)规范化和反规范化 Vip Code, F-Cheap T
通过分析本系统数据库Afpos的销售单主表ML-Sale及销 yp e, F-ProdCode , F-SaleQty, F-SalePrice, F-SumMoney售单明细表DL-Sale,我们可以得知,原销售单主表与销售单明 FROM DL-Sale,Order Details,MS -Sale
细表是一对多的关系,且销售单主表只是针对销售时有用,而 WHERE DL-Sale F-SaleSn =ML-Sale F-SaleSn我们数据仓库更关注的是每个商品的销售情况,因此有必要将 Order By DL-Sale F-SaleSn
之Sale-Dw; 后,实际上也已确定了要创建哪些维
度表看作是事先将所需数据加以合并并存储起来的结果,这样 间是有其先天层次架构的,而且一般而言,时间都会是一项维在使用的时候就不需要做临时合并的工作,可以节省时间。 度数据,而SQL Server2000针对时间支持了一些特殊的功能,
在一个维度表中会有层次数据,在设计时把相关的层次数 我们只需要F-SaleDate Time字段就可以了。因为F-SaleDate2据加入到同一个维度表,可以提高查询是细分数据的运行速 Time是可能重复的,所以在Select语句中加入了distinct关键度。 词,以删除重复的日期。
1 《电子商务与现代物流》:张铎、林自葵编著,北京大学出版社,2002年出版;
2 《电子商务》:加里施耐德詹、姆斯佩里著,成栋等译,机械工业出版社,2000年出版;
3 《数据仓库》(Building the Data Warehouse) :美W H Inmon著,王志海等译,机械工业出版社,2000出版
GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...
zji怎么样?zji是一家老牌国人主机商家,公司开办在香港,这个平台主要销售独立服务器业务,和hostkvm是同一样,两个平台销售的产品类别不一平,商家的技术非常不错,机器非常稳定。昨天收到商家的优惠推送,目前针对香港邦联四型推出了65折优惠BGP线路服务器,性价比非常不错,有需要香港独立服务器的朋友可以入手,非常适合做站。zji优惠码:月付/年付优惠码:zji 物理服务器/VDS/虚拟主机空间订...
DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...