数据库课程设计物资管理系统.docx
《数据库课程设计物资管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计物资管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
![数据库课程设计物资管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/15/b51f80c2-ba45-41cc-be29-c32980e1690c/b51f80c2-ba45-41cc-be29-c32980e1690c1.gif)
数据库课程设计物资管理系统
第一章概述
1.1、项目背景
物资管理系统是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来。
如何管理好企业内部物质的信息,成为企业管理中的一个大问题。
在这种情况下,一个可以规范化,自动化的物资管理信息系统就显得非常必要。
最初的物资管理,都是靠人力来完成的。
当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的进出物资数量也越来越多,依然维持着人力进行物资管理,必然会造成工作效率低,工作错误增高的问题。
物资管理系统就是把分散的企事业单位的职工信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的管理系统,为企事业单位和职工解除后顾之忧。
1.2、编写目的:
物资管理系统是为了配合相关部门对自身本部门物资的管理,充分运用现代化信息技术手段高效、快捷的工作而开发的软件系统。
物资管理信息系统为企事业单位提供信息咨询,信息检索,信息存取等服务。
1.3、项目名称:
物资管理系统.
1.4、开发环境:
本系统使用MicrosoftVisualBasic6.0中文版作为前台设计和MicrosoftSQLServer2000管理数据库
VisualBasic6.0作为Microsoft公司开发的BasicStudio6.0套件的一部分,是一个功能丰富、方便实用的程序开发环境,它的一个很大的特色就是功能强大、编程简单的数据库操作能力。
可视化的开发环境、丰富的数据库访问空间的支持使得VisualBasic成为数据库应用程序项目中重要的开发工具。
MicrosoftSQLServer2000中文版是基于客户机/服务器模式的新一代大型数据库管理系统,它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,并采取有效的措施来实现数据的安全性、完整性、备份和恢复。
是目前广泛使用的关系型数据库。
第二章需求分析
2.1、问题的提出:
物资管理是一般工业、商业企业生产管理环节中主要的一环,需要对物资基本信息管理,对物质调配信息等进行完整的监控,这样才能跟有效地利用物资。
物资入库的时候首先需要登记物质的基本信息,包括物资的种类、名称、型号、单位、单价等;然后登记入、出库信息,包括物资的基本信息,入、出库人,经办人,物质数量,材料说明的等;对于仓库中的物资,即对剩余物资进行查询和统计。
长期以来,物资管理工作中的信息管理是采用人工的方式,要付出大量人力,填写各种表格、凭证、账册、卡片和文件。
由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同的分类经常不断地汇总、统计,往往要做许多重复登记和转抄。
这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:
(1)处理速度慢,影响信息及时性。
(2)易出现错误,影响信息精确性。
(3)不便于查询。
(4)缺乏综合性,不能起控制作用。
由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代物资管理工作的需要。
因此,发展以电子计算机为基础的物资管理系统已是十分迫切和必要的了。
2.2、需完成的功能:
针对一般物资管理信息系统的需求,通过对上面物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
●有关物资基本信息的输入、包括物资编号、物资名称、规格型号、种类和计量单位等;
●物资基本信息的查询、修改;
●入库信息的输入、查询、修改;
●出库信息的输入、查询、修改;
●物质剩余物资的查询、预览,统计查询。
第三章数据库设计的过程
3.1、数据库需求分析
用户的需求具体体现在各种的信息的提供、保存、更新和查询等方面。
这就要求数据库能够充分满足各种输入信息和输出信息。
开发者要收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。
为下一步的数据库具体设计做好充分的准备。
再仔细分析物资管理信息系统需求的基础上,将得到以下如图3.1所示的本系统所处理的数据流程。
图3.1物资管理信息系统数据流程图
针对一般物资管理信息系统的需求,通过对物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
●物资基本信息,包括的数据项有:
物资编号、物资名称、规格型号、类别、计量单位等。
●入库物资信息,包括的数据项有:
物资编号、物资名称、规格型号、类别、计量单位、数量、单价、金额、领用时间、领用人、经办人、保管人、仓库、备注等。
●出库物资信息,包括的数据项有:
物资编号、物资名称、规格型号、类别、计量单位、数量、单价、金额、领用时间、领用人、经办人、保管人、仓库、备注等。
●物资余额信息,包括的数据项有:
物资编号、物资名称、规格型号、类别、计量单位、数量、金额、仓库等。
3.2、概念模型设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种试题以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些试题包含各种具体信息,通过相互间的作用形成数据的流动。
本系统根据上面的设计规划出的实体有:
物资基本信息实体、物资入库信息实体、物资出库信息实体、物资余额信息实体。
物资基本信息实体
物资编号
物资名称
规格型号
计量单位
类别
图3.21物资基本信息实体E-R图
图3.22物资入库信息实体E-R图
图3.23物资出库信息实体E-R图
物资出库信息实体
物资基本信息
数量
金额
仓库
图3.24物资余额信息实体E-R图
在找出所有实体的基础上,需要进一步的分析各个实体之间的关系,经过分析可以的得到所有实体的E—R图;如图3.25是通过E—R图来说明这些实体之间的关系:
出库信息
入库信息
库存信息
登记
领用
图3.25物质管理信息的E—R图
3.2、逻辑数据库设计
通过对数据库概念模型的设计,确定以下是该系统需建立的几个表格。
表3.21物资表
物资表material
字段名
类型
NULL
其他
备注
wzid
char(8)
N
PK
物资编号
wzname
char(20)
N
物资名称
wzspec
char(20)
N
物资型号
wzkind,
char(10)
类型
wzunit
char(10)
计量单位
表3.22物资入库表
物资入库表msave
字段名
类型
NULL
其他
备注
rkno
char(14)
N
PK
入库号
rkid
char(8)
N
物资编号
rkname
char(20),
N
物资名称
rkspec
char(20),
规格型号
rkkind
char(10),
N
类别
rkunit
char(10),
N
计量单位
rkaccount
numeric(5,0)
N
数量
rkprice
numeric(8,2)
N
单价
rkvalue
numeric(10,2)
N
金额
rkdate
datetime
N
入库时间
rkdeal_person
char(10)
N
PK
经办人
rksave_person
char(10)
N
保管人
rkbase
char(10),
Index,FK
仓库
rkmemo
text
备注
表3.23物资入库表
物资入库表msurplus
字段名
类型
NULL
其他
备注
yeid
char(8)
N
Pk
物资编号
yename
char(20),
N
物资名称
yespec
char(20),
物资型号
yekind
char(10),
N
类别
yeunit
char(10),
N
计量单位
yeaccount
numeric(5,0)
N
数量
yeprice
numeric(8,2)
N
单价
yebase
char(10),
Index,FK
仓库
yememo
text
备注
表3.24物资领用表
物资领用表muse
字段名
类型
NULL
其他
备注
lyno
char(14)
N
PK
领用号
lyid
char(8)
N
物资编号
lyname
char(20),
N
物资名称
lyspec
char(20),
规格型号
lykind
char(10),
N
类别
lyunit
char(10),
N
计量单位
lyaccount
numeric(5,0)
N
数量
lyprice
numeric(8,2)
N
单价
lyvalue
numeric(10,2)
N
金额
lydate
datetime
N
领用时间
lydeal_person
char(10)
N
PK
领用人
lysave_person
char(10)
N
保管人
lybase
char(10),
PK
仓库
lymemo
text
备注
3.3、规范化理论的应用
在以上的逻辑分析中,我们不难得出这些关系转化都在第三范式中。
3.4、物理数据库设计
在完成了数据库的逻辑设计之后,即可开始数据库的物理设计。
基于以上数据库逻辑设计,考虑到程序设计的简易性及通用性,本物资管理信息系统采用的MicrosoftSQLServer2000数据库,并在其下创建了一个数据库和4个数据表。
3.4.1建立概念数据库模型
根据前面的概念和逻辑模型设计,我们在PowerDesigner12中建立ConceptualDataModel_1,如图3.4.1所示:
图3.4.1概念数据可模型
3.4.2将概念模型转换成物理模型
概念模型建好后,在PowerDesigner12的Tools选项中选择GeneratenewPhysicalDataModel,将概念模型转换成物理模型,如图所示:
图3.4.2物理数据库模型
3.4.3生成数据库代码
建好物理模型后,在Database选择GenerateDatabase,生成数据库代码,以下是建立数据库及其表格的代码
(1)建数据库
usemaster
go
ifexists(select*fromdbo.sysdatabaseswherename='MMS')
dropdatabaseMMS
GO
createdatabaseMMS
go
useMMS
Go
(2)建表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[material]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[material]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[msave]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[msave]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[msurplus]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[msurplus]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[muse]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[muse]
GO
CREATETABLE[dbo].[material](
[wzid][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[wzname][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[wzspec][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[wzkind][char](10)COLLATEChinese_PRC_CI_ASNULL,
[wzunit][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[msave](
[rkno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[rkid][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[rkname][char](20)COLLATEChinese_PRC_CI_ASNULL,
[rkspec][char](20)COLLATEChinese_PRC_CI_ASNULL,
[rkkind][char](10)COLLATEChinese_PRC_CI_ASNULL,
[rkunit][char](10)COLLATEChinese_PRC_CI_ASNULL,
[rkaccount][numeric](5,0)NOTNULL,
[rkprice][numeric](8,2)NOTNULL,
[rkvalue][numeric](10,2)NOTNULL,
[rkdate][datetime]NOTNULL,
[rkdeal_person][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[rksave_person][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[rkbase][char](10)COLLATEChinese_PRC_CI_ASNULL,
[rkmemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO
CREATETABLE[dbo].[msurplus](
[yeid][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[yename][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[yespec][char](20)COLLATEChinese_PRC_CI_ASNULL,
[yekind][char](10)COLLATEChinese_PRC_CI_ASNULL,
[yeunit][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[yeaccount][numeric](5,0)NOTNULL,
[yevalue][numeric](10,2)NOTNULL,
[yebase][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[yememo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO
CREATETABLE[dbo].[muse](
[lyno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[lyid][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[lyname][char](20)COLLATEChinese_PRC_CI_ASNULL,
[lyspec][char](20)COLLATEChinese_PRC_CI_ASNULL,
[lykind][char](10)COLLATEChinese_PRC_CI_ASNULL,
[lyunit][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[lyaccount][numeric](5,0)NOTNULL,
[lyprice][numeric](8,2)NULL,
[lyvalue][numeric](10,2)NULL,
[lydate][datetime]NOTNULL,
[lyuse_person][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[lydeal_person][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[lybase][char](10)COLLATEChinese_PRC_CI_ASNULL,
[lymemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO
3.4.4生成数据库
打开MicrosoftSQLServer的查询分析器,输入以上代码,于是得到了我们需要的数据库MMS(物资管理系统)。
第四章软件功能设计
4.1、系统功能分析
系统开发的总体设计任务就是实现物质信息的系统化,规范化和自动化。
系统功能分析是在系统开发总体任务的基础上进行的,本系统中需要的的主要功能有:
◆添加用户;
◆删除用户;
◆修改用户密码;
◆浏览物质信息;
◆添加物质信息;
◆删除物质信息
◆物质剩余信息查询;
对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图4.1所示的系统功能模块图。
物质管理系统
登陆模块
物质入库信息管理
浏览物资入库表
添加物资入库信息
删除物资基本信息
物质余额信息管理
添加物资余额信息
删除物资约信息
修改物资余额信息
物质领用信息管理
添加物资领用信息
删除物资领用信息
修改物资基本信息
浏览物资领用表
浏览物资余额表
修改物资基本信息
物质基本信息管理
浏览物质表
添加物资基本信息
删除物资基本信息
修改物资基本信息
帮助
图4.1系统功能模块图
4.2系统功能模块设计
本系统的运行环境为MicrosoftVisualBasic6.0
4.2.1登录
程序执行后点击进入系统按钮将弹出系统的登录界面,如下图所示:
用数据库中存储的用户信息登录系统,如图4.2.1所示
图4.2.1登录界面
若用户输入的用户信息错误,会弹出警告,登录3次失败后系统自动退出
4.2.2主界面
登录成功后进入系统的主界面,如图4.2.2:
通过菜单栏,用户可以参与数据的相关操作,如插入、修改、删除和统计等。
图4.2.2主菜单
4.2.3浏览物质信息
通过各模块中的浏览物质信息,可以对物质的各种信息进行浏览,其中包括按表和按行浏览两种方式。
如图4.2.32和4.2.33所示时对物质基本信息进行的两种浏览方式。
图4.2.31主菜单上的浏览选项
图4.2.32按表格浏览物资表
图4.2.33按行浏览物资表
其余的浏览操作与上述的操作类似,这里不再赘述。
4.2.4添加物质信息
每个关于物质信息是我模块都可以进行添加信息的操作,如图4.2.4是添加物质基本信息
4.2.41主菜单上的添加选项
图4.2.42添加界面
图4.2.43添加信息
图4.2.44添加成功提示
其余的添加操作与上述的操作类似,这里不再赘述。
4.2.5删除物质信息
点击系统中的删除按钮,可对物质的各种信息进行删除,如对物质基本信息进行删除操作:
(1)按物质编号删除
点击删除菜单的子菜单,选择按物质编号删除,弹出删除删除信息的界面如图4.2.52,在其中输入或选择物质的编号,选择确定,将弹出警告提示,如图4.2.54所示。
选择确定,系统给出删除成功的提示,如图4.2.55所示,如果选择取消,则弹出操作被撤销的提示,如图4.2.56所示
4.2.51主界面的删除选项图4.2.52删除界面
图4.2.53删除物资图4.2.54删除警告
图4.2.55删除成功图4.2.56删除被撤销
(2)按物质名称删除
图4.2.57删除界面图4.2.58删除物质
按物质名称删除与按物质编号删除类似,这里不再赘述。
其余的物质的各种信息删除也与上面说讲的类似,这里就不再多说了
4.2.6修改物质信息
如果想要修改物质的各种信息,点击各个模块中的修改选项,将弹出当前的各种物质信息,如图4.2.61是物资基本信息的修改选项,图4.2.62所示是对物质基本信息所进行的修改操作:
图4.2.61主界面的修改选项
图4.2.62修改物质信息
修改完后,点击“确定”,于是修改就成功了。
点击“取消”,则操作被撤销,点击退出,则返回主界面。
其余的物质信息的修改操作也与上面说讲的类似,这里就不再多说了
4.2.7余额统计
通过主界面的余额统计选项,可对各种物质的余额进行统计
图4.2.71主界面的余额统计选项图4.2.72统计物质余额
图4.2.73统计余额
4.2.8系统帮助
用户点击菜单栏上的"关于",可以查询到系统的简介和使用说明
图4.2.8关于系统
第五章设计心得
回顾该系统从选题,到调研、需求分析、设计、编码实现、测试等,这系列连贯的过程,感想颇多,收获也很多。
大致的总结几点,如下:
1.设计开发一个软件,首先要了解所涉及到行业的现状,一定要想办法进行行业调研,从不同途径获取该行业的专业知识。
合理安排系统设计开发时间,进行实际开发会发现需求分析与系统设计占主要的时间,如果前面的工作做好了,编码实