数据库SQL SERVER数据库技术超市进销存管理系统.docx
《数据库SQL SERVER数据库技术超市进销存管理系统.docx》由会员分享,可在线阅读,更多相关《数据库SQL SERVER数据库技术超市进销存管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
![数据库SQL SERVER数据库技术超市进销存管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/5/0e843e1a-666d-43ff-b350-b81e57e50104/0e843e1a-666d-43ff-b350-b81e57e501041.gif)
数据库SQLSERVER数据库技术超市进销存管理系统
辽宁工业大学
SQLSERVER数据库技术课程设计报告
题目:
超市进销存管理系统
院(系):
软件学院
专业班级:
软件工程班
学号:
学生姓名:
************************
教师职称:
副教授
起止时间:
2014.12.15-2014.12.26
课程设计任务及评语
院(系):
软件学院软件教研室:
学号
学生姓名
专业班级
课程设计题目
超市进销存管理系统
课程设计任务
1.要求根据数据库原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、E-R图、关系模型要正确规范
3.在sqlserver2005上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用C#实现简单的调用。
课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
2014年12月30日
第1章设计目的与要求
1.1设计目的
本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。
本实践课的主要目的是:
(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;
(2)掌握关系数据库的设计方法;(3)掌握SQLServer2005技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境
硬件:
硬盘20GB,CPUIntelCore2T5420,内存2G。
软件:
系统采用微软的SQLServer2005作后台数据库,以C#连接SQLServer2005数据库进行开发的超市管理进销存系统。
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2005数据库应用系统》朱如龙编,机械工业出版社。
4.《SQLServer2005数据库应用系统实验指导》朱如龙编,机械工业出版社。
1.4设计内容及要求
一、内容
1.要求根据数据库原理,按照数据库系统设计的步骤和规范,完成各阶段设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2005上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的调用。
二、要求
课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章设计内容
2.1数据库设计
超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。
随着超市的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有的发展。
这样就迫切地需要引进新的思想技术和管理技术进入到超市管理中。
超市自动化的产品管理在欧美等国已实行了多年,也是零售业管理的基础。
它最主要的特点是能够实时和准确的控制店内的销售情况。
超市行业只作为零售业的一种业态,竞争就更加激烈,如何提高超竞争能力和效益,已成为各个超市企业追求的目标。
而在当今时代计算机的普及和应用,信息管理的方便快捷,使超市进销存管理系统被超市企业所重视。
超市引入信息管理系统,是零售业经营之中的最热门的话题之一。
但在目前状况下,零售业商业企业仍存在着落后的一面,如:
不能有效的管理每一种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品进、销、存决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足,日常所需处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已经无法对着复杂的市场。
为此,我在本次设计之中选择了中小型超市进销存管理系统设计,依靠现代化的计算机出技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反应出商品的进销存状况和各种反馈信息,使管理人员快速对市场的变化作出相应决策,加快超市的系统建设的技术基础。
中小型超市现代化的建置,可以根据每个零售商品的性质不同而有所不同,而建置的过程中需要经营者提供基本数据和流程规划,中小型超市的信息化过程必须要有好的软件管理结合,而选择好的软件就如同选择经营伙伴一样,可以帮助超市本身节省运营成本,而且超市进销存管理系统是长期使用的软件工具,因为不同的零售业可能使用不同功能的系统。
这样才能借助信息化的帮助使销售业绩跃上一个新台阶。
本课程设计将基于sqlserver2005数据库并以C#为开发环境设计实现一个超市进销存管理系统。
2.1.1需求分析
一、数据需求:
目前我国的中小型超市数量多,地区分布广泛,在我国经济发展中具有重要地位。
随着全球经济一体化的发展和电子商务的兴起,中小型超市之间的竞争将越来越激烈。
网络及电子商务的迅猛发展突破了时间、空间的局限性,给中小型超市带来了更多的发展机会,同时也增加了超市之间的竞争强度。
这就要求中小型超市必须改变传统的经营管理模式,提高超市的运营效率。
这里对商品的管理包括进、销、存3个方面。
可以建立一个超市进销存管理系统,对超市的管理者、营业员、库存管理员等减轻其工作量,便于经营管理。
进销存管理系统的数据流程图如下所示。
图2.1数据流程图
1.数据字典:
(1)表1:
“商品编号”
名称
商品编号
别名
GOOD
取值类型
字符串
长度
8个字节
描述
商品的唯一编号,作为关键字。
位置
库存清单表、购货信息表
(2)表2:
“供货商编号”
名称
供货商编号
别名
PROVIDE
取值类型
字符串
长度
8个字节
描述
供货商的唯一编号,作为关键字。
位置
供货商信息表
2.数据流、数据结构:
(1)表3:
“订货报表”
名称
订货报表
描述
每天给采购员的商品订货表
来源
商品信息管理
去处
采购员
数据结构
订货表编号+
{商品编号+商品名称+供货商名称+数量+单价+总价}+
合价
流程量
无
(2)表4:
“退货报表”
名称
退货报表
描述
每天给采购员的商品退货表
来源
商品信息管理
去处
采购员
数据结构
订货表编号+
{商品编号+商品名称+供货商名称+数量+单价+总价}+
合价
流程量
无
(3)表5:
“库存信息清单”
名称
库存信息清单
描述
提供给采购员或者管理人员的库存信息
来源
产生的报表
去处
采购员
数据结构
商品编号+库存数量
流程量
无
(4)表6:
“供货商清单”
名称
供货商清单
描述
提供给采购员商品的采购地
来源
产生的报表
去处
采购员
数据结构
供货商号+名称+联系人+联系电话+联系地址+开户行+银行帐号+备注
流程量
无
(5)表7:
“销售清单”
名称
销售清单
描述
描述销售信息的报表
来源
产生的报表
去处
管理员
数据结构
销售单号+商品编号+销售数量+销售日期
流程量
无
3.数据存储:
(1)表8:
“库存信息”
名称
库存信息
输入数据流
仓库现有商品的清单
输出数据流
订货清单
描述
需要订购商品
组成
商品编号+库存数量
组织方式
按商品编号递增排列
(2)表9:
“供货商信息”
名称
供货商信息
输入数据流
供货商信息请求
输出数据流
供货商信息清单
描述
供货商信息
组成
供货商号+名称+联系人+联系电话+联系地址+开户行+银行帐号+备注
组织方式
按供货商编号递增排列
(3)表10:
“进货信息”
名称
进货信息
输入数据流
订货清单
输出数据流
需进货商品信息清单
描述
需订购的商品
组成
进货单号+商品编号+供货商号+进货价+数量+金额+进货日期+备注
组织方式
按商品编号递增排列
(4)表11:
“销售信息”
名称
销售信息
输入数据流
销售出的商品信息
输出数据流
所销售商品信息清单
描述
所销售商品信息清单
组成
销售单号+商品编号+销售数量+销售日期
组织方式
按销售出的商品时间先后递增排列
4.数据处理:
(1)与进库单有关的数据处理
①处理过程“提交入库单”描述如下:
·处理过程:
提交入库单
·输入:
入库信息
·输出:
入库单
·说明:
外部实体输入入库单数据,包括入库日期、经手人、备注等信息,由商品列表中提供商品单位、规格型号、颜色、单价等信息,分配计划单号,生成采购计划单。
②处理过程“审核入库单”可描述如下:
·处理过程:
审核入库单
·输入:
入库单信息
·输出:
入库单
·说明:
在该操作中,由外部实体对入库单信息进行审核,审核完成后会自动核销相应的入库单的信息。
(2)与销售出库单有关的数据处理
①处理过程“提交出库单”可描述如下:
·处理过程:
提交出库单单
·输入:
已批准的订单
·输出:
出库单
·说明:
在该操作中,外部实体输入出库单数据或流入已批准订单的信息,分配订单号等,生成出库单。
②处理过程“审核订单”可描述如下:
·处理过程:
审核订单
·输入:
出库单
·输出:
出库单审核结果
·说明:
在该操作中,流入出库单的信息,有管理员进行审核,审核通过后即可修改库存文件,也可对由该出库单产生的应收款单进行收款,并完成该出库单的订单。
(3)与设置库存有关的数据处理
①处理过程“库存设置“描述如下:
·处理过程:
设置库存
·输入:
最小库存,最大库存
·输出:
库存信息·说明:
外部实体输入最大(小)库存数据,由商品列表中提供商品的单位、规格型号、颜色等信息。
二、功能需求:
本系统基本涵盖了库存管理的主要需求,具有完善细致的功能、友好的用户界面、强大的数据处理功能和完备的安全机制;随心所欲的查询和所见即所得的打印功能,并全面支持分析和决策的功能。
系统特色:
①采购管理功能模块:
采购计划、采购订单、采购入库、采购退货、应付款、采购付款。
②销售管理功能模块:
报价单、销售订单、销售出库、销售退货、销售收款。
③库存管理功能模块:
入库、出库、库存警报、库存报表、基本资料设计。
超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。
面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。
它最主要的特点是能够实时的和准确的控制店内的销售情况。
如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。
顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。
图2.2业务流程图
三、性能需求
精度需求:
系统提供了准确的数据存储和查询功能,包括进销存过程中所涉及的各项数据,涉及到金额的数据精确到分,时间精确到秒。
时间需求:
在机器配置达到系统要求的情况下,该系统可在大多数平台上流畅运行。
灵活性需求:
该系统适合在所有主流WINDOWS平台下流畅运行。
对输入输出的需求:
系统默认的输入设备为键盘,扫描仪以及电子数据读取设备,输出设备为显示器和打印机。
故障处理:
如果在使用过程中出现任何故障,可直接练习开发商。
2.1.2概念设计
ER模型中,包含“实体”、“联系”和“属性”三个基本成分。
1.实体
实体是客观世界存在的且可相互区分的事物。
它可以是人也可以是动物;可以是具体事物也可以是抽象概念。
2.联系
联系是指客观世界中各事物彼此间的联系。
联系分为三类:
一对一的关系,一对多的关系,多对多的关系。
3.属性
属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。
人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,ER模型比较接近人的思维方式。
此外,ER模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER模型可以作为用户与系统分析员之间的交流工具。
一个较好的系统在设计时要做好分析工作,并且要按照一定的次序将其完成,首先做好数据的分析,设计好数据库。
在分析数据库的建设问题时,首先就要从需求分析中获取系统中要用的数据,将其规化好,抽取实体及其属性,建立模型。
以下分别是用户名、商品、管理员、订单、订单列表实体,系统所有要使用的数据,以E-R图的形式表示如下。
1.商品实体属性图
图2.3商品实体属性图
2.员工实体属性图
图2.4员工实体属性图
3.顾客实体属性图
图2.5顾客实体属性图
4.供应商实体属性图
图2.6供应商实体属性图
5.进货实体属性图
图2.7进货实体属性图
6.总体E-R图
超市进销存管理系统是针对超市商品的信息管理而设计的,系统包括:
基本档案、进货管理、销售管理、库存管理、系统维护等内容。
主要实体包括用户、商品、管理员。
各实体之间关系的E-R图如下图所示:
图2.8总体E-R图
2.1.3逻辑设计
逻辑设计就是把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。
数据库的逻辑设计(包括各种表和表间关系)是优化关系数据库的核心。
设计好逻辑数据库,可以为优化数据库和应用程序性能打下基础。
逻辑数据库设计不好,会损害整个系统的性能。
概念结构是与实现无关的。
逻辑结构设计的任务就是把概念结构设计阶段设计的ER图,转换成与选用DBMS所支持的数据模型相符合的逻辑结构。
1.从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。
在转化过程中会遇到如下问题:
1)命名问题。
命名问题可以采用原名,也可以另行命名,避免重名。
2)非原子属性问题。
非原子属性问题可将其进行纵向和横行展开。
3)联系转换问题。
联系可用关系表示。
2.数据模型的优化数据库逻辑设计的结果不是唯一的。
为了进一步提高数据库应用系统的性能,还应该适当修改数据模型的结构,提高查询的速度。
3.关系视图设计关系视图的设计又称为外模式的设计,也叫用户模式设计,是用户可直接访问的数据模式。
同一系统中,不同用户可有不同的关系视图。
关系视图来自逻辑模式,但在结构和形式上可能不同于逻辑模式,所以它不是逻辑模式的简单子集。
关系模型的数据库逻辑设计的具体内容包括:
1.概念模式到关系数据库模式的转换。
2.关系模式的优化。
管理员(管理员ID,管理员名称,密码)
员工(员工ID,员工编号,员工名称,登录密码,系别,生日,学历,家庭电话)
商品类别(类别ID,类别名称,类别编号)
商品(商品ID,商品名称,商品编号,商品价格,商品产地,商品数量)
库存(库存ID,库存编号,库存数量)
供销商(供销商ID,供销商名称,详细地址,联系电话)
2.1.4物理设计
物理设计是设计数据库的物理结构,就是根据数据库的逻辑结构,结合选定的DBMS,设计数据库的存储结构、存取方式等。
物理设计主要设计内模式以及内模式和模式之间的映像关系。
数据库的物理设计包括具体的DBMS选择、属性(字段)数据类型、长度、精度确定、DBMS的数据页面大小、内存分配、一致性保证、索引选择、存储方式等等。
建立索引是加快查询速度的有效手段。
用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。
一般说来,建立与删除索引由数据库管理员DBA或表的属主(owner),即建立表的人,负责完成。
系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显示地选择索引。
在RDBMS中索引一般采用B+树、HASH索引来实现。
B+树索引具有动态平衡的优点。
HASH索引具有查找速度快的特点。
索引是关系数据库的内部实现技术,属于内模式范畴。
用户使用CREATEINDEX语句定义索引时,可以定义索引是唯一索引、非唯一索引或聚簇索引。
至于某一个索引是采用B+树,还是HASH索引则由具体的RDBMS来决定。
入库表包含编号、入库ID、商品号、单价、数量。
如下图所示。
图2.10
入库退货表包含退货编号、品种数、金额、原始记录、商名、退货时间、操作员。
如下图所示。
图2.11
2.1.5数据库实现
在进行概念结构设计和物理结构设计之后,对超市进销存管理系统系统结构,功能已经分析得比较清楚了,但是还只是停留在文档阶段。
数据系统设计的根本目的,是为用户提供一个能够实际运行的系统,并保证系统的稳定和高效。
要做到这点,还有两项工作,就是数据库的实施,运行和维护。
数据库实现主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构,导入数据并进行程序的调试。
关系图如下所示。
图2.12超市进销存管理系统中的表关系图
用户登录系统的后台入口login.C#,用户需要输入用户名、密码、验证码、选择登录身份,并且通过验证所输入的信息正确,方能进入系统。
如果输入的信息不正确,则跳转到登录失败的页面,点击返回则可跳转到登录页面重新操作。
登录的流程图如下所示:
图2.13登陆流程图
1.进货表(buyInfo)
表2.1进货表
字段名称
数据类型
大小
允许空
说明
buyId
Int
否
进货Id
GoodNo
Varchar
20
否
商品编号
supplierName
Nvarchar
50
否
供应商名称
Price
Float
否
进货价格
Number
Int
否
进货数量
totalPrice
Float
否
商品总价
buyDate
Datetime
否
进货时间
addTime
Datetime
否
添加时间
2.商品信息表(goodInfo)
表2.2商品信息表
字段名称
数据类型
大小
允许空
说明
goodNo
Varchar
20
否
商品编号
goodClassId
Int
否
类别id
goodName
Nvarchar
30
否
商品名称
goodUnit
Nvarchar
2
否
单位
goodModel
Nvarchar
20
否
型号
goodSpecs
Nvarchar
20
否
规格
goodPrice
Float
否
价格
goodPlace
Nvarchar
50
否
产地
goodMemo
Char
10
否
附加信息
goodAddTime
Datetime
否
添加时间
3.库存信息表(goodStockInfo)
表2.3库存信息表
字段名称
数据类型
大小
允许空
说明
goodNo
Varchar
20
否
商品编号
goodCount
Int
否
库存数量
4.商品销售表(sellInfo)
表2.4商品销售表
字段名称
数据类型
大小
允许空
说明
sellInfoId
Int
否
销售id
sellNo
Varchar
30
否
单据号码
goodNo
Varchar
20
否0
商品编号
Price
Float
否
单价
Number
Int
否
数量
totalPrice
Float
否
总价
sellTime
Datetime
否
售出时间
employeeNo
Varchar
否
售货员编号
5.供应商信息表(supplierInfo)
表2.5供应商信息表
字段名称
数据类型
大小
允许空
说明
supplierName
Nvarchar
50
否
供应商名称
supplierLawyer
Nvarchar
4
否
法人代表
supplierTelephone
Varchar
11
否
电话
supplierAddress
Nvarchar
50
否
地址
2.2程序设计
2.2.1概要设计
系统开发的总体任务是实现商品进销存管理信息的系统化、规范化和自动化,系统功能分析是在系统开发的总体任务的基础上完成的。
通过对超市采购、销售、库存等活动的调查、分析与总结,结合超市的实际,我们可以将系统分为以下六大功能:
进货管理、基础信息管理、查询统计、销售管理、库存管理和系统管理。
基础信息管理
该模块主要是对超市的客户、商品、供应商基本信息进行有效管理,包括客户信息管理、商品信息管理、供应商信息管理三部分,能对客户信息、商品信息、供应商信息进行添加、修改、删除操作。
库存管理
该模块主要是对商品进行分类和分级管理,对超市物流的业务操作进行全面的控制和管理,及时反映出物资资金占用的状况。
提供商品价格的调整和查询库存商品等功能,可以处理各种库存单据,货物收发存总账和明细账,能盘点库存和核算库存金额。
销售管理
该模块主要是对销售部门的日常业务进行跟踪和控制管理,登记每笔销售出库业务,自动生成对应的销售凭证,每笔销售单对应一个唯一销售单票号,能够处理多种销售方式,提供多各方便灵活的单据生成方式,提供商品的销售、销售退货功能。
查询统计
该模块主要实现按不同条件查询进销存管理系统各个方面的信息,包括客户信息查询、商品信息查询、供应商查询、销售查询、销售退货查询、入库查询及入库退货查询,并可对某一时间段内某种商品的销售情况按数量或金额进行升序或降序排行,不同条件的查询方式为操作员对超市信息的掌握提供了一定的方便。
进货管理
该模块用于对采购的申请、采购订单、采购收货入库等进行流程化管理,建立完善的产品和供应商档案管理。
主要实现进货单和进货退货功能。
其中进货单用于录入超市的进货单,其内容包括编号、供货商号、进货日期等。
进货退货管理用于录入超市进退货单。
进货的退货有两种方法,一是直接在进货单中填写负数的进货数量,另一种是填写进退货单,一般采用前一种方法。
图2.14系统结构图
2.2.2程序实现
1.登录检查页面
用户在登录的过程中如果两次输入密码不一致就会出现一个提示框,提示密码是否一致。
图2.15用户登录
2.进货内容设计
进货管理模块主包括进货单和入库退货管理两个部分。
下面以进货单功能为主,介绍进货管理模块实现的业务逻辑。
(1)进货单:
图2.16进货单
(2)入库退货:
图2.17入库退货
代码设计:
importC#x.swing.event.InternalFrameAdapter;
importC#x.swing.event.InternalFrameEvent;
importC#x.swing.table.DefaultTableModel;
importC#x.swing.table.TableCellEditor