数据库开发与实现超市管理系统.docx
《数据库开发与实现超市管理系统.docx》由会员分享,可在线阅读,更多相关《数据库开发与实现超市管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
![数据库开发与实现超市管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/24/dec75b93-c048-4bd6-a102-18ee333e4d65/dec75b93-c048-4bd6-a102-18ee333e4d651.gif)
数据库开发与实现超市管理系统
青岛工学院
《数据库课程设计》报告书
题目
超市管理系统
学生姓名
康润珅、魏善宝
指导教师
房正华
系部
信息工程系
专业班级
计算机科学与技术2011级1班
超市管理系统
一、小组成员分工
序号
成员
主要任务
所占系统比例
1
康润珅
数据库整体,界面
60%
2
魏善宝
视图,触发器
40%
二、教师签字
指导教师:
答辩教师:
1前言
1.1系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。
1.2背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势,多种业态:
超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:
销售系统、管理系统,其中这两个子系统又包含其它一些子功能。
1.4应用范围
本系统适应于各种小型的超市。
2需求分析、业务流程和数据字典介绍
2.1需求规定
2.1.1对功能的规定
超市管理系统需要实现以下功能:
1、商品信息:
商品明细、商品种类、包装种类、存放货架等
2、进货:
进货单,进货详单。
当插入进货详单数据时,触发器完成修改商品表的商品,数量=数量+进货数量。
3、销售收银:
销售单,销售详单。
当插入销售详单数据时,触发器完成修改商品表的商品,数量=数量-销售数量。
4、统计功能:
库存盘点、盈利明细、月盈利额等。
超市管理系统主要实现以下模块:
(1)进货业务
进货管理是企业生产经营活动中及其重要的一个环节,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。
企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。
下面是进货业务程序的主要内容:
供货商的情况调查:
在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。
采购计划的编制:
超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。
实施进货计划:
根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。
(2)库存管理业务
库存管理是指在经营中为销售和耗用而存储的各种资产。
企业存货不当都会增加不必要的费用:
存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。
存货不足则影响企业的正常销售活动。
库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。
其主要业务如下:
产品入库、出库、盘库等日常处理。
科学合理地确定某库存物资的库存控制参数。
如:
最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。
汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。
(3)销售业务
销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。
此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地。
(4)库存业务
库存业务对于一个企业来说是至关重要的的,库存的不足或者过剩都会导致企业不利的发展,所以企业应对自身的库存水平进行控制,力求尽量降低库存数量,提高物流系统的效率,以强化企业的竞争力。
2.1.2对性能的规定
2.1.2.1精度
可以精确查找商品等信息
查找时字母不区分大小写。
2.1.2.2时间特性要求
响应时间:
1s以内
局域网≤10s,Internet网≤60s
更新处理时间:
3s以内;
数据的转换和传送时间:
不得超过10秒;
2.1.2.3灵活性
运行环境的变化:
操作系统:
Windows7/XP、SQLServer2008
同其他软件的接口的变化:
允许接口的重载与复用
精度和有效实现的变化:
精度在必须调整的条件下,可以上下浮动十个百分点,有效实现则依据现实的测试情况允许稍大范围的变化。
2.1.3输人输出要求
用户根据人事档案数据要求,逐项输入自己的个人信息。
软件将进行审核后加到数据库中。
当人事档案的要求输出时,软件可以根据用户的要求进行清单式的打印。
输入数据:
查询方式、查询关键字,数据录入。
输出数据:
查询关键字确定的数据库记录的数据,信息录入、删改结果(成功或失败)。
2.1.4数据管理能力要求
配合企业开展人事调配工作,全面实现人事调配工作过程中的对各类信息的查询、添加、删除、修改等功能的人事管理系统。
系统的核心是人员调整,人员档案信息,部门信息三者之间的联系,每一个表的修改都将联动的影响其它的表。
查询功能也是系统的核心之一,其目的都是为了方便用户使用。
2.1.5故障处理要求
故障处理:
当接收到错误或者不合理的数据时,有一定的错误提醒。
当遇到突发事件时,系统能保存好用户信息,下次使用时能保证信息的完整性。
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也能必须保证据库完好无损。
在系统故障排除后,应能恢复回原来备份的数据库。
定期对存储设备进行维护,以免造成损失。
2.2业务流程
mmnn
m
n
图2-1E-R图
图2-2进货单
图2-3进货详单
图2-4商品信息
图2-5销售详单
图2-6销售单
图2-7商品存放
图2-8货架表
2.3数据字典
表2-1货架表
字段名
字段类型
长度
主/外键
字段约束
中文解释
备注
ShelfID
Varchar
10
p
Notnull
货架号
Shelfkind
Varchar
25
Notnull
货架种类
表2-2商品存放表
字段名
字段类型
长度
主/外键
字段约束
中文解释
备注
MerchID
varchar
10
P、F
Notnull
商品编码
级联删除
ShelfID
varchar
10
P、F
Notnull
货架号
级联删除
MerchName
varchar
56
Notnull
商品名称
Marchkind
varchar
25
商品种类
表2-3进货单
字段名
字段类型
长度
主/外键
字段约束
中文解释
备注
PurchaseID
varchar
10
p
Notnull
进货单号
PurchaseDate
datetime
Notnull
进货日期
PurchaseMem
varchar
10
Notnull
进货员
TotulPrice
money
Notnull
总价
表2-4进货详单
MerchID
varchar
10
P、F
Notnull
商品编号
删除时拒绝
PurchaseID
varchar
10
P、F
Notnull
进货单号
删除时拒绝
MerchName
varchar
50
l
商品名称
MerchNorm
varchar
8
Notnull
商品规格
Merchkind
varchar
25
Notnull
商品种类
Purprice
money
Notnull
>0
进价
PurchaseNum
int
Notnull
进货数量
Merchprice
money
Notnull
>0
商品价格
表2-5商品信息表
字段名
字段类型
长度
主/外键
字段约束
中文解释
备注
MerchID
varchar
10
p
Notnull
商品编号
MerchName
varchar
50
商品名称
Merchprice
money
Notnull
>0
商品售价
MerchNorm
varchar
8
Notnull
商品规格
Merchkind
varchar
25
商品种类
Merchnum
int
Notnull
库存数量
Cautionnum
int
库存警戒数量
Purprise
money
Notnull
>0
进价
表2-6销售单
字段号
字段类型
长度
主/外键
字段约束
中文解释
备注
SaleID
varchar
10
p
Notnull
销售单号
SaleDate
datetime
Notnull
销售日期
PayMony
money
Notnull
>0
应付款
RenlMoney
money
Notnull
>0
实收款
ForgetMoney
money
Notnull
>0
找零
Real--Pay
Totalprofits
money
Notnull
>0
合计利润
销售详单利润之和
表2-7销售详单
字段名
字段类型
长度
主/外键
字段约束
中文解释
备注
MerchID
varchar
10
P、F
Notnull
商品编号
拒绝删除
SaleID
varchar
50
P、F
Notnull
销售单号
拒绝删除
MerchName
varchar
8
Notnull
商品名称
Quantity
int
Notnull
购买数量
MerchNorm
varchar
Notnull
商品规格
MerchPrice
money
Notnull
>0
商品单价
TotalPrice
money
Notnull
>0
商品总价
MerchPrice*Quantitu
Porfitt
money
Notnull
>0
利润
商品信息表中(售价-单价)*Quantity
3基本表设计及完整性体现
3.1商品信息表
该表实现商品信息的录入,包括编号、名称、售价、规格、种类、库存、库存警戒量以及进价。
具体实现代码如下:
createtable商品信息表(
MerchIDvarchar(10)notnullprimarykey,
MerchNameVarchar(50),
MerchPricemoneynotnullcheck(MerchPrice>0),
MerchNormvarchar(8)notnull,
MerchKindvarchar(25),
MerchNumintnotnull,
CautionNumint,
PurPricemoneycheck(PurPrice>0)
)
Go
3.2销售单
该表实现销售信息的录入,包括销售单号、销售日期、应付款、实付款、找零以及该单的利润。
具体实现代码如下:
createtable销售单(
SaleIDvarchar(10)notnullprimarykey,
SaleDatedatetimenotnull,
PayMoneymoneynotnullcheck(PayMoney>0),
RealMoneymoneynotnullcheck(RealMoney>0),
ForgetMoneymoneynotnullcheck(ForgetMoney>=0),
TotalProfitsmoneynotnullcheck(TotalProfits>=0)
)
Go
3.3销售详单
该表实现销售商品详细信息的录入,包括商品编号、销售单号、商品名、数量、规格、单价、自己以及该商品的利润。
具体实现代码如下:
createtable销售详单(
MerchIDvarchar(10)notnullreferences商品信息表(MerchID)ondeletenoaction,
SaleIDvarchar(10)notnullreferences销售单(SaleID)ondeletenoaction,
MerchNamevarchar(50),
Quantityintnotnull,
Merchnormvarchar(8)notnull,
MerchPricemoneynotnullcheck(MerchPrice>0),
TotalPricemoneynotnullcheck(TotalPrice>0),
Porfitmoneynotnullcheck(Porfit>=0),
primarykey(MerchID,SaleID)
)
Go
3.4货架表
该表实现货架信息的录入,包括货架号以及货架种类。
具体实现代码如下:
createtable货架表(
ShelfIDvarchar(10)notnullprimarykey,
ShelfKindvarchar(25)notnull
)
Go
3.5商品存放表
该表实现商品存放信息的录入,包括商品编号、存放货架号、商品名以及商品种类。
具体实现代码如下:
createtable商品存放表(
MerchIDvarchar(10)notnullreferences商品信息表(MerchID)ondeletenoaction,
ShelfIDvarchar(10)notnullreferences货架表(ShelfID)ondeletenoaction,
MerchNamevarchar(50)notnull,
MerchKindvarchar(25),
Primarykey(MerchID,ShelfID)
)
Go
3.6进货单
该表实现进货信息的录入,包括进货单号、进货日期、进货员以及进货总价。
具体实现代码如下:
createtable进货单(
PurchaseIDvarchar(10)notnullprimarykey,
PurchaseDatedatetimenotnull,
PurchaseMemvarchar(10)notnull,
TotalPricemoneynotnullcheck(TotalPrice>0)
)
Go
3.7进货详单
该表实现进货商品详细信息的录入,包括商品编号、进货单号、商品名、规格、种类、进价、数量以及总价。
具体实现代码如下:
createtable进货详单(
MerchIDvarchar(10)notnullreferences商品信息表(MerchID)ondeletenoaction,
PurchaseIDvarchar(10)notnullreferences进货单(PurchaseID)ondeletenoaction,
MerchNamevarchar(50),
MerchNormvarchar(8)notnull,
MerchKindvarchar(25),
PurPricemoneynotnullcheck(PurPrice>0),
PurchaseNumintnotnull,
MerchPricemoneynotnullcheck(MerchPrice>0),
primarykey(MerchID,PurchaseID)
)
Go
4视图设计和各功能实现
4.1商品信息视图
该视图实现了商品基本信息的查看,并且屏蔽了进价、库存等信息,利于大多数非核心人员的数据库管理人员查看。
具体实现代码如下:
use超市管理系统
go
createview商品视图
as
selectMerchID商品编号,MerchName商品名,MerchPrice单价,MerchNorm规格,MerchKind种类
from商品信息表
go
4.2小票视图
该视图实现了销售信息的查看,并且屏蔽了进价、利润等信息,利于包括顾客在内的所有人查看。
具体实现代码如下:
use超市管理系统
go
createview小票
as
select销售单.SaleID销售单号,MerchID商品编号,MerchName商品名,Merchnorm规格,MerchPrice单价,Quantity数量,Paymoney应付,RealMoney实付,RealMoney-PayMoney找零,MerchPrice*Quantity总价,SaleDate销售日期
from销售单,销售详单
where销售单.SaleID=销售详单.SaleID
go
4.3盈利明细视图
该视图实现了所有盈利信息的查看,包括每个销售单上的所有商品的盈利,以及总盈利等,利于超市老板查看盈利。
具体实现代码如下:
use超市管理系统
go
createview盈利明细
as
selectSaleID小票号,销售详单.MerchID商品编号,销售详单.MerchName商品名,(销售详单.MerchPrice-PurPrice)*Quantity该商品盈利
from销售详单,商品信息表
where销售详单.MerchID=商品信息表.MerchID
go
4.4总盈利额视图
该视图实现了所有总盈利信息的查看。
具体实现代码如下:
use超市管理系统
go
createview总盈利额
as
selectdistinctSUM(销售详单.Porfit)总盈利
from销售详单
4.5库存盘点视图
该视图实现了所有库存盘点信息的查看,包括所有商品现有库存数,以及警戒量等,利于盘点库存以方便进货。
具体实现代码如下:
use超市管理系统
go
createview库存盘点
as
selectMerchID商品编号,MerchName商品名,MerchNorm规格,MerchKind种类,MerchNum库存,CautionNum库存警戒量
from商品信息表
go
5存储过程和触发器设计及各功能实现
5.1销售详单的触发器
向销售详单插入一条信息,商品信息表中库存根据销售详单内容依次减去相应的数量Sale_Insert。
具体实现代码如下:
createtriggerSale_Insert
on销售详单
forinsertas
declare@MerchIDvarchar(10)
declare@Quantityint
begin
select@MerchID=MerchID
frominserted
select@Quantity=Quantity
frominserted
update商品信息表
setMerchNum=MerchNum-@Quantity
whereMerchID=@MerchID
end
5.2进货详单的触发器
向进货详单插入一条信息,商品信息表中库存根据进货详单内容依次减去相应的数量Purchase_Insert。
具体实现代码如下:
createtriggerPurchase_Insert
on进货详单
forinsertas
declare@MerchIDvarchar(10)
declare@PurchaseNumint
begin
select@MerchID=MerchID
frominserted
select@PurchaseNum=PurchaseNum
frominserted
update商品信息表
setMerchNum=MerchNum+@PurchaseNum
whereMerchID=@MerchID
end
6数据库报表设计与实现
6.1商品信息报表
图6-1商品信息报表
6.2商品存放报表
图6-2商品存放报表
6.3销售详单报表
图6-3销售详单报表
7应用系统实现
开发环境:
Win7
所用软件:
SQLServer2008、MiscrosoftVisualStudio2010
本软件通过C#语言与数据库的链接实现图形化界面窗口,更加便于用户操作以及管理数据库。
让不懂SQL语言的人也能更好的使用、管理以及维护数据库。
7.1框架主题
7.2数据插入界面
商品信息插入界面:
销售单插入界面:
货架表插入界面:
进货单插入界面:
7.3数据删除界面
销售详单删除界面:
商品存放表删除界面:
进货详单删除界面:
7.4数据查询界面
商品信息表查询:
销售详单查询:
进货单查询:
7.5视图查询界面
商品信息视图界面:
小票视图查询界面:
库存盘点视图查询:
盈利明细视图查询:
总盈利额视图查询:
8实践心得体会
在这次项目设计中,我们小组所选择的是设计一个超市管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程。
虽然学了数据库这么久了,但是我们还是缺少经验。
现在我们利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,都不同程度的投入了很高的热情与努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路