一套商品打折活动信息系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

商品打折数据库的建立

近期看了idilent的文章《使用面向对象技术解决商品打折问题》,文后有读者提出要求:如果不同商品的折扣不同怎么办?或者有买一百送五十这种方式,或不同会员等级的折扣不同。怎么处理?”idilent认为打折这个问题并不是能够通过一个数据库的字段就可以解

决的。有不同的会员,不同的产品,不同的销售计划,而这些也是在不停的不变化和增加的。而会员和产品的打折,以及店庆等打折,虽然都是折扣,但是很难抽象成数据库中的一个字段或者几个字段,不使用程序解决,而希望只是通过改变数据库中的数据,在目前阶段实现起来可能还比较困难。

关键词:店铺管理商品打折管理信息管理数据查询数据库Visual Basic Access

其实,我们可以把商品销售打折这样的商务规则分解成几个部分,分析各个部分之间的关系,从中找出关键点,再将其泛化数据建模,即可实现让用户自己定义打折规则。下面开始分析商品销售打折的商业规则:

一个商品打折信息系统,必定存在下面两个实体:顾客,商品,打折这种商业规则一定是围绕着这两个实体以及相互间的关系而制定的。回顾我们的购物经历,打折的需求应该可以分为三种:

1)对特定商品的折扣一般有如下几种情况:按售价进行一定百分比的打折;原价->特价(某个时间段内进行的)的打折;捆绑优惠销售(如购买某一(几)种商品后即可按较低的价格或折扣购买另一(几)种商品)。

2)对顾客的的打折方式一般采用会员制,即是按会员等级在交费时直接给与一定的折扣

优惠,或者在会员累积消费一定金额后给以一定比例的返点优惠,该方式需要顾客办理会员卡之类的身份标识卡。

3)对总额的打折方式一般是顾客消费后送出的限定最后使用期限的代金券。

注意到上面三大类折扣方式分解开来,都离不开商品,所以这三种打折方式都是商品的共有属性,应该归入到商品表中。另外,一般大型超市多拥有多个分店,而且可能出现各个分店的打折规则略有不同的情况,上面的三种打折规则得同相应的分店一一对应。

因为水平有限,只做了第一种情况:按售价进行一定百分比的打折。最后,数据建模大致如下:

店铺表(shop)

名称类型约束条件说明

shop_id int 无重复店铺标识,主键

shop_name varchar(40) 不允许为空店铺名称

shop_addr varchar(80) 不允许为空店铺地址

……

商品类别表(ware_type)

名称类型约束条件说明

type_id int 无重复商品类别标识,主键

type_name varchar(20) 不允许为空商品类别名称

father int 不允许为空该类别的父类别标识,如果是顶节点的话设定为某个唯一值

layer char(6) 限定3层,初始值为000000 类别的先序遍历,主要为减少检索数据库的次数

商品折扣规则表(discount)

名称类型约束条件说明

id int 无重复折扣规则标识,主键

s_id int 不允许为空店铺标识,和shop.shop_id关联

w_id int 不允许为空商品标识,和ware.ware_id关联

d_value float 不允许为空打折数值,用来记录百分比或特价enddate datetime 不允许为空该规则的终止日期

number int 允许为空该规则所允许的最大销量

unit varchar(10) 允许为空销售单位

当然,由于本人所认知的打折方式并不全面,也没有和相关的业务人士深入讨论过这方面的问题。所以,上面的数据建模并不能保证覆盖现实商品销售中的的所有打折方式。其次,数据库水平有限,无法尽善尽美。

相关文档
最新文档