为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

课程设计工厂的物料管理系统

2019-02-15 16页 doc 77KB 74阅读

用户头像

is_995397

暂无简介

举报
课程设计工厂的物料管理系统数据库课程设计 ------某工厂物料管理系统 2010届  信管(1) 班  指导老师; 于宝华 陈敏    成员 :        2010508161 2010508178 日期 :  2012 年7月4  日 摘  要 本文运用了数据流图、数据字典等方法对工厂物料管理系统进行了需求分析,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在此过程中,我们还详细分析了各个子系统的属性、实体间的联系以及子系统间的关系。...
课程设计工厂的物料管理系统
数据库课程设计 ------某工厂物料管理系统 2010届  信管(1) 班  指导老师; 于宝华 陈敏    成员 :        2010508161 2010508178 日期 :  2012 年7月4  日 摘  要 本文运用了数据流图、数据字典等方法对工厂物料管理系统进行了需求,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在此过程中,我们还详细分析了各个子系统的属性、实体间的联系以及子系统间的关系。在此基础上,我们没建立了一个相对完善的工厂物料管理系统数据库,并通过金仓数据库软件,运用SQL语言将所建工厂物料管理系统数据库顺利实现。 关键字:数据字典,E-R图,SQL语言 目  录 一、系统概述............................................1 二、需求分析............................................1 §2.1信息分析.......................................1 §2.2数据流图.......................................2 §2.3数据字典.......................................2 三、概念结构设计........................................4 §3.1实体列表.......................................4 §3.2 E-R图.......................................4 四、逻辑结构设计........................................5 五、物理结构设计........................................6 §5.1关系模式存取方式选择...........................6 §5.2确定数据库的存储结构...........................6 §5.3评价物理结构...................................6 六、数据库的实施........................................ 6 七、设计........ ....................................8 工厂物料管理系统 一、 系统概述 实现物料的分类管理,实现部门和员工信息管理; 实现物料的入库和领用管理; 实现物料的转仓管理; 创建触发器,实现物料入库和领用时相应物料库存的自动更新; 创建触发器,实现转仓时转入仓库物料增加、转出仓库物料减少; 创建存储过程统计数量和领用数量; 建立数据库相关表之间的参照完整性约束 二、 需求分析 §2.1信息分析 我们根据对工厂物料管理方面的知识和在网络上取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息。 §2.2系统流程图 数据库字典 员工表(ygb) 属性名 字段名称 类型 是否为空 备注 员工编号(主键) ygbh Char(10) Not null 物料编号 员工姓名 ygxm Char(20) Not null 物料名称 员工电话 ygdh Char(17) Not null 规格 职称 zc Char(20) Not null 描述           部门表(bmb) 属性名 字段名称 类型 是否为空 备注 部门号(主键) bmh Char(10) Not null 部门名 员工编号(主键) ygxm Char(10) Not null   部门名 bmm Char(40) Not null 部门号           仓库表(ckb) 属性名 字段名称 类型 是否为空 备注 仓库编号(主键) ckbh Char(10) Not null 仓库编号 物料编号(主键) wlbh Char(10) Not null   物料数量 wlxl int               物料表(wlb) 属性名 字段名称 类型 是否为空 备注 物料编号(主键) wlbh Char(10) Not null 物料编号 物料名称 wlmc Char(20) Not null 物料名称 规格 gg Char(20) Not null 规格 描述 ms text   描述           仓库管理员表(ckglyb) 属性名 字段名称 类型 是否为空 备注 管理员编号(主键) glybh Char(10) Not null 物料编号 姓名 xm Char(20) Not null 物料名称 电话 dh Char(20) Not null 规格           员工和部门表(yghbmb) 属性名 字段名称 类型 是否为空 备注 员工编号(主键) ygbh Char(10) Not null 员工编号 部门号(主键) bmh Char(20) Not null 部门号           员工和物料表(yghwlb) 属性名 字段名称 类型 是否为空 备注 员工编号(主键) ygbh Char(10) Not null 员工编号 物料编号(主键) wlbh Char(20) Not null   领取数量 lqsl int               出入库表(crkb) 属性名 字段名称 类型 是否为空 备注 物料编号(主键) wlbh Char(10) Not null 物料编号 管理员编号(主键) glybh Char(20) Not null 管理员编号 仓库编号(主键) ckbh Char(20) Not null 仓库编号 出入标志 crbz Char(2) Not null 时间 数量 sl int Not null 数量           转仓表 (zhuanc) 属性名 字段名称 类型 是否为空 备注 动作编号(主键) dzbh Char(10) Not null   物料编号 wlbh Char(10) Not null 物料编号 管理员编号 glybh Char(20) Not null 管理员编号 仓库编号1 ckbh Char(20) Not null 仓库编号 仓库编号2 sj date Not null 时间 数量 sl int Not null 数量           §3.1概念结构设计(E-R)模型 实体; 部门;部门号,部门名, 员工编号 员工; 员工编号,姓名,电话,职称 仓库管理员;管理员编号,姓名,电话 仓库;仓库号 物料;物料编号,物料名称,规格,单价 实体联系: 员工和部门;一个员工属于一个部门,一个部门可以有多个员工,属于多对一的关系. 员工和物料;物料由员工领用,一个员工可以领到多种物料,不同的物料也可以有不同的员工来领,它们属于多对多的关系 仓库和仓库管理员;一个仓库可以有多个管理员,一个管理员只在一个仓库工作,属于一对多的关系 仓库管理员和物料;一个管理员在一个仓库工作,一个仓库可以有多个管理员,属于一对多的关系. §3.2全体E-R图 属性名 存储代码 类型 长度 备注           §3.2关系模式 部门(部门号,部门名) 员工(员工编号,姓名,电话,职称) 仓库管理员(管理员编号,姓名,电话) 仓库(仓库号 ) 物料(物料编号,物料名称,规格,单价) 四、逻辑结构设计 五、物理结构设计 /*建数据库*/ create database gcwl on primary( name=gcwl, filename='D:\gcwl.mdf', size=3MB, maxsize=50MB, filegrowth=20% ) log on( name=gcwl_log, filename='D:\gcwl_log.ldf', size=3MB, maxsize=200MB, filegrowth=10MB ) go /*建表及约束、主外键*/ use gcwl create table yg(ygbh char(10) not null primary key, ygxm char(20) not null, ygdh char(17) null) create table bm(bmh char(10) not null primary key, ygbh (ygbh char(10) not null primary key, bmm char(40) null) create table wl(wlbh char(10) not null primary key, wlmc char(20) not null, gg char(20) null, ms text null) create table ck(ckbh char(10) not null, wlbh char(10) not null, primary key(ckbh,wlbh), wlsl int not null constraint default_sl default 0) create table ckgly(glybh char(10) not null primary key, xm char(10) null, dh char(20) null) create table yglwl(ygbh char(10) not null, wlbh char(20) not null, lqsl int not null, primary key(ygbh,wlbh,lqsl), foreign key(ygbh) references yg(ygbh), foreign key(wlbh) references wl(wlbh)) create table crk(glybh char(10) not null, ckbh char(10) not null, wlbh char(10) not null, crbz char(2) not null, sj char(16) not null constraint default_sj default convert(char(16),getdate(),120), sl int not null, primary key (wlbh,glybh,ckbh,sj), foreign key(wlbh) references wl(wlbh), foreign key(glybh) references ckgly(glybh), foreign key(ckbh) references ck(ckbh)) create table zhuanc(dzbh char(10) primary key, glybh char(10) not null, ckbh1 char(10) not null, ckbh2 char(10) not null, wlbh char(10) not null, sl char(10) not null, foreign key(glybh) references ckgly(glybh), foreign key(ckbh1) references ck(ckbh), foreign key(ckbh2) references ck(ckbh), foreign key(wlbh) references wl(wlbh)) go /*触发器--出入库管理*/ create trigger tri_crk on crk for insert as declare @crbz char(2),@wlbh char(10),@ckbh char(10),@sl int select @crbz=crbz from inserted select @wlbh=wlbh from inserted select @sl=sl from inserted select @ckbh=ckbh from inserted if @crbz='入' begin if @wlbh not in(select wlbh from ck) insert ck(ckbh,wlbh) values(@ckbh,@wlbh) update ck set wlsl=wlsl+@sl where ckbh=@ckbh and wlbh=@wlbh end else begin if (select sl from ck where wlbh=@wlbh and ckbh=@ckbh)<@sl print '物料不足!' rollback end update ck set wlsl=wlsl-@sl where ckbh=@ckbh and wlbh=@wlbh go /*触发器--转仓*/ create trigger zhuanc on zhuanc for insert as declare @ckbh1 char(10),@ckbh2 char(10),@sl int,@wlbh char(10),@glybh char(10) select @ckbh1=ckbh1 from inserted select @ckbh2=ckbh2 from inserted select @wlbh=wlbh from inserted select @glybh=glybh from inserted select @sl=sl from inserted if @sl>(select sl from ck where wlbh=@wlbh and ckbh=@ckbh1) begin print 'not enough!' rollback end insert crk(glybh,ckbh,wlbh,crbz,sl) values(@glybh,@ckbh2,@wlbh,'入',@sl) insert crk(glybh,ckbh,wlbh,crbz,sl) values(@glybh,@ckbh1,@wlbh,'出',@sl) go /*存储过程-查询各仓库各物料现存数量*/ create procedure tjsl as select ckbh,wlbh,wlsl from ck go /*指定时间内出入库数量*/ create procedure cxcr @kaishi char(10),@jieshu char(10) as select wlbh,crbz,sl from crk where sj between @kaishi and @jieshu group by wlbh,crbz,sl go 总结:通过这次课程设计,熟悉了ER模式的图的画法,数据库的操作,以及数据在数据库中的运用模式。通过SQL语言实现数据库的设计。学习了分析了各个子系统的属性、实体间的联系以及子系统间的关系。并且利用SQL语言建立数据库运行并且实现。
/
本文档为【课程设计工厂的物料管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索