数据库课程设计仓库管理系统
- 格式:doc
- 大小:4.54 MB
- 文档页数:32
课程设计课程设计名称:数据库应用课程设计专业班级:信息管理与信息系统学生姓名: ***学号: 1210034***指导教师:段群课程设计时间:2011.12.20-2010.12.24计算机应用技术专业课程设计任务书目录1.问题描述 (1)1.1背景 (1)1.2功能要求 (1)2.需求分析 (2)2.1数据流程图 ..................................................................................... 错误!未定义书签。
2.2数据字典........................................................................................... 错误!未定义书签。
3.概念结构设计 (5)3.1E-R图 (5)4.物理结构设计 (8)5.存储过程设计 (11)6.触发器设计 (12)7.应用程序实现 (12)8.结束语 (23)1.问题描述1.1背景仓库是工厂的一个重要的中转站,仓库里能储存各种各类的货物,货物的流动性比较大,需要处理的数据较多,直接有人工检索信息和更新仓储信息比较繁琐,为了能提高仓库的管理效率,设计适合仓储管理的数据库系统是很重要的。
1.2功能要求工厂需要一个能够实现管理仓储功能的数据库系统,该系统的用户为仓库管理员,同时他也是系统管理员。
系统的主要功能如下:1)仓库入库管理:主要是管理员对进入仓库的货物进行登记,包括货物号、货物名、货物数量、货物价格、货主以及仓库号等。
以便统一管理,当同一货主的同种货物入库时记录追加,同时也要记录仓库入库的日志信息。
2)仓库提货管理:当货主提走货物时进行该管理,在货物出库时,进行登记,登记内容货物号、货物名、货物数量、货主、货物价格、日期等。
3)仓库查询管理:用户可按货物号、按货物名、按货主、仓库号等进行查询。
任务书1、课程设计题目仓库管理系统2、设计任务和内容一个小型通用的仓库管理系统是实现企业对库存商品出库、入库进行高效的管理。
通过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作。
按照一定的条件,查询、统计符合条件的商品信息;并且对查询、统计的结果有一定的输出。
本课题任务是开发一个小型的仓库管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求设计步骤:首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。
设计要求:1、撰写课程设计说明书。
其要求如下:(1)基本要求:①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明。
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分:①分章、层次等,每一章从新一页开始。
②章节安排可如下安排.概述:包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:把ER模型图转换为关系表;描述每一个基本表关系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:给出主要功能的代码并有适当的说明;界面设计要合理,给出主要界面。
2、一个可运行的仓库管理系统原型。
(可选)教师签名:摘要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。
仓库管理系统数据库课程设计-课程设计仓库管理系统1.课程设计的目的仓库管理信息系统主要是为公司的经营活动提供信息服务,它涵盖了仓库的各项管理工作,涉及多方面的职能。
系统能够对客户信息管理、订单管理、报价单管理、供应商管理、出货管理等信息提供存储、更新、查询、统计的功能,使公司能够合理控制进销存的各个环节,提高资金的利用率和结算速度,实现管理的高效率、实时性、安全性、科学化、现代化和智能化。
按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持公司管理工作的全过程,加强各种信息资源的管理与运用,提高企业管理工作的现代化水平,优化人、财、物和信息资源在供、销等各环节的运行机制。
管理信息系统应逐步覆盖公司内部的所有部门和一切经营活动,使所有业务部门的工作人员在信息系统的辅助下进行工作,提高管理的整体水平,同时企业领导可以通过系统及时了解各部门工作的进展情况。
2.需求分析的任务2.1功能需求该系统主要分为三大功能: 管理员功能、用户功能。
管理员功能包括:产品入库登记、确认入库信息、删除库内信息、借出信息登记、产品分类管理、添加人员、删除人员、查询库内信息、系统配置、查看系统事件。
用户功能包括:查询库内信息、查询出库信息、查询入库信息、修改本用户密码。
2. 2用户需求根据用户需求,该系统应该实现以下功能:(1)进、出库管理。
对进、出库信息进行记录。
(2)查询功能。
仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
(3)部门资料管理与库存报表生成。
资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。
报表主要分类为:日报表,月报表,销售报表,入库报表等等。
(4)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(5)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作3数据库设计3.1数据库的概念模型用E—R图表示当前的数据库概念模型图2.4入库实体图2.5 出库实体图2.6 库存台账实体图2.7总 E-R图3.2功能模块图库存管理人员可能对数据库的管理有不同的权限,根据要求赋予不同人员对数据库管理的权限根据系统的业务流程和用户的需求分析可以得出,本系统应该包含产品基本信息管理、出入库管理、库存管理、系统管理、操作人员管理、查询、打印、统计等几大功能,如下图所示:图3.2 总体功能模块图其中入库管理包括新物品初次入库(包含基本信息的入库)和非新物品入库,打印可以按需要采购的物品和借出,进库,入库信息进行打印.1)基本管理:具体用户是系统管理员,对于出库进库成功时系统直接算出该产品的余料2)进库管理:主要完成对产品品名,规格型号,数量,单价,入库日期,入料人编号,入料人(入料人和编号为统一的,一入料人编号对应于一个入料人),经手人出库管理主要完成产品品名,规格型号,数量,单价,出库日期,出料人编号,出料人3)交接班是为了便于用户交接班时不用退出系统就可以进行数据库用户更换4)修改密码必须先输入原始密码才让修改密码,防止用户离开时的疏忽而被其他人篡改用户信息和密码。
仓库管理系统-数据库课程设计文档2006410206-1引言…………………………………………………………………………………………………3 第一章概述1、项目背景 (3)2、项目目的和意义 (4)3、软件定义 (5)4、开发环境……………………………………………………………………………………6 第二章需求分析1、问题陈述 (8)2、系统功能 (9)3、数据库概念结构设计 (10)4、数据库逻辑结构设计 (11)5、软件功能模块设计 (15)6、视图定义 (16)7、输入输出设计 (17)8、安全设计…………………………………………………………………………………17 第三章系统的详细设计与实现1、引言 (18)2、模块实现.......................................................................................... 18 第四章结束语............................................................................................. 20 参考资料......................................................................................................21 源程序清单 (22)随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机及与通信技术为基础的信息系统正处于蓬勃发展的时期。
各种仓库管理的方法也是日新月异。
以前全是由人力管理的方法存在很多缺点,仓库的管理问题也就提上了日程。
随着这种企事业单位产品和材料的大量增加,起管理难度也越来越大,如何优化仓库夫人日常管理也就成为了一个重要的课题。
在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已经是势在必行,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业飞速发展提供无限制的潜力。
数据库课程设计仓库管理系统一、引言仓库管理系统是企业日常运营中不可或缺的一部分,它涉及到商品的存储、采购、销售等方方面面。
为了更好地管理仓库,提高工作效率,降低成本,我们设计了一个仓库管理系统,通过数据库课程的学习和实践,我们将系统的设计和实现进行了详细的分析和讨论。
二、系统需求分析1. 功能需求(1)商品管理:包括商品的入库、出库、库存管理等。
(2)订单管理:包括订单的生成、处理、发货等。
(3)员工管理:包括员工信息的录入、权限管理等。
(4)报表管理:包括库存报表、销售报表等。
(5)权限管理:不同角色的员工有不同的权限,需要进行权限管理。
2. 性能需求系统需要具备良好的性能,能够快速响应用户的操作,保证系统的稳定性和可靠性。
3. 可靠性需求系统需要保证数据的安全性,避免数据丢失或损坏。
4. 可维护性需求系统需要易于维护和扩展,能够方便地进行功能的更新和改进。
三、系统设计1. 数据库设计我们选择了关系型数据库来存储系统的数据,采用了MySQL作为数据库管理系统。
根据系统的功能需求,设计了商品表、订单表、员工表、权限表等,通过表之间的关联来实现数据的一致性和完整性。
2. 系统架构设计我们采用了B/S架构来设计系统,通过浏览器访问系统,实现了跨平台的使用。
前端采用了HTML、CSS、JavaScript等技术,后端采用了Java语言,通过Servlet和JSP来实现页面的动态生成和交互。
3. 安全设计为了保障系统的安全性,我们对系统进行了权限管理,对不同角色的员工进行了权限划分,确保了数据的安全和隐私。
4. 性能优化为了提高系统的性能,我们对数据库进行了索引优化、查询优化等操作,提高了系统的响应速度和稳定性。
四、系统实现1. 数据库搭建我们首先搭建了MySQL数据库,创建了相应的表结构,进行了数据的导入和测试。
2. 前端页面设计通过HTML、CSS、JavaScript等技术,设计了系统的前端页面,实现了用户的交互和操作。
仓库管理系统的课程设计一、课程目标知识目标:1. 让学生掌握仓库管理系统的基本概念、功能模块及其运行原理。
2. 了解数据库在仓库管理系统中的应用,包括数据存储、查询和更新操作。
3. 掌握仓库管理系统中库存管理、出入库操作、库存盘点等基本流程。
技能目标:1. 培养学生运用所学知识分析和设计简单的仓库管理系统的能力。
2. 能够运用数据库技术进行库存管理,实现数据的增删改查等基本操作。
3. 培养学生运用信息技术解决实际问题的能力,提高信息处理和数据分析技能。
情感态度价值观目标:1. 培养学生对仓库管理系统及信息技术应用的兴趣,激发学习积极性。
2. 培养学生的团队协作精神,学会与他人共同解决问题,增强沟通与交流能力。
3. 增强学生的信息意识,认识到信息技术在现代社会中的重要作用,培养学生的社会责任感。
本课程针对高年级学生,结合课程性质、学生特点和教学要求,将课程目标分解为具体的学习成果。
课程设计注重理论与实践相结合,以实际案例为载体,使学生能够在掌握基本知识、技能的同时,提高解决问题的能力,培养良好的情感态度价值观。
二、教学内容本章节教学内容依据课程目标,结合教材内容进行选择和组织,主要包括以下几部分:1. 仓库管理系统概述:介绍仓库管理系统的基本概念、发展历程、功能模块及其在实际中的应用。
2. 数据库技术在仓库管理系统中的应用:讲解数据库的基本原理,以仓库管理系统为例,分析数据存储、查询和更新操作。
3. 仓库管理系统的基本流程:详细讲解库存管理、出入库操作、库存盘点等流程,以及相关业务处理方法。
4. 系统设计与实现:分析仓库管理系统的设计方法和实现技术,包括系统架构、模块划分、界面设计等。
教学内容安排如下:1. 第一周:仓库管理系统概述,使学生了解课程背景和目标。
2. 第二周:数据库技术在仓库管理系统中的应用,学习数据库基本原理及操作。
3. 第三周:仓库管理系统的基本流程,学习库存管理、出入库操作等业务流程。
仓库管理系统目录1.概述.......................................................................................... 错误!未指定书签。
2.课程设计任务的需求分析...................................................... 错误!未指定书签。
2.1设计任务........................................................................ 错误!未指定书签。
2.2设计要求........................................................................ 错误!未指定书签。
2.3需求描述的规范文档(可选).................................... 错误!未指定书签。
3.概念结构设计.......................................................................... 错误!未指定书签。
3.1概念结构设计工具(模型)........................................ 错误!未指定书签。
3.2管理员信息子系统(局部)........................................ 错误!未指定书签。
3.3零件信息子系统............................................................ 错误!未指定书签。
3. 4库房信息子系统.......................................................... 错误!未指定书签。
3.5总体图............................................................................ 错误!未指定书签。
目录1 课程设计的目的和意义 (2)2 需求分析 (2)3数据库系统设计 (3)4.程序代码实现 ................... 错误!未定义书签。
5.系统用户界面设计 ............... 错误!未定义书签。
6 总结 ........................... 错误!未定义书签。
7.附录 ........................... 错误!未定义书签。
一、课程设计的目的和意义仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。
人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。
随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注。
本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。
用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。
通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。
二、需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本仓库管理系统需要完成功能主要有:●用户登录。
实现根据不同用户的权限进行登录,并转到相应权限的操作。
●用户管理。
实现管理人员添加、修改、删除用户;一般用户修改信息等功能。
福建工程学院课程设计课程:数据库系统概论题目:仓库管理系统专业:计算机科学与技术班级:座号:姓名:2012年6月12日一、系统定义随着各个公司经营的范围慢慢扩大,业务流量比较大,需要处理的数据比较多,为了能对公司的业务进行有效的管理,减少手工操作的繁琐,同时可以根据公司业务的运营情况,分析出公司发展的潜在信息,顺应时代的发展变化,使管理更加简单化。
二、需求分析1、最终仓库管理系统功能如下:(1)资料管理功能人员信息:用于登记公司的员工信息资料、客户信息资料、和供应商信息资料,对员工信息资料支持员工信息的录入、修改和删除。
最高权限的管理员能录入和删除工作人员,普通权限的工作人员只能修改自己的密码产品信息:支持产品信息的录入、修改和删除,可以对各个产品进行查询。
(2)业务管理功能进出仓库明细:用于查看进货明细、进货退货、销售明细、销售退货、实现录入、修改和删除。
退货时,需要指定相应的退货单,可以查询进出仓库明细。
盘库:通过人工清点当前库存物品,与理论上仓库内物品数量对比,分析盘盈、盘亏问题(3)统计分析功能物品分析:用于对物品进行分析,主要是销售分析,包括对利润、进货、退货、库存等进行分析,可以通过报表显示。
人员分析:由于需求加大,需要各种职务的工作人员,分析职务需求,可供人才参考利润分析:对产品销售的利润进行分析,可以看出货物的供求关系(4)系统帮助功能:制作人员介绍使用帮助2、给出系统的逻辑模型:数据流程图、数据字典数据流图例子(可根据需要用多层数据流图表示):采购货物数据流图:数据字典:数据项:仓库:{仓库编号,仓库名,仓库类型,管理员,员工编号};供应商:{供应商编号,姓名,联系方式,地址};供应商供应的货物存入仓库数据结构:供应商提供货物,存入相应的仓库数据流:需求的货物进入相应的仓库数据存储:产品描述,应付款处理过程:需求货物->送订单号->订单处理->付款->货物入库管理数据流图:数据字典:数据项:员工:{员工编号,姓名,登录密码,性别,生日,联系方式,职称,家庭住址};货物:{货物编号,名称,类型,数量,单位,进价,售价,订单号};管理员管理仓库和资料库数据结构:管理员进行相关的操作,显示相应的信息,或存储相应的物品、资料数据流:操作信息,操作数据,相关信息表数据存储:查询时将数据信息显示出来,入出库数据进行存储处理等等处理过程:管理员操作->获得操作信息->实行相应的处理三、系统设计1、概念结构设计画出系统E-R图。
2、逻辑结构设计将E-R图(或其他概念设计图)转换为具体的DBMS对应的关系模式。
员工:{员工编号,姓名,登录密码,性别,生日,联系方式,职称,家庭住址};货物:{货物编号,名称,类型,单位,进价,售价};仓库:{仓库编号,仓库名,仓库类型,员工编号};供应商:{供应商编号,姓名,联系方式,地址};客户:{客户编号,货物编号,姓名,联系方式,地址,订单号};库存: {仓库编号,货物编号,数量}进仓:{入单号,进仓时间,入库数量,所付金额}出仓:{出单号,出仓时间,出库数量,所付金额}盘库:{盘库号,盘库时间,盘库数量}数据库设计:员工表仓库表货物表供应商表客户表进仓表出仓表库存表盘库表3、系统功能模块图画出系统功能模块图,并对子模块功能进行详细说明。
四、详细设计主要的SQL语句--数据库的建立CREATE DATABASE ckglON PRIMARY( NAME='ckgl_data',FILENAME='f:\cg\ckgl_data.mdf',SIZE=5mb,FILEGROWTH=15%)LOG ON( NAME='ckgl_log',FILENAME='f:\cg\ckgl_log.ldf',SIZE=2mb,MAXSIZE=100mb,FILEGROWTH=1MB)GO--员工表create table staff(staff_no varchar(10) primary key,staff_password varchar(10) not null,staff_name varchar(10) not null,staff_sex char(2) not null,staff_birthday datetime,staff_phone char(15)not null,staff_rank char(10) not null,staff_family_address varchar(50),)go--货物表create table material(material_no varchar(10) primary key,material_name varchar(10)not null,material_type varchar(10) not null,material_in_price varchar(10)not null,material_out_price varchar(10)not null,material_unit char(4) not null,)go--仓库表create table cangku(cangku_no varchar(10) primary key,cangku_name varchar(10)not null,cangku_type varchar(10)not null,staff_no varchar(10) not null,foreign key(staff_no) references staff(staff_no),)Go--库存表create table cunhuo(cangku_no varchar(10),material_no varchar(10),qty bigint,primary key(cangku_no,material_no),foreign key(cangku_no) references cangku(cangku_no), foreign key(material_no) references material(material_no),)--供应商表create table supplier(supplier_no varchar(10),material_no varchar(10),supplier_name varchar(10)not null,supplier_phone char(15) not null,supplier_address varchar(50),primary key(supplier_no,material_no),foreign key(material_no) references material(material_no),)--进仓表create table material_in(rudan_no int not null,supplier_no varchar(10) not null,material_no varchar(10) not null,in_data datetime not null,ru_qty bigint not null,supp_pay bigint not null,staff_no varchar(10) not null,foreign key(supplier_no,material_no) references supplier(supplier_no,material_no), foreign key(staff_no) references staff(staff_no),)--客户表create table kehu(kehu_no varchar(10) primary key,kehu_name varchar(10)not null,kehu_password varchar(10)not null,kehu_phone char(15)not null,kehu_address varchar(50),)--出仓表create table material_out(chudan_no int not null,kehu_no varchar(10) not null,material_no varchar(10) not null,out_data datetime not null,chu_qty bigint not null,kehu_pay bigint not null,staff_no varchar(10) not null,foreign key(kehu_no) references kehu(kehu_no), foreign key(material_no) references material(material_no), foreign key(staff_no) references staff(staff_no),)--盘库表create table panku(panku_no varchar(10) not null,staff_no varchar(10) not null,panku_date datetime,material_no varchar(10)not null,panku_qty bigint,foreign key(material_no) references material(material_no), foreign key(staff_no) references staff(staff_no),)Go建立进出仓的存储过程入仓:create procedure material_in_pro@rudan_no int,@supplier_no varchar(10),@material_no varchar(10),@in_data datetime,@ru_qty bigint,@supp_pay bigint,@staff_no varchar(10),@out varchar(20)='0' outputasDECLARE @n1 intselect @n1=count(material_no) from materialwhere material_no=@material_noif (@n1=0)beginselect @out='此物料不存在,如果要进仓,请先登记新物料信息!!'returnendelsebegininsert into material_in values(@rudan_no,@supplier_no,@material_no,@in_data,@ru_qty,@supp_pay,@staff _no)update cunhuo set qty=qty+@ru_qty where material_no=@material_noselect @out='操作成功!!'returnendgo出仓:create proc material_out_pro@chudan_no int,@kehu_no varchar(10),@material_no varchar(10),@out_data datetime,@chu_qty bigint,@kehu_pay bigint,@staff_no varchar(10),@out varchar(20)='0' outputasDECLARE @n1 intselect @n1=count(material_no) from material where material_no=@material_noif (@n1=0)beginselect @out='此物料不存在!'returnendelsebeginif @chu_qty>(select qty from cunhuo where material_no=@material_no)beginselect @out='库存数量不足!!'returnendelsebegininsert into material_out values(@chudan_no,@kehu_no,@material_no,@out_data,@chu_qty,@kehu_pay,@staf f_no)update cunhuo set qty=qty-@chu_qty where material_no=@material_noselect @out='操作成功!!'returnendend盘库:procedure TForm4.Button8Click(Sender: TObject);begin//insert into panku(panku_no,staff_no,panku_date,material_no,panku_qty)//select 1,1001,'2012-4-1',material_no,qty from cunhuo//将盘库结果插入到盘库表中with datamodule2.panku dobeginsql.clear;sql.add('insert into panku(panku_no,staff_no,panku_date,material_no,panku_qty)');sql.add('select'''+edit4.text+''','''+combobox11.text+''','''+datetostr(datetimepicker4.datetime)+''',material_no,qty from cunhuo');close;execsql;showmessage('盘库成功!!');button8.enabled:=false;//一次登录不允许重复盘库,以免多占空间资源end;//显示本次盘库结果with datamodule2.panku1 dobeginsql.clear;sql.add('select * from panku,material where panku.material_no=material.material_no and panku_no = '''+edit4.text+'''');close;open;end;end;//盘库后盘库单号自动加1,便于下次盘库procedure TForm4.FormCreate(Sender: TObject);var max:integer;beginwith DataModule2.ADOQuery1 dobeginsql.Clear;sql.Add('select max(panku_no) as max from panku ');close;open;max:=DataModule2.ADOQuery1.fieldbyname('max').AsInteger;edit4.Text:=inttostr(max+1);end;End;主要模块的程序流程图。