(精品仓库管理)数据库——仓库管理系统铜陵学院数学与计算机系《数据库课程设计》时间:2011年6月7日至2011年6月10日设计题目:仓库设备管理学生姓名:曹福利、郭贺、田辉学号:0906121001、15、30专业班级:09信息管理与信息系统指导教师:杨慧指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩指导教师签字年月日一、开发背景及设计思想41.开发背景42.开发设计思想4二.功能描述41、系统功能分析42、系统功能模块设计5三.数据库需求分析5四、数据库概念结构设计6五、数据库逻辑结构设计及优化8六、数据库的物理设计和实施91.数据库设计9(1).创建设备基本信息代码device_code9(2).创建企业部门基本信息代码class_node10(3).创建供应商设备信息代码provider_node10(4) .创建设备入库表 device_in10(5).创建设备出库表 device_out10(6).创建现有库存表 device11(7).创建部门需求表 device_need11(8).创建设备还库表device_return11(9).创建操作日志表 howdo122、系统实现122.1创建应用程序122.2操作日志模块的设计121、写日志模块122、读日志模块142.3登录窗口的设计和程序初始化162.4主对话框界面的设计172.5设备代码管理窗口的建立182.6库存信息管理窗口的创建212.7设备入库信息管理232.8设备入库窗口262.9帮助模块设计28七、课程设计心得体会281问题和解决方案292系统改进方面293.实习心得与体会29一、开发背景及设计思想1.开发背景90年代中期,由于Internet的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。
由于计算机应用的日益普及,仓库设备管理的自动化是提高工作效率的有效途径,随着企业对仓库设备实行计算机管理,实现仓库设备管理系统势在必行。
系统开发的总统任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到仓库管理效率的目的。
2.开发设计思想在本系统的设计过程中,为了克服仓库管理信息处理量大的困难,满足计算机管理的需要,采取了下面的一些原则:1、统一各种原始单据的格式,统一帐目和报表的格式。
2、删除不必要的管理冗余,实现管理规范化、科学化。
3、程序代码标准化,软件统一化,确保软件的可维护性和实用性。
4、界面尽量简单化,做到实用、方便,尽量满足企业不同层次员工的需要。
5、建立操作日志,系统自动记录所进行的各种操作。
二.功能描述1、系统功能分析本例中的仓库管理系统需要完成的功能主要有以下几点:1.新的设备信息的录入;2.借出、归还、维修时对设备信息的修改;3.对报废设备信息的删除;4.按照一定的条件查询、统计符合条件的设备信息;查询功能至少应该包括设备基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的设备等)查询、按时间点(借入时间,借出时间,归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的设备等)统计、按设备基本信息的统计等;5.对查询、统计的结果打印输出。
2、系统功能模块设计在系统功能分析的基础上,结合VisualC++程序编制的特点,得到如图所示的系统功能模块图。
三.数据库需求分析在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的数据流程如图12345库存实体E-R图入库实体E-R图在上面的实体以及实体之间的关系的基础上,形成数据库中的表格和各个表格之间的关系。
仓库管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
表1-1设备基本信息代码表device_code列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号(主键)name,VARCHAR2(20),NULL,设备名称表1-2企业部门基本信息表class_node列名,数据类型,可否为空,说明node,VARCHAR2(6),NOTNULL,部门编号(主键)department,VARCHAR2(20),NOTNULL,部门名称表1-3供应商设备信息表provider_node列名,数据类型,可否为空,说明node,VARCHAR2(6),NOTNULL,供应商编号(主键)provider,VARCHAR2(20),NOTNULL,供应商名称telenode,VARCHAR2(10),NULL,供应商电话name,VARCHAR2(20),NULL,设备名称表1-4设备入库表device_in列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号in_date,DATE,NOTNULL,入库时间(主键)provider,VARCHAR2(20),NULL,供应商in_number,NUMBER(6),NULL,入库数量price,NUMBER(6),NULL,价格buyer,VARCHAR2(10),NULL,采购员表1-5设备出库表device_out列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号department,VARCHAR2(20),NULL,使用部门out_date,DATE,NULL,出库时间(主键)out_state,NUMBER(1),NULL,出库状态out_person,VARCHAR2(10),NULL,经手人out_number,NUMBER(6),NOTNULL,出库数量taker,VARCHAR2(10),NULL,领取人usage,VARCHAR2(20),NULL,用途表1-6现有库存表device列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号(主键)now_number,NUMBER(6),NULL,现有库存high_number,NUMBER(6),NULL,最大库存low_number,NUMBER(6),NULL,最少库存total_number,NUMBER(6),NULL,总数表1-7部门需求表device_need列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号department,VARCHAR2(20),NOTNULL,部门名称need_number,NUMBER(6),NULL,需求数量begin_date,DATE,NULL,需求开始时间end_date,DATE,NULL,需求结束时间表1-8设备还库表device_return列名,数据类型,可否为空,说明code,VARCHAR2(6),NOTNULL,设备号return_date,DATE,NULL,还库时间(主键)keeper,VARCHAR2(20),NULL,仓库管理员return_number,NUMBER(6),NULL,归还数量return_date,VARCHAR2(10),NULL,归还人表1-9操作日志表howdo列名,数据类型,可否为空,说明do_user,VARCHAR2(10),NOTNULL,操作员do_what,VARCHAR2(40),NOTNULL,操作内容do_date,DATE,NOTNULL,操作时间六、数据库的物理设计和实施得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。
1.数据库设计(1).创建设备基本信息代码device_codeCREATETABLE“DMS”.device_code(codeVARCHAR2(6)NOTNULL,nameVARCHAR2(20)NOTNULL,CONSTRANTcode_code_pkPRIMARYKEY(code))TABLESPACE”USER_DATA”;(2).创建企业部门基本信息代码class_nodeCREATETABLE“DMS”.class_node(nodeVARCHAR2(6)NOTNULL,DepartmentVARCHAR2(20)NOTNULL,CONSTRANTnode_node_pkPRIMARYKEY(node))TABLESPACE”USER_DATA”;(3).创建供应商设备信息代码provider_nodeCREATETABLE“DMS”.provider_node(nodeVARCHAR2(6)NOTNULL,providerVARCHAR2(20)NOTNULL,telenoVARCHAR2(10)NULL,CodeVARCHAR2(6)NOTNULL,CONSTRANTnode_node_pkPRIMARYKEY(node))TABLESPACE”USER_DATA”;(4).创建设备入库表device_inCREATETABLE“DMS”.device_in(codeVARCHAR2(6)NOTNULL,in_dateDATENOTNULL,providerVARCHAR2(20)NULL,in_numberNUMBER(6)NULL,priceNUMBER(6)NULL,buyerVARCHAR2(10)NULL,CONSTRAINTin_date_pkPRIMARYKEY(in_date))TABLESPACE“USER_DATA”;(5).创建设备出库表device_outCREATETABLE“DMS”.device_out(codeVARCHAR2(6)NOTNULL,departmentVARCHAR2(20)NULL,out_dateDATENULL,out_stateNUMBER(1)NULL,out_pensonVARCHAR2(20)NULL,out_numberNUMBER(6)NOTNULL,takerVARCHAR2(10)NULL,usageVARCHAR2(20)NULL,CONSTRAINTout_date_pkPRIMARYKEY(out_date) )TABLESPACE”USER_DATA”;(6).创建现有库存表deviceCREATETABLE”DMS”.device(codeVARCHAR2(6)NULL,now_numberNUMBER(6)NULL,high_numberNUMBER(6)NULL,low_numberNUMBER(6)NULL,total_numberNUMBER(6)NULL,CONSTRAINTdevice_code_pkPRIMARYKEY(code) )TABLESPACE”USER_DATA”;(7).创建部门需求表device_needCREATETABLE“DMS”,device_need(codeVARCHAR2(10)NOTNULL,departmentVARCHAR2(10)NOTNULL,need_numberNUMBER(6)NULL,begin_dateDATENULL,end_dateDATENULL,)TABLESPACE”USER_DATA”;(8).创建设备还库表device_returnCREATETABLE“DMS”,device_return(codeVARHAR2(6)NOTNULL,departmentVARCHAR2(20)NULL,return_dateDATENULL,keeperVARCHAR2(10)NULL,return_numberNUMBER(6)NULL,return_personVARCHAR2(10)NULL,CONSTRAINTreturn_date_pkPRIMARYKEY(return_date))TABLESPACE”USER_DATA”;(9).创建操作日志表howdoCREATETABLE“DMS”,howdo(do_userVARCHAR2(10)NOTNULL,do_whatVARCHAR2(40)NOTNULL,do_dateDATENOTNULL,)TABLESPACE“USER_DATA”;2、系统实现2.1创建应用程序(1)选择“FileNew”中的“新建项目”选项卡中“MFCAppWizard(exe)”,设置合适的目录和项目名,比如“E:\Project”目录下的“DMS”项目。