数据库课程设计---仓库管理系统

合集下载

数据库课程设计 仓库管理系统数据库的设计与实现

数据库课程设计  仓库管理系统数据库的设计与实现

仓库管理系统数据库设计与实现一.实验时间、地点时间:第十三周(11月21日——25日)地点:软件楼305二.实验目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

三、课程设计要求:1.对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)四.仓库管理系统实验要求描述:设计一个仓库管理系统,实现下列功能:1.零件信息登记(包括种类,名称和库存数量等信息);2.零件进库登记(包括种类,名称和库存数量等信息);3.零件出库登记(包括种类,名称和库存数量等信息);五.实现思路1.关系模式零件信息表(零件编号,零件名,单价,数量,零件类型号,生产厂家号)生产商情况表(生产厂家号,生产厂家名,生产厂家地址,生产厂家电话)入库登记表(零件编号,零件名,入库数量,零件类型,生产厂家号,入库时间)出库登记表(零件编号,零件名,出库数量,出库时间)零件类型信息表(零件类型号,类型)2.设计思路仓库管理系统设计了五个二维表,他们的设计表如下(1)零件信息设计表(2)生产商情况设计表(3)入库登记设计表(4)出库登记设计表(5)零件类型信息设计表3.仓库管理系统全局E—R图零件信息重量单价数量零件编号 零件类型号颜色 出库入库入库登记零件编号零件名入库数量 入库时间出库时间颜色生产商号零件类型生产 商号零件名 零件编号零件名出库 数量出库 性质提货人员出 库 登 记六.实现过程create database 仓库管理系统 on (name=仓库_dat,Filename='e:\microsoft SQL Server\MSSQL\Date\仓库.mdf', Size=10, Maxsize=150 )Log on (name=仓库_log,Filename='e:\microsoft SQL Server\MSSQL\Date\仓库.ldf', Size=10, Maxsize=80 )create table 零件信息表(零件编号 char(10) primary key, 零件名 char(10) not null,单价 money constraint 单价_Chk check(单价 between 80 and 660), 数量 int,零件类型号 char(10),生产商情况 生产商生产商名 生产商号零件类型生产厂家电用途 类型零件类型零件信息卖 出 类型生产厂家号 char(6));select * from 零件信息设计表/***创建并查询零件信息表索引***/create unique index 零件信息_index on 零件信息表(零件编号) exec Sp_helpindex 零件信息表create table 生产厂家信息表(生产厂家号 char(6) primary key ,生产厂家名 varchar(16) not null,生产厂家地址 varchar(40),生产厂家电话 char(12));select * from 生产厂家信息表/***创建并查询生产厂家信息索引***/create index 生产厂家信息_index on 生产厂家信息表(生产厂家号)exec Sp_helpindex 零件信息表create table 零件类型信息表(零件类型号 char(10) primary key,类型 char(10);select * from 零件信息设计类型表/***创建并查询零件类型信息索引***/create index 零件类型信息表_index on 零件类型信息表(零件类型号) exec Sp_helpindex 零件类型信息表create table 入库登记表(零件编号 char(10),零件名 char(10) not null,入库数量 int,零件类型 char(8),生产厂家号 char(6),入库时间 datetime);select * from 入库登记设计表/***创建并查询入库登记表索引***/create index 入库登记表_index on 入库登记表(零件编号)exec Sp_helpindex 入库登记表create table 出库登记表(零件编号 char(10),零件名 char(10),出库数量 int,出库时间 datetime);select * from 出库登记设计表/***创建出库登记表索引***/create index 入库登记表_index1 on 出库登记表(零件编号)create index 入库登记表_index2 on 出库登记表(出库数量)create index 入库登记表_index3 on 出库登记表(出库时间)/***查询零件名为“硬盘”的信息***/select 零件编号,零件名,单价,数量,生产厂家信息表.生产厂家名,生产厂家地址,生产厂家电话,零件信息类型设计表.类型from 零件信息表,生产厂家信息表,零件信息类型设计表where(零件信息设计表.零件类型号=零件信息类型设计表.零件类型号and 生产厂家信息设计表.生产厂家号=零件信息设计表.生产厂家号and 零件名='硬盘')查询结果为:/***创建零件信息表视图***/create view v_lj as select * from 零件信息表/***创建生产厂家信息表视图***/create view v_sc as select * from 生产厂家信息表create view select_零件信息表 asselect 零件信息设计表.零件编号,零件信息设计表.零件名,零件信息设计表.零件类型号 from 零件信息设计表inner join 零件信息类型设计表 on 零件信息设计表.零件类型号 = 零件类型信息设计表.零件类型号/***创建数量在200—900之间的规则,并绑定规则***/create rule 数量_ruleas @数量>=200 and @数量<=900exec sp_helptext'数量_rule'exec sp_bindrule'数量_rule','零件信息表.数量'exec sp_unbindrule'零件信息表.数量'drop rule 数量_rule/***创建向表中添加信息的存储过程***/create procedure insert_零件信息( @零件编号 char(10),@零件名 char(10),@单价 money,@数量 int,@零件类型号 char(10),@生产厂家号 char(6))asinsert into 零件信息表 values(@零件编号,@零件名,@单价,@数量,@零件类型号,@生产厂家号)exec insert_零件信息 @零件编号='001',@零件名='鼠标',@单价=80,@数量='1000',@零件类型号='L1',@生产厂家号='01'select * from 零件信息表/***删除存储过程***/drop procedure insert_零件信息/***创建触发器并向利用触发器向表内添加信息***/create trigger ChangDisplayon 零件信息表for insertasselect * from 零件信息表insert into 零件信息表 values('002','数据线',80,'800','L2','06')七.实验总结本系统是一个面向小型企业,具有一定实用性的数据库仓库管理系统。

仓库管理系统数据库设计课程设计

仓库管理系统数据库设计课程设计

仓库管理系统的应用和发展
仓库管理系统概述:介绍仓库管理系统的发展历程、应用领域和重要性。 仓库管理系统应用现状:分析当前仓库管理系统的应用现状,包括企业规模、行业分布、地域分布等。 仓库管理系统发展趋势:探讨仓库管理系统的发展趋势,包括技术、功能、应用等方面的变化。 课程设计背景:介绍本次课程设计的背景,包括课程目标、设计要求、设计内容等。
安全性原则: 保护数据不 被未经授权 的访问和篡 改
性能优化原 则:提高数 据查询和处 理的速度和 效率
数据库设计规范
数据库设计原则:满足用户需求,保证数据一致性、完整性、安全性
数据库设计规范:采用统一的数据命名规范、数据类型规范、数据存储规范等
数据库设计流程:需求分析、概念设计、逻辑设计、物理设计、实施与维护
出库记录与查询:系统记录每笔出库操作,并可查询历史出库记录,方便管理和追溯
库存管理
库存查询:实时查 询仓库库存数量和 状态
库存预警:设定安 全库存阈值,低于 预警线及时提醒
库存盘点:定期对 仓库库存进行盘点 ,确保数据准确性
库存调拨:在不同 仓库之间进行库存 调拨,满足客户需 求
报表生成与查询
报表内容:详细记录仓库的 进货、销售、库存等信息
添加标题
数据库设计可以保证数据安全性:通过数据库设计,可以设置合适的数据 访问权限和数据加密方式,保证数据的安全性。
仓库管理系统功能需求 分析
货物入库流程:描述货物入库的具 体流程,包括货物的接收、检验、 入库等环节。
货物入库管理
入库数据核对:说明如何核对入库 数据,确保数据的准确性和完整性。
添加标题
触发器条件:WHEN INSERTING, UPDATING, DELETING

仓库管理系统数据库设计

仓库管理系统数据库设计

仓库管理系统数据库设计班级:学号、姓名:学号、姓名:学号、姓名:1.需求分析(1)需求描述:仓库管理主要用来管理客户、供应商、仓库及货物,其中的商品进货、销售和库存管理复杂繁琐,需要耗费大量的时间和人力对这些数据进行统计和分析,这是一项相当大的工程。

尤其在当商品种类繁多的情况下,传统的人工管理方式存在基本资料保存与维护困难,管理者需要加强成本管理和收入管理,通过提高服务水平来提升企业形象。

他们对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,从而进行仓库管理系统的开发,以适应今天高速运转的全球经济化的竞争。

高效方便的仓库管理系统主要提供一个仓储业务及其作业管理的信息存储和检索系统。

通过仓库管理、供应商管理、入库管理、出库管理、客户管理及货物管理等功能模块来实现仓库的综合管理.它极大的满足了商品销售行业的电子化管理,其主要功能是实现物品发放、物品出库、货物管理,具体为:插入功能、查询功能。

这更能便于公司管理层了解实时的信息。

同时它以数据库内存最小化,运行速度最大化为目标,使得管理者可以更高效得进行管理.基于上述阐述,现对此仓库管理系统初步功能归纳如下:①系统性质:②系统使用着:操作员、各部门经理(如:货物部门经理、客户部门经理等)③系统运行环境④系统主要功能表1 仓库管理主要功能表(2)分析设计顶层数据流图由于在搜寻指定货物时会因货物量大而加重任务量,在对一些货物及人员就行更新时也会因为复杂而手忙脚乱。

这样在交易活动中不断地产生新数据,使得信息量逐渐加大。

但使用本系统可以很方便的对所需信息进行查询,也可适时的利用插入功能对相关数据进行更新,这样及时、便捷、高效的得到查询统计结果。

因此,设计顶层数据流图如图1所示:图1 仓库管理0层数据流图(3)逐步细化数据流图根据表1列出的的仓库管理的主要功能,将仓库管理加工细化分解为仓库管理、供应商管理、入库管理、出库管理、客户管理和货物管理等子加工。

课程设计库存管理系统

课程设计库存管理系统

课程设计库存管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握库存管理系统的基本概念、原理和操作方法;技能目标要求学生能够运用所学知识进行库存管理实践,提高工作效率;情感态度价值观目标要求学生培养对库存管理工作的热爱和责任感,形成良好的职业道德。

通过分析课程性质、学生特点和教学要求,我们将目标分解为具体的学习成果。

首先,学生需要理解库存管理的基本概念,如库存、库存控制、库存优化等。

其次,学生需要掌握库存管理的基本原理,如库存周期、库存周转率、库存预测等。

再次,学生需要学会使用库存管理软件,如ERP系统、WMS等。

最后,学生需要能够运用所学知识解决实际问题,提高工作效率。

二、教学内容根据课程目标,我们选择和了以下教学内容。

首先,介绍库存管理的基本概念和原理,包括库存的定义、库存控制的目的和原则等。

其次,讲解库存管理的基本方法和技术,如库存预测、库存周期和库存周转率等。

接着,介绍库存管理软件的使用,如ERP系统、WMS等。

最后,通过案例分析和实践操作,让学生学会运用所学知识解决实际问题。

三、教学方法为了激发学生的学习兴趣和主动性,我们采用了多样化的教学方法。

首先,通过讲授法,向学生传授库存管理的基本概念和原理。

其次,通过案例分析法,让学生学会运用所学知识解决实际问题。

再次,通过实验法,让学生亲自动手操作库存管理软件,提高实际操作能力。

最后,通过讨论法,鼓励学生积极参与课堂讨论,培养团队合作精神。

四、教学资源为了支持教学内容和教学方法的实施,我们选择了适当的教学资源。

教材方面,我们选择了《库存管理》一书,该书详细介绍了库存管理的基本概念、原理和方法。

参考书方面,我们推荐了《库存控制与管理》等书籍,以丰富学生的知识体系。

多媒体资料方面,我们准备了一些库存管理的视频教程,以帮助学生更好地理解所学内容。

实验设备方面,我们准备了ERP系统和WMS等库存管理软件,让学生能够进行实际操作。

C语言课程设计仓库管理系统

C语言课程设计仓库管理系统

C语言课程设计仓库管理系统一、教学目标本课程旨在通过学习仓库管理系统,让学生掌握C语言编程的基本概念和方法,培养学生具备一定的软件开发能力。

具体的教学目标如下:1.知识目标:(1)理解C语言的基本语法和数据结构;(2)掌握C语言的函数、指针、 arrays等核心概念;(3)熟悉常用的库函数和预处理指令;(4)了解软件开发的基本流程。

2.技能目标:(1)能够使用C语言编写简单的程序;(2)具备基本的代码调试和优化能力;(3)能够独立完成简单的软件项目。

3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情;(2)培养学生良好的编程习惯和团队协作精神;(3)使学生认识到编程对于解决实际问题的价值。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、指针、数组等核心概念,以及软件开发的基本流程。

具体的教学大纲如下:1.C语言的基本语法和数据结构;2.函数、指针和数组的概念及应用;3.常用的库函数和预处理指令;4.软件开发的基本流程;5.综合实例:仓库管理系统的设计与实现。

三、教学方法为了提高教学效果,我们将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:用于讲解C语言的基本语法、数据结构、函数、指针、数组等核心概念;2.案例分析法:通过分析实际案例,使学生更好地理解仓库管理系统的设计与实现;3.实验法:让学生动手编写代码,巩固所学知识,提高编程能力;4.小组讨论法:分组进行讨论,培养学生的团队协作能力和问题解决能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材;2.参考书:提供丰富的C语言编程参考书籍;3.多媒体资料:制作精美的课件,辅助讲解;4.实验设备:提供足够的计算机设备,让学生进行编程实践。

通过本课程的学习,希望学生能够掌握C语言编程的基本概念和方法,为今后的计算机科学学习和软件开发打下坚实基础。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式相结合的方法。

管理信息系统课程设计-数据库管理系统

管理信息系统课程设计-数据库管理系统

辽宁工业大学管理信息系统设计课程设计报告(论文)题目:数据库系统基础课程设计仓库管理系统院(系):软件学院专业班级:软件工程113班学号: 111301060学生姓名:安凯辰指导教师:王彦华教师职称:讲师起止时间: 2012.5.28--2012.6.8课程设计(论文)任务及评语目录第一章系统分析 (1)1. 1 系统需求 (1)1. 2 系统设计原则 (1)1. 3 系统可行性分析 (1)1.4 数据字典 (1)1. 5 系统流程图 (2)1.6 业务流程图 (3)1.7 实体与实体间E-R模型(CDM图) (3)1.8 PDM图 (4)第二章系统设计 (5)2. 1 概念设计 (5)2. 2 逻辑设计 (5)第三章系统实施 (7)3.1 数据库表格设计代码 (7)3.2 存储过程及触发器设计代码 (11)3.3 与数据库连接代码 (15)3.4 出库单明细代码 (15)3.5 借条信息查询代码 (16)第四章系统总结 (18)参考文献 (19)第一章系统分析1. 1 系统需求软件环境:用户端:windows vispaSP1,windowsXP服务器端:windows2000及以上操作系统编程语言:sql数据库:sql2005硬件环境:有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络1. 2 系统设计原则1) 系统运行安全可靠,稳定性好;2) 系统的可管理性和可维护性好;3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询;5)数据具有规范性,整体性,方便数据之间的比较分析。

1. 3 系统可行性分析技术可行性:系统要求在windows2000以上环境运行,后台数据库采用SQL,使用SQL编程,采用ADO方式连接数据库,程序将部分需要经常调用的数据存入内存,可提高程序运行速度.经济可行性:在经济上,用此系统加强了信息管理效率,为管理人员提供了较高的效率,可节省人力资源的开支。

软件工程课程设计仓库管理系统

软件工程课程设计仓库管理系统

软件工程课程设计仓库管理系统一、引言为了更有效地管理和调度仓库中的货物,提高工作效率和减少出错率,我们为仓库设计了一套管理系统。

本文将详细介绍和说明我们的软件工程课程设计——仓库管理系统的设计和实现。

二、需求分析本仓库管理系统旨在实现以下功能:1.货物管理:包括货物入库、出库、调拨、盘点等功能,同时可根据货物种类、所在位置等进行分类查找。

2.人员管理:包括员工档案管理、权限设置、岗位分配等功能。

3.数据统计:当仓库管理系统大规模的运转时,系统将产生大量的数据,如货物的进出库等。

通过系统的统计功能,可以清晰地查看货物的进销存情况,为仓库管理者提供参考依据。

4.报表管理:系统需要支持报表的管理,如货物出库单、汇总表、调拨单等。

方便用户高效地查看和分享相关数据。

三、系统设计系统整体采用B/S模式,前端使用Bootstrap+JQuery框架,后端使用JavaEE+MySQL。

在设计系统时,将系统的模块按照不同的职能划分如下:1.货物管理模块该模块实现货物的入库、出库、调拨等功能。

货物的管理主要通过管理货物代码、名称、类型、数量、位置等信息来实现。

货物的类型和状态是可以自由定义和修改的,方便用户自行根据不同需求来处理相关数据。

在该模块中使用了jQuery的datatable插件实现了货物展示的自适应、排序、筛选、分页等功能。

2.人员管理模块该模块实现员工的档案管理、权限管理、岗位分配等功能。

员工档案包括相关信息:姓名、性别、出生日期、籍贯、现住址、联系方式、加入时间、身份证号等。

权限管理包括对员工访问后台管理的权限进行设置和修改。

岗位分配将各员工的岗位分配信息做出记录,便于以后的管理。

3.数据统计模块该模块主要实现对货物的统计与分析,包括货物数量的统计、不同类型货物数量的对比、货物运动情况(入库、出库、调拨、盘点)的统计等。

数据统计还可以辅助仓库管理员,对仓库货物进行全面、及时的掌控。

同时该模块的数据统计能力助于仓库管理人员了解货物分布、总数量和货物流动情况等信息,便于制定合理的调度和管理策略。

企业仓库管理系统数据库设计

企业仓库管理系统数据库设计

企业仓库管理系统数据库设计1.数据库目标-存储和管理企业仓库的所有物品信息,如名称、价格、数量等。

-记录仓库中物品的流动情况,包括入库、出库、移库等操作。

-跟踪物品的库存情况,包括当前库存数量、最大/最小库存量等。

-提供查询和报告功能,以便用户可以根据需求获取仓库的相关信息。

2.数据库结构-物品:存储物品的基本信息,如名称、价格、数量等。

-仓库:存储仓库的基本信息,如名称、地址等。

-入库单:记录物品的入库操作,包括物品、数量、时间等。

-出库单:记录物品的出库操作,包括物品、数量、时间等。

-移库单:记录物品的移库操作,包括原仓库、目标仓库、物品、数量、时间等。

3.数据库表设计根据上述数据库结构,我们可以设计以下几个表来存储相关信息:- 物品表(item):包含字段id、名称、价格、数量等。

- 仓库表(warehouse):包含字段id、名称、地址等。

- 入库单表(inbound_order):包含字段id、物品id、数量、时间等。

- 出库单表(outbound_order):包含字段id、物品id、数量、时间等。

- 移库单表(move_order):包含字段id、原仓库id、目标仓库id、物品id、数量、时间等。

4.数据库关系设计根据上述表的设计,我们可以建立以下关系:-物品表与仓库表之间是多对多关系,一个仓库可以存放多个物品,一个物品也可以存放在多个仓库中。

可以使用一个关联表来表示这种关系。

- 入库单表与物品表之间是多对一关系,一个入库单可以有多个物品,一个物品只能属于一个入库单。

可以使用物品id作为外键来表示这种关系。

- 出库单表与物品表之间是多对一关系,一个出库单可以有多个物品,一个物品只能属于一个出库单。

可以使用物品id作为外键来表示这种关系。

-移库单表与仓库表和物品表之间是多对多关系,一个移库单可以有多个物品和多个仓库,一个物品可以属于多个移库单,一个仓库也可以包含多个移库单。

可以使用一个关联表来表示这种关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计课程:数据库系统概论题目:仓库管理系统专业:计算机科学与技术班级:座号:姓名:2012年6月12日一、系统定义随着各个公司经营的范围慢慢扩大,业务流量比较大,需要处理的数据比较多,为了能对公司的业务进行有效的管理,减少手工操作的繁琐,同时可以根据公司业务的运营情况,分析出公司发展的潜在信息,顺应时代的发展变化,使管理更加简单化。

二、需求分析1、最终仓库管理系统功能如下:(1)资料管理功能人员信息:用于登记公司的员工信息资料、客户信息资料、和供应商信息资料,对员工信息资料支持员工信息的录入、修改和删除。

最高权限的管理员能录入和删除工作人员,普通权限的工作人员只能修改自己的密码产品信息:支持产品信息的录入、修改和删除,可以对各个产品进行查询。

(2)业务管理功能进出仓库明细:用于查看进货明细、进货退货、销售明细、销售退货、实现录入、修改和删除。

退货时,需要指定相应的退货单,可以查询进出仓库明细。

盘库:通过人工清点当前库存物品,与理论上仓库内物品数量对比,分析盘盈、盘亏问题(3)统计分析功能物品分析:用于对物品进行分析,主要是销售分析,包括对利润、进货、退货、库存等进行分析,可以通过报表显示。

人员分析:由于需求加大,需要各种职务的工作人员,分析职务需求,可供人才参考利润分析:对产品销售的利润进行分析,可以看出货物的供求关系(4)系统帮助功能:制作人员介绍使用帮助2、给出系统的逻辑模型:数据流程图、数据字典数据流图例子(可根据需要用多层数据流图表示):采购货物数据流图:数据字典:数据项:仓库:{仓库编号,仓库名,仓库类型,管理员,员工编号};供应商:{供应商编号,姓名,联系方式,地址};供应商供应的货物存入仓库数据结构:供应商提供货物,存入相应的仓库数据流:需求的货物进入相应的仓库数据存储:产品描述,应付款处理过程:需求货物->送订单号->订单处理->付款->货物入库管理数据流图:数据字典:数据项:员工:{员工编号,姓名,登录密码,性别,生日,联系方式,职称,家庭住址};货物:{货物编号,名称,类型,数量,单位,进价,售价,订单号};管理员管理仓库和资料库数据结构:管理员进行相关的操作,显示相应的信息,或存储相应的物品、资料数据流:操作信息,操作数据,相关信息表数据存储:查询时将数据信息显示出来,入出库数据进行存储处理等等处理过程:管理员操作->获得操作信息->实行相应的处理三、系统设计1、概念结构设计画出系统E-R图。

2、逻辑结构设计将E-R图(或其他概念设计图)转换为具体的DBMS对应的关系模式。

员工:{员工编号,姓名,登录密码,性别,生日,联系方式,职称,家庭住址};货物:{货物编号,名称,类型,单位,进价,售价};仓库:{仓库编号,仓库名,仓库类型,员工编号};供应商:{供应商编号,姓名,联系方式,地址};客户:{客户编号,货物编号,姓名,联系方式,地址,订单号};库存: {仓库编号,货物编号,数量 }进仓:{入单号,进仓时间,入库数量,所付金额 }出仓:{出单号,出仓时间,出库数量,所付金额 } 盘库:{盘库号,盘库时间,盘库数量 }数据库设计:员工表仓库表货物表供应商表客户表进仓表出仓表库存表序号字段名称数据类型大小可否为空主键说明1 cangku_no 可变字符10 否是仓库号2 material_no 可变字符10 否是货物编号3 qty 长整形否否数量盘库表序号字段名称数据类型大小可否为空主键说明1 panku_no 可变字符10 否否盘库号2 staff_no 可变字符10 否否员工编号3 panku_date 日期否否盘库日期4 material_no 可变字符10 否否货物编号5 panku_qty 长整形否否盘库数量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 materialwhere 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, @staff_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.dateti me)+''',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;主要模块的程序流程图。

相关文档
最新文档