一个零售企业的数据仓库设计方案
张雄辉
(福州大学数学与计算机科学学院福建福州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出版
易探云香港vps主机价格多少钱?香港vps主机租用费用大体上是由配置决定的,我们选择香港vps主机租用最大的优势是免备案vps。但是,每家服务商的机房、配置、定价也不同。我们以最基础配置为标准,综合比对各大香港vps主机供应商的价格,即可选到高性能、价格适中的香港vps主机。通常1核CPU、1G内存、2Mbps独享带宽,价格在30元-120元/月。不过,易探云香港vps主机推出四个机房的优惠活动,...
说明一下:gcorelabs的俄罗斯远东机房“伯力”既有“Virtual servers”也有“CLOUD SERVICES”,前者是VPS,后者是云服务器,不是一回事;由于平日大家习惯把VPS和云服务器当做一回事儿,所以这里要特别说明一下。本次测评的是gcorelabs的cloud,也就是云服务器。 官方网站:https://gcorelabs.com 支持:数字加密货币、信用卡、PayPal...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...