超市销售管理系统数据库.docx
《超市销售管理系统数据库.docx》由会员分享,可在线阅读,更多相关《超市销售管理系统数据库.docx(39页珍藏版)》请在冰豆网上搜索。
![超市销售管理系统数据库.docx](https://file1.bdocx.com/fileroot1/2023-2/1/20401566-3411-4d16-9582-2381f4e135c4/20401566-3411-4d16-9582-2381f4e135c41.gif)
超市销售管理系统数据库
1.系统需求分析阶段
1.1处理对象及其组织
系统要处理的基本对象包括营业员基本信息、会员基本信息、管理员基本信息、商品基本信息、货架基本信息、销售单基本信息、退货单基本信息等多个对象。
各个基本对象包含信息如下所示:
营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);
会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);
商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);
销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);
销售商品(销售单号,商品编号,销售数量);
货架(货架编号,管理员号,货架名称);
管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);
退货单(退货单号,商品编号,退货数量);
打印(退货单号,销售单号,营业员号,打印时间)。
1.2系统功能及信息处理
本中小型超市销售管理系统大体上包含三个模块,为前台收银业务处理,前台退货业务处理以及后台销售处理功能模块,具体如下所述。
1.2.1收银业务
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式),计算本次交易的总金额,同时打印销售发票给顾客(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号等信息)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,对此会员一定优惠,并将所购物品的总金额累计到该会员的总消费金额中,记录好会员信息。
1.2.2退货处理
顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。
通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。
1.2.3销售处理
作为超市后台管理部分,此系统应该具有功能包括当打印销售发票或退货发票时自动增减货架上商品数量,当货架商品不足时自动生成缺货警告信息给管理员,系统能够生成销售排行榜供管理员查看。
1.5系统结构图
通过对中小型超市销售管理业务及其功能方面的分析,构造出超市管理系统的总体结构图如下:
图1超市管理总体结构图
由于本系统为销售管理系统,只是超市管理系统的一部分,因此只实现了收营业务、退货处理和销售处理部分的功能。
对这三个处理模块进一步细化得到如下分结构图:
图1-2退货处理结构图
图1-1收银业务结构图
图1-3销售处理结构图
1.6数据流程图(DFD图)
1.6.1系统数据流程图符号解释
图2-1外部实体图2-2处理过程图2-3数据流图2-4数据存储
1.6.2顶层数据流程图
图3顶层数据流程图
上图是中小型超市销售管理系统的顶层数据流程图。
由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。
在顶层数据流程图中,把超市销售管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。
1.6.3第一层数据流程图
图3-1第一层数据流程图
确定系统的主要处理功能后,可以将系统分为收银业务、退货处理和销售处理三个模块。
再确定各个输入和输出数据流以及与之相关的数据结构,从而得到中小型超市销售管理系统的第一层数据流程图,如上图所示。
1.6.4第二层数据流程图
再将第一层数据流程图分解细化可得到第二层流程图,如下图所示:
图3-1-1收银业务数据流程图
图3-1-3销售处理数据流程图
1.7数据字典
数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典的具体内容详见附录1。
2.数据库结构设计
数据库结构设计内容主要包括概念设计和逻辑设计两个部分。
2.1概念设计
2.1.1分E-R图建立
根据分解第二层数据流程图可分别得到三个分E-R图。
2.1.2全局/整体E-R图
由于在做局部E—R图时,只考虑了局部功能模块,这样会导致各个E—R图之间有很多不一致的地方,造成在合并各分E—R图生成全局E—R图时有很多冲突。
通过仔细分析各个分E-R图之间的联系,消除冗余,消除冲突,最终成功生成全局E-R图,如下图所示。
图5系统总E-R图
2.2逻辑设计
2.2.1建立关系模式
根据以上规则将本中小型超市管理系统的E—R图转换为关系模式的结果如下所示:
(关系的主码用下划直线标出,外码用下划波浪线标出)
此数据库系统包括营业员、会员、管理员、商品、货架、销售单、销售商品、退货单、打印多个关系模式:
营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);
会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);
商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);
销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);
销售商品(销售单号,商品编号,销售数量);
货架(货架编号,管理员号,货架名称);
管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);
退货单(退货单号,商品编号,退货数量);
打印(退货单号,销售单号,营业员号,打印时间);
2.2.2关系模式规范化处理
2.2.3用户子模式建立
用户子模式可通过建立视图来表示。
视图是虚表,是从一个或几个基本表(或视图)中导出的表,在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。
定义视图可以简化应用程序、可以实现一定的权限控制。
为了满足用户需求及方便后期数据库实施阶段的设计,此系统设计了如下视图。
各视图定义:
商品保质期(商品名称,生产日期,保质期,过期日期)
下架商品(商品名称,货架名称,过期日期)
营业员基本信息(营业员号,上班时间,下班时间,月薪,联系电话)
会员总消费情况(卡号,姓名,累计消费)
商品价格(商品名称,价格)
商品存放(商品名称,货架名称)
缺货商品(商品名称,现有存量,底线存量)
货架信息(货架名称,存放商品名)
上班情况(上班时间,营业员姓名,管理员姓名)
工作人员联系方式(姓名,编号,联系电话)
工作人员工资信息(姓名,编号,工资)
表1(中小型超市销售管理系统)各视图详细说明
序号
视图名称
作用
备注
V-1
营业员信息
便于查询、更改营业员信息
V-2
会员总消费
便于查询会员累计消费情况
V-3
商品价格
便于查询、更新商品价格
V-4
商品存放
便于查询、管理商品存放
V-5
缺货商品
便于生成缺货单
若现有存量等于或小于底线存量,则为缺货
V-6
货架信息
便于管理货架,查询、更新货架存放商品
V-7
上班情况
便于查询管理一个时间段内工作人员上班情况
V-8
工作人员联系方式
便于联系、查询、管理工作人员
增加编号为了区别同名人员
V-9
工作人员工资信息
便于查询、更新、管理工作人员情况
增加编号为了区别同名人员
V—10
商品保质期
便于查询每件商品的过期日期
V—11
下架商品
便于查询需强制下架商品名单
当商品过期日期小于今天日期时,商品需强制下架
V—12
消费单上各商品情况
便于生成销售发票给顾客
2.2.4关系模式逻辑结构定义
表2(中小型超市销售管理系统)关系模式汇总
编号
关系名称
模式说明
T—1
ShopAssistant(详见附录2-1)
(详见附录2-1)
T—2
Administrator(详见附录2-2)
(详见附录2-2)
T—3
Member(详见附录2-3)
(详见附录2-3)
T—4
Goods(详见附录2-4)
(详见附录2-4)
T—5
GoodsShelf(详见附录2-5)
(详见附录2-5)
T—6
BillSell(详见附录2-6)
(详见附录2-6)
T—7
SellGoods(详见附录2-7)
(详见附录2-7)
T—8
ReturnGoods(详见附录2-8)
(详见附录2-8)
T—9
PrintBill(详见附录2-9)
(详见附录2-9)
3.数据库物理设计
此数据库系统建立的索引如下所述。
(1)对于基本表ShopAssistant(营业员),由于要经常对属性列Snum查询从而获得某个营业员的完整信息,并且很少对其更新,因此可以给属性列Snum建一个聚簇索引。
(2)同理对于基本表Member(会员),由于要经常对属性列Mnum查询从而获得某个会员的完整信息,并且很少对其更新,因此可以给属性列Mnum建一个聚簇索引。
(3)对于Adminastrator(管理员),可在其属性列Anum上建立唯一性索引,索引值按降序排列。
(40同样对于基本表GoodsShelf(货架)、Goods(商品),可在其主属性上建立唯一性索引。
(5)对于基本表BillSell(销售单)、SellGoods(销售商品)、ReturnGoods(退货单)、PrintBill(打印),由于其属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引。
表3(中小型超市销售管理系统)索引表
所在表名
索引名称
索引类型
所在表的属性
ShopAssistant
dex_Snum
聚簇
Snum
Member
dex_Munm
聚簇
Mnum
Adminastrator
dex_Anum
唯一
Anum
GoodsShelf
dex_GSnum
唯一
Gsnum
Goods
dex_Gnum
唯一
Gnum
4.数据库实施与测试
数据库实施与测试阶段主要内容包括数据库实施和测试两个部分。
4.1数据库实施
4.1.1数据库及数据库对象建立
主要包括:
数据库、基本表、视图、索引、触发器以及存储过程。
相应T-SQL和PL/SQL语句详见附录3.
4.1.2数据入库
对各个数据表成功要录入了50条左右的测试记录,测试结果满足设计要求。
4.2数据库测试
数据库测试阶段主要内容是对建立的数据库及数据库对象进行测试,对测试结果进行分析,是否满足设计要求。
测试结果见6.附录
附录1数据字典内容
表1-1(中小型超市销售管理系统)数据项(汇总统计)
数据项编号
数据项名称
数据项含义
与其它数据项关系
类型
长度
范围
DI-1
Snum
营业员编号
构成营业员属性
char
3
0-100
DI-2
Sname
营业员姓名
构成营业员属性
char
10
DI-3
Splace
收银台位置
构成营业员属性
char
3
1-100
DI-4
Swtime
上班时间
构成营业员属性
time(0)
3
DI-5
Sctime
下班时间
构成营业员属性
time(0)
3
DI-6
Ssalary
月薪
构成营业员属性
numeric
DI-7
Sphone
联系电话
构成营业员属性
char
11
DI-8
Anum
管理员号
构成管理员属性
char
2
0-5
DI-9
Aname
管理员姓名
构成管理员属性
char
10
DI-10
Asalary
管理员月薪
构成管理员属性
numeric
DI-11
Awtime
上班时间
构成管理员属性
time(0)
3
DI-12
Actime
下班时间
构成管理员属性
time(0)
3
DI-13
Aphone
联系电话
构成管理员属性
char
11
DI-14
Mnum
会员卡号
构成会员属性
char
5
DI-15
Mname
会员姓名
构成会员属性
char
10
DI-16
Mpassword
会员密码
构成会员属性
char
6
DI-17
RegisterTime
注册时间
构成会员属性
date
DI-18
Mexpense
累计消费
构成会员属性
numeric
DI-19
GSnum
货架编号
构成货架属性
char
3
DI-20
GSname
货架名称
构成货架属性
char
15
DI-21
GSstock
货架商品现有存量
构成货架属性
smallint
DI-22
GSlimit
货架商品底线存量
构成货架属性
smallint
DI-23
Gbarcode
商品条形码
构成商品属性
char
13
DI-24
Gnum
商品编号
构成商品属性
char
10
DI-25
Gname
商品名称
构成商品属性
char
10
DI-26
Gprice
商品价格
构成商品属性
numeric
DI-27
Gproducetime
生产日期
构成商品属性
smalldatatime
4
DI-28
Gtime
保质期
构成商品属性
int
DI-29
Gsupplier
供货商
构成商品属性
char
10
DI-30
Bnum
销售单编号
构成销售单属性
char
10
DI-31
Bdate
打印销售单时间
构成销售单属性
smalldatatime
DI-32
Bmoney
累计消费额
构成销售单属性
numeric
DI-33
Bquantity
销售商品数量
构成销售单属性
smallint
DI-34
Bdiscount
有无折扣
构成销售单属性
char
2
DI-35
Rnum
退货单编号
构成退货单属性
char
10
DI-36
Rdate
打印退货单时间
构成退货单属性
smalldatatime
4
DI-37
Rmoney
退费额
构成退货单属性
numeric
DI-38
Rquantity
退货商品数量
构成退货单属性
smallint
表1-2(中小型超市销售管理系统)数据结构(汇总统计)
数据结构编号
数据结构名
数据结含义
组成
DS-1
Salesman
营业员
Snum、Sname、Splace、Ssalary、Swtime、Sctime、Sphone
DS-2
Administrator
管理员
Anum、Aname、Asalary、Awtime、Actime、Aphone
DS-3
Member
会员
Mnum、Mname、MregisterTime、Mexpense
DS-4
GoodsShelf
商品
Gnum、GSnum、Gbarcode、Gname、Gprice、GSstock、Gslimit、Gproducetime、Gtime、Gsupplier
DS-5
Shelf
货架
GSnum、Anum、GSname
DS-6
Binvoice
销售单
Bnum、Snum、Mnum、Bdate、Bdiscount、Gnum、Bnum、Bquantity
DS-7
Sinvoice
退货单
Rnum、Gnum、Rquantity
DS-8
SellGoods
销售商品
Gnum、Bnum、Bquantity
DS-9
PrintBill
打印
Bnum、Rnum、Snum、Rdata
表1-3(中小型超市销售管理系统)数据流(汇总统计)
编号
名称
简述
数据流来源
去向
数据流组成
流量
F1
商品编号、条形码
快速录入部分的商品信息
营业员
商品信息表
商品条形码或编号
无限制
F2
商品信息
给销售提供商品信息
商品信息表
销售
商品编码+商品名称+数量+售价
无限制
F3
会员信息
给会员优惠
会员信息表
购买商品
会员编号
无限制
F4
购物信息
购物信息
商品信息表
给会员优惠
交易编号+营业员编号+交易时间+商品名称+商品价格
无限制
F5
会员购物信息
会员购物信息
购物信息
交易信息表
会员信息+普通购物信息
无限制
F6
购物发票
返回给顾客购物信息
交易信息表
顾客
发票号+交易额+交易时间+商品名称及价格+营业员号
无限制
F7
销售信息
销售信息
交易信息表
货架管理
销售商品名称
无限制
F8
发票编号
发票编号
发票
商品信息表
发票编号
无限制
F9
商品信息
给退货提供商品信息
商品信息表
退货处理
商品编码+商品名称+数量+售价
无限制
F10
退货信息
存储退货交易信息
退货交易
交易信息表
退货编号+营业员编号+交易时间+商品名称+商品价格
无限制
F11
退货发票
给顾客退货发票
交易信息表
顾客
发票号+交易额+交易时间+商品名称及对应价格+营业员号
无限制
F12
退货商品
进行货架商品管理
交易信息表
货架管理
退货商品编号
无限制
F13
货架商品增减信息
货架商品增减信息
交易信息表
货架商品信息
商品编号+商品名称+商品数量
1次/天
F14
货架信息
货架信息
货架商品信息表
警告信息表
商品编号+商品名称+商品数量
1次/天
F15
警告信息
哪些商品缺货
警告信息表
管理员
缺货商品编号+商品名称+缺货数量数量
1次/天
F16
缺货信息
缺货信息
管理员
补货
货架编号+补货商品编号+商品名称+补货数量数量
1次/天
F17
销售排行信息
销售排行
交易信息
销售排行表
名次+商品编号+商品名次+销售数量
1次/天
F18
销售排行表
将排行表输出给管理员
销售排行表
管理员
日期+名次+商品编号+商品名称+销售数量
1次/天
表1-4(中小型超市销售管理系统)处理逻辑(汇总统计)
编号
名称
简述
输入流
处理
输出流
处理
频率
P1.1
交易额计算
计算出顾客
购买商品总额
购买商品
信息
根据商品价格
计算总额
购物单
无限制
P1.2
给会员优惠
给会员顾客打折
F4购物信息
给消费总额打折
F5会员
购物信息
无限制
P1.3
输出交易清单
返回给顾客
购买发票
交易信息表
将购物信息简化
抽象组合成发票
购物发票
无限制
P2.1
退货商品
额计算
计算出退货
商品总额
购物发票
计算退费总额
退货信息
无限制
P2.2
输出退货单
返回给顾客
退货清单
退货信息
将退货信息简化
抽象组合成发票
退货信息
无限制
P3.1
货架商品
增减
货架商品存量管理
交易信息
增减货架商品
货架商品
增减信息
无限制
P3.2
缺货警告
货架缺货时
给出警告信息
货架信息
察看商品数量
是否在最低数量
警告信息
1次/天
P3.3
货架补货
补充缺货商品
缺货信息
补充缺货商品
返回
货架信息
1次/天
P3.4
销售排行
导出销售
排行榜给管理员
交易信息表
从交易信息
表中提取信息
返回
排行信息
1周/天
表1-5(中小型超市销售管理系统)数据存储(汇总统计)
编号
名称
简述
数据存储组成
相关联的处理
S1
商品信息表
存储商品信息、供交易业务调用
商品编号+条形码+名称+
标价+生产日期+保质期+供货商
P1.1、P2.1
S2
会员信息表
存储会员信息、供会员购物时调用
会员卡号+会员姓名+会
员密码+注册时间+累计消费
P1.2
S3
交易信息表
存储交易细节
日期+交易类型+交易额+营业
员编号+会员卡号+商品编号
P1.1、P1.2、P2.2、P3.4
S4
货架信息表
存储货架及
商品信息
货架编号+商品编号+商品数量
P3.1、P3.3
S5
销售排行表
存储销售商品
排行信息
名次+商品编号+商品名称+
销售数量+销售额
P3.4
附录2关系模式
表2-1营业员关系模式说明
属性名
数据类型
取值范围
是否为主属性
是否为外键
完整性要求
Snum
char(3)
是
否
Notnull
Sname
char(10)
否
否
Notnull
Splace
char(10)
否
否
Swtime
time(0)
否
否
Sctime
time(0)
否
否
Ssalary
numeric(10,1)
否
否
Sphone
char(11)
否
否
表2—2管理员关系模式说明
属性名
数据类型
取值范围
是否为主属性
是否为外键
完整性要求
Anum
char
(2)
是
否
Notnull
Aname
char(10)
否
否
Notnull
Asalary
numeric(10,1)
否
否
Awtime
time(0)
否
否
Actime
time(0)
否
否
Aphone
char(11)
否
否
表2—3会员关系模式说明
属性名
数据类型
取值范围
是否为主属性
是否为外键
完整性要求
Mnum
char(5)
是
否
Notnull
Mname
char(10)
否
否
Mpassword
char(6)
000000-999999
否
否
Notnull
MregisterTime
date
否
否
Mexpense
numeric(10,2)
>0
否
否
表2—4商品关系模式说明
属性名
数据类型
取值范围
是否为主属性
是否为外键
完整性要求
Gnum
char(10)
是
否
Notnull
GSnum
char(3)
否
是
Gbarcode
char(13)
否
否
Gname
char(10)
否
否
Gprice
numeric(10,2)
否
否
G