超市销售管理系统数据库.docx
- 文档编号:29581508
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:66
- 大小:776.80KB
超市销售管理系统数据库.docx
《超市销售管理系统数据库.docx》由会员分享,可在线阅读,更多相关《超市销售管理系统数据库.docx(66页珍藏版)》请在冰豆网上搜索。
超市销售管理系统数据库
信息工程学院
《数据库课程设计》论文
题目:
中小型超市销售管理系统数据库设计
学号:
专业班级:
姓名:
指导老师:
完成日期:
2012年3月12日
中小型超市销售管理系统数据库设计
***
(*********)
摘要
中小型超市销售管理系统是为了解决中小型超市销售管理业务方面面临的复杂业务流程和繁琐数据处理等问题,提高超市运营效率,提高经济效益,提高市场竞争力而研究开发的一款数据库软件。
在开发平台为windowsXP和Linux上,分别采用了PL/SQL和T—SQL两种数据库程序设计语言予以实现;可分别访问SQLSEREVER2008数据库和ORACLE数据库,具有商品录入、商品信息查询、交易额计算、会员打折、打印销售发票、退货、打印退货发票、记录交易细节、货架管理、商品过期警告、缺货警告等方面的功能,为超市管理提供了有效的技术保障,并且可直接作为开发整个超市管理系统时已完成的一部分模块。
关键字
超市销售管理;提高效益;数据库;管理软件。
引言
在新世纪新时代里,同其它领域一样,超市的竞争也进入到了一个全新的阶段。
现代超市竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势,多种业态:
超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
因此,为了解决中小型超市管理系统中销售业务方面面临的复杂业务流程和繁琐数据处理等问题,降低经营成本,提高超市运营效率,提升超市的管理水平,从而提高市场竞争力,很有必要研究开发的一种能符合一个超市特征的销售管理系统。
这个销售管理系统应该具有商品录入、商品信息查询、交易额计算、会员打折、打印销售发票、退货、打印退货发票、记录交易细节、货架管理、商品过期警告、缺货警告等方面的功能,能够为超市管理提供了有效的技术保障。
1.系统需求分析阶段
本系统为中小型超市销售管理系统,因此系统需求分析阶段主要采取实地采访、调查学校周边超市,网上查找相关资料,请教老师等多种方式,尤其是仔细思考、分析超市购物发票。
这一阶段大概了解了目前超市销售管理的现状,了解了超市销售方面的业务,同时也发现了其中存在的一些问题。
经过近两天时间的实践,了解了很多关于超市的知识,收获挺多的。
需求分析成果如下。
1.1处理对象及其组织
系统要处理的基本对象包括营业员基本信息、会员基本信息、管理员基本信息、商品基本信息、货架基本信息、销售单基本信息、退货单基本信息等多个对象。
各个基本对象包含信息如下所示:
营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);
会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);
商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);
销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);
销售商品(销售单号,商品编号,销售数量);
货架(货架编号,管理员号,货架名称);
管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);
退货单(退货单号,商品编号,退货数量);
打印(退货单号,销售单号,营业员号,打印时间)。
1.2系统功能及信息处理
本中小型超市销售管理系统大体上包含三个模块,为前台收银业务处理,前台退货业务处理以及后台销售处理功能模块,具体如下所述。
1.2.1收银业务
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式),计算本次交易的总金额,同时打印销售发票给顾客(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号等信息)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,对此会员一定优惠,并将所购物品的总金额累计到该会员的总消费金额中,记录好会员信息。
1.2.2退货处理
顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。
通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。
1.2.3销售处理
作为超市后台管理部分,此系统应该具有功能包括当打印销售发票或退货发票时自动增减货架上商品数量,当货架商品不足时自动生成缺货警告信息给管理员,系统能够生成销售排行榜供管理员查看。
1.3安全性和完整性要求
安全性先通过视图机制,不同的用户只能访问系统授权的视图;再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
完整性要求用于确保各处理对象的主属性取值唯一并且一般不能为空;各处理对象的参照属性取值必须是来自于被参照属性。
可以通过用户自定义完整性(符合实际要求)来确保数据符合更高规范要求。
详细完整性要求见于系统的逻辑设计阶段。
1.4系统开发环境
此系统开发环境以windowsXP为开发平台,采用选择功能强大的MicrosoftSQLServer2008为开发工具。
同时根据实习的要求,另开发系统还有windows2000,同时相应采用了oracle10g为开发工具。
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概念设计
在需求分析阶段已经得到了应用需求,只有将这些应用需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,才能更好地、更准确地用某一DBMS实现这些需求。
因此,作为将应用需求抽象为信息结构的概念设计阶段,应该以如下要求为目标:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
概念设计的任务和方法是能用E—R图表示出整个系统的实体、实体属性及实体间的联系。
概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。
它通常分为两步:
第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
2.1.1分E-R图建立
根据分解第二层数据流程图可分别得到三个分E-R图。
2.1.2全局/整体E-R图
由于在做局部E—R图时,只考虑了局部功能模块,这样会导致各个E—R图之间有很多不一致的地方,造成在合并各分E—R图生成全局E—R图时有很多冲突。
通过仔细分析各个分E-R图之间的联系,消除冗余,消除冲突,最终成功生成全局E-R图,如下图所示。
2.2逻辑设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E—R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
从理论上讲,设计逻辑结构应该选择最适合于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。
但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。
设计逻辑结构时一般要分3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
2.2.1建立关系模式
关系模型由E—R图转换而来,实际上就是要将实体、实体的属性和实体之间的联系明确表示出来,这种转换一般遵循如下规则:
一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1)一个1:
1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式看,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码味n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系吗的一部分。
根据以上规则将本中小型超市管理系统的E—R图转换为关系模式的结果如下所示:
(关系的主码用下划直线标出,外码用下划波浪线标出)
此数据库系统包括营业员、会员、管理员、商品、货架、销售单、销售商品、退货单、打印多个关系模式:
营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);
会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);
商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);
销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);
销售商品(销售单号,商品编号,销售数量);
货架(货架编号,管理员号,货架名称);
管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);
退货单(退货单号,商品编号,退货数量);
打印(退货单号,销售单号,营业员号,打印时间);
2.2.2关系模式规范化处理
关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。
范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合。
此系统中的上述关系模式经过模式分解,已消除了数据冗余等不好的现象,都已符合3NF要求。
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数据库测试
数据库测试阶段主要内容是对建立的数据库及数据库对象进行测试,对测试结果进行分析,是否满足设计要求。
测试结果见附录3.
5.总结
通过近三个星期的数据库课程设计实习,对数据库知识有了更广泛的了解,在数据库的应用方面有了很大的收获。
(1)提高了实地调查获得数据的能力。
通过对学校周边超市的实地调查,采用询问-记录的方式,获得关于超市管理的业务流程和一些可靠表单,为中小型超市销售管理系统开发的需求分析阶段,提供了一个良好的开端。
。
(2)加深了对数据库系统相关知识和SQLSERVER2008、ORACLE数据库相关功能的理解。
以前只停留于记忆书本上关于数据库系统的理论知识,没有切身实地的实践过,而通过这次实习我再次加深了对数据库相关功能的理解与应用。
(3)进一步掌握相关的SQL语句。
开发设计超市销售管理系统的过程中牵涉到相当多基本表的建立,视图、索引以及存储过程的设计,这让我对这些SQL语句操作更熟练了。
(4)熟悉了对项目开发的大致过程。
这次系统开发,我更加明白体验到了数据库系统开发的过程,包括系统需求分析、概念设计、逻辑设计、物理设计,再到数据库实施、系统的测试和调试,对项目(系统)开发的大致流程有了一定的了解,为以后的系统的开发打下了良好的基础。
同样在在这次实习中,我看到了自己的基础知识的薄弱性,更体验到了基础知识的重要性。
比如说对具体的SQL语句还不是很熟悉,在画E-R图、设计带输出变量的存储过程以及建立相关索引(聚簇索引)时感到有些棘手。
遇到问题不可怕,其实能遇到问题是好事,它能让我在解决问题时学到更多的新知识,更能增加我的自信。
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,都能提供有效的技术保障。
但超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,本系统只能做出其中的销售管理部分功能,只适合小型超市使用。
由于自己初次独立设计开发数据库系统,能力非常有限,加上时间仓促,本系统毫无疑问有许多的不足之处。
对于出现的以上问题,我们深表歉意,恳请老师批评指正。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 销售 管理 系统 数据库