《仓库管理系统 数据库课程设计.docx》由会员分享,可在线阅读,更多相关《仓库管理系统 数据库课程设计.docx(16页珍藏版)》请在课桌文档上搜索。
1、江苏科技高校电子信息学院数据库课程设计设计题II:仓库管理系统(数据库部分)专业班级:通伶工程通-1班学号姓名:汤伟杰1245711123指导老师:吴惠英试验地点:张经管楼A区203仓率管理系统1.设计要求:(1)信息要求一股生产制造型或商品流通型企业须要运用仓库来存储大量的原材料和成品货物,并且货物种类繁多。在仓库管理中,商品入库、商品出库、库彳渣海是最常见的工作。由业务的繁杂性,传统的手工记录在应对这些业务时,常常显得特别笨拙,而且常常简单出错,效率也特别低。因此企业须要通过先进的信息技术来解决这一问题,为此数据库管理系统就成了很多企业势在必行的研发课题.(2)I1.r求分析 通过对企业仓
2、库的了解,一般系统的具备以下功能: 由于操作人员的计算机学问普遍偏低,因此要求系统具方良好的人机界面; 便利的货物入库和出库管理; 能够对联系单位,仓即和货物的资料进行修改; 在入库操作时,选择相应的货物、单位和仓库进行入库操作; 能够区分同种货物在不同仓库的存储状况,以免出库时出现错误; 依据用户选择的杳询条件,供应入库行询,出库查询和库存杳询; 完善的数据备份和还原功能; 用户可修改自己的密码; 管理员可修改用户权限,增加新用户;2.设计目标:1 .希望通过本数据库达到以下功能2 .系统采纳人机对话方式,界面美观又好,信息杳询敏捷、便利,数据存储平安牢靠。3 .供应多种杳询功能,至少包括入
3、库、出库和库存等常用的杳询功能。4 .能够建立完善的基础信息档案,至少包括联系单位、货物和仓库的档案。5 .设计运用的货物管理功能,至少包括入库和出库管理。6 .多用户输入的数据,进行严格的数据校验。3.开发与运行环境:系毓开发品台:MicrosoftVisua1.Basic6.0开发语言:VC+数据库管理系就软件:MicrosoftSQ1.Server2008R2运行平台:Win74数据库描述:采纳SQ1.server2008作为前台数据库数据库设计1 .Iif求分析标要而针对我们之前的褥求分析,我们对其做概要设计由于操作人员的计算机学问普遍偏低,因此要求系统具有良好的人机界面;(我们运用V
4、C+作为我们的汇编语言,供应其良好的人机界面)便利的货物入库和出库管理;(我们建立入库表和出库表并运用应用程序相关功能对其供应支持)能够对联系单位,仓库和货物信息的资料经行修改;(我们建立供应表,仓库表和货物表对其供应支持)能够区分同种货物在不同仓库的存储状况,以免出库时出现错误;依据用户选择的杳询条件,供应客户信息杳询,供应商杳询,货物杳询,仓库与管理员杳询;管理员可修改用户权限,增加新用户;2 .仓库定位与系统分析仓库定位:仓库定位于中小型企业的仓库,主要存放家电与一些日常用品系统分析:(1)因为是企业仓库,货物数处较多,种类也较多,所以在数据库中供应肯定的存储空间供应支持;(2)平安方面
5、由于每天的进出货数量较大,管理员有肯定责任,则当前时间运用(登陆)系统的管理员设为经手人;(3)由于要有货物进出,所以当有相应的货单时,最好能有人性化的提示在那个时间那个仓库入库或者出库3,仓库管理系统关系图:仓库表:仓库编号,仓库名,仓库面积,管理员编号,备注;供应表:货物编号,货物名,价格,供应商编号,仓库编号,管理员编号;供应商表:供应商编号,供应商名,联系人,电话,地址;管理员表:管理员编号,管理员姓名,电话,地址,工资;客户表:客户编号,客户名,联系人,电话,地址;需求表:货物编号,客户编号;4.数据表设计:仓即表信息1 WINUOC6CR1.HTF.3001-db。.仓座表W1N-
6、UOC6CR1.HTA封提三为VarChar(20)Vardur(20)varchar(20)varchar(20)vardar(20)ZEI0BMB列名月仓库境号仓库名仓库而胃管理费,聘列屋性供应表信息WIN-UOCeCR1.HTF一理OO1.-dbo.供应表W1N-UOC6CR1.HTF.J三0列名允许Nui值用货物编号VarcharGO)货物名varcharC20)价格money供应商编号YarChar(20)仓倒居VarCharao)管悭员编号VarChar(20)供应商表信息W1.N-UOCeCR1.HTF-BOO1.-dbo.供应南表WIN-UOC6CR1.HTF.J.列名数据奕型
7、允许Nu1.fg供应商!扃号:varcar(20)供应商名varchar(20)京系人VerChar(20)电话varchaf(20)地址varcaf(20)管理员表信息Nu1.ffiWINUOCeCR1.HTF-SW1.db.三SSW1NUOC6CR1.HTF,列名数触不阳管理员堰旺VerChar(20)管理员姓名varchar(20)电话VarcharCO)地址varchar(20)工奥money客户表信息WINUOC6CR1.HTF.SW1dbo.SPW1N-UOC6CR1.HTF.3列名数堀5!NJffivarchar(20)VafChar0)varchar(20)varchar(20
8、)varchar(20)9客户班号客户名联系人电话地址需求表信息W1NUOC6CR1.HTF.知FNW值WINUOC6CR1.HTF.S001dbo.SS求我列名t2!印货物编号Vareherc20)9客户编写Vbdw(20)列屋性数据库的完整性分析实体完整性:在每个表中都设置了主键,并为非空)照完集性:(1)仓库表中的生键仓库编号是供应表中的外键;(2)供应商表中的主键供应商编号是供应表中的外键;(3)管理员表中的主键管理员编号是供应表中的外键;(4)供应表中的主健货物编号,客户表中的主键客户编号分别是需求表中的外键C妁束完整性:对电话,地址有要求不得为空。对价格,工资有固定格式要求。对价格
9、,数最要求不卜.于零.5,仓库管理系新数据库翎建:下三创建了供应商表(createtab1.e偿应茴表供应商编号Varchar20primarykey,供应商名varchax2O)notnu1.1.r联系人varcar(20),电话varchar2O)notnu1.1.,地址varcar2O)下可创建了管理员表5 createtab1.e窝理员表管理员编号varchar(20)primarykey,管理员姓名varchar2O)notnu1.1.,电话varchar(20)netnu1.1.,地址varchar(20)noznu1.1.,工资moneynotnu1.1.下而创建了仓库表crea
10、tetab1.e仓库表仓库编号varchar20prnarykey,仓库名varchar(20notnu1.1.,仓庠面积varchar(20)notnu1.1.r管理员编号varchar(20)notnu1.1.,备注varcar(20),foreignKeyi管理员编号)references管理员表(管理员编号)下面创建了供应表createtab1.e:供应表.货物编号varcar20)primarykey,货物名varcar(20)notnu1.1.,价格moneynoznu1.1.,供应商编号varcar(20)notnu1.1.,仓库编号varchar2O)notnu1.1.,管理员
11、编号varcar(20notIm1.1,foreignkey(供应商编号)references供应商表(供应商编号),foreignkey(仓库编号Irefeences仓库表仓库编号,foreignkey,:管理员编号)references管理员表(管理员编号)下三裾建了客户表createtab1.e客会表客户编号varchar2O)primaryJcey,客户名varchar(20)notnu1.1.r联系人varchar(20)notnu1.1.,电话varchar(20)notnu1.1.,地址varchar20)下三创建了IW睡11createab1.e需求去(货物编号varchar(
12、20),客户编号varchar(20),primarykey(客户编号,货物编号),foreignkey(客户编号)references客户表(客户编号),forrgkey(货物编号,references供应表债物编号,6 .数据库存脩过程的,建1 .插入物品存储过程在供应表中插入货物时推断货物是否已插入A1.TERproc(dbo).(proc-insertI(喷物编号verchar(20),3货物名varchar20),8价格三*one,2供应商编号varchar(20),仓库编号varchar(20),8管理员编号varchar20)CHD-CHD一P-Q1.二二exscs(3e1.ec
13、cfxom供应表where货物编号=货物编号)beginifexists(se1.ect-from供应表where货物名Y货物名)begin,价格,供应商编号,仓库编号,管居应商编号仓库编号,3管理员编号return10ende1.sebegininsertinto曾应表(货物编号,货物名VaIUe3(货物号,e货物名,价格,映endend2 .插入供应商存储过程这是为了推断供应商是否存在,方怎返回,无则添加A1.TERPrOCra:JREa二:RPqK?供应意表1(9供应商编号varcar(20),&供应商名Varchar(20),联养人varchar(20),8电话VarChar(20),
14、itvarchar(20)asirexists(se1.eccfroa供应商表Where供应商编号=供应商编号)3beginreturn100-ende1.se3begininsertinto供应商表(供应商编号,供应商名,联系人,电话,地址,VaIUeS田供应商编号,8供应商名,2联系人,电话,。地址I*-end3 .插入仓陈存储过程这是为了推断仓库是否存在,有则返回,无则添加EJA1.terPrOC1.(蛉库编号varchar2O),Q仓库名varchar(20),仓库面积varchar20),&管理员编号varchar(20,8备注vaxcar(20)asIJiiexs3se1.ectf
15、rom仓库表where仓库编号=8仓库编号)beginrecurn100ende1.se11beginII1.nsertInCO仓库表(仓库编号,仓库名,仓库面积,管理员编号,备注)Va1.UeS(。仓库编号,2仓库名,仓库面积,管理员编号,3备注)end7 .系金运行H莫登陆:模块预览:客户信息:客户信息修改:货物信息修改:供应商信息勺修改:仓库与管理员信息:8 .问题与优化:由于我是负责数据库的编写,界面的优化与问题就不在叙述,有徐楠和榆武丹同学福述。在客户0的编写过程中遇到了很多问题,其中大部分时花在代码悯试上。例如,当执行基相率语音时,由于Int型的属性不须要加单引号而Char类(要加
16、,当Char类型的没加单引号而int类型被加了,在编译时不会报借,而在运行时就会出现“列名无效W的异样,这也是自己不编心导致的结果。当然,之后为了简便,除了价格,工费等特别数据类型,其余一律改为varchar9 .个人心得体会:经过本次课程设计,驾驭r开发一个软件系统开发的整个过程,从起先的需求分析到最终的脸收。首先,%;求分析很重要,需求分析做的全面与否,关系到系统开发出来是否具有好用价值,就拿我做的仓库管理系统来说,首先我们得定位自己的仓库是为什么企业服务,是为大型生产型企业还是一般的超市,两者考虑的迥然不同,大型生产型企业就得考虑货物的来原可能是原材料,可眺半成,可能是成品,怎么投放,仓
17、库多大,能放纱东西等等一系列问题。还方在需求分析时,就得确定做的系统须要完成哪些功能,不能边开发边想,那样的话就花可能不断的修改花费大量的时间。由于这次课程设计我负贲数据库的开发,深刻的相识到数据库开发人员须要对整个界面系统特别了解,得和前台设计人员一起确定有哪些存储过程,每个存储过程都有哪些参数,返回值所代表的的意义,仞建了那些视图,都有哪些属性,当然对于每个基本表的属性也要特别熟识,不然在程序中执行SQ1.语句就不行能实现了。所以编写应用程的人员的任务是比较重的。通过本次课程设计还相识到自己的阅历明显不足,很多问题都没考虑周全,比如老师提出来的为什么修改和后退键都指向已修改的表等等,当然也是白己考虑的不够周全,其实解决这些问题并不难,但是假如优化了就能看出系统更加具有实际应用价值,这是我们以后在开发过程中须要留意的问题,梢梢的改进就能让系统更有亮点。总之,通过本次课程设计,不论是在开发方法和技巧上还是个人阅历上都学到了很多。感谢老师对我们系统的分析以与对我们提出的珍贵看法和建议。不仅让我们完善了我们的作品,同时也让我们知道了在以后的开发过程中应当留意哪些问题。