课程设计工厂的物料管理系统Word下载.docx
- 文档编号:21981317
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:111KB
课程设计工厂的物料管理系统Word下载.docx
《课程设计工厂的物料管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《课程设计工厂的物料管理系统Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
四、逻辑结构设计........................................5
五、物理结构设计........................................6
5.1关系模式存取方式选择...........................6
5.2确定数据库的存储结构...........................6
5.3评价物理结构...................................6
六、数据库的实施........................................6
七、设计总结............................................8
工厂物料管理系统
一、系统概述
实现物料的分类管理,实现部门和员工信息管理;
实现物料的入库和领用管理;
实现物料的转仓管理;
创建触发器,实现物料入库和领用时相应物料库存的自动更新;
创建触发器,实现转仓时转入仓库物料增加、转出仓库物料减少;
创建存储过程统计数量和领用数量;
建立数据库相关表之间的参照完整性约束
二、需求分析
2.1信息分析
我们根据对工厂物料管理方面的知识和在网络上取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。
这些信息是是选择了对数据库设计直接有用的信息。
2.2系统流程图
数据库字典
员工表(ygb)
属性名
字段名称
类型
是否为空
备注
员工编号(主键)
ygbh
Char(10)
Notnull
物料编号
员工姓名
ygxm
Char(20)
物料名称
员工电话
ygdh
Char(17)
规格
职称
zc
描述
部门表(bmb)
部门号(主键)
bmh
部门名
bmm
Char(40)
部门号
仓库表(ckb)
仓库编号(主键)
ckbh
仓库编号
物料编号(主键)
wlbh
物料数量
wlxl
int
物料表(wlb)
wlmc
gg
ms
text
仓库管理员表(ckglyb)
管理员编号(主键)
glybh
姓名
xm
电话
dh
员工和部门表(yghbmb)
员工编号
员工和物料表(yghwlb)
ygbh
wlbh
领取数量
lqsl
出入库表(crkb)
管理员编号
ckbh
出入标志
crbz
Char
(2)
时间
数量
sl
转仓表(zhuanc)
动作编号(主键)
dzbh
仓库编号1
仓库编号2
sj
date
3.1概念结构设计(E-R)模型
实体;
部门;
部门号,部门名,员工编号
员工;
员工编号,姓名,电话,职称
仓库管理员;
管理员编号,姓名,电话
仓库;
仓库号
物料;
物料编号,物料名称,规格,单价
实体联系:
员工和部门;
一个员工属于一个部门,一个部门可以有多个员工,属于多对一的关系.
员工和物料;
物料由员工领用,一个员工可以领到多种物料,不同的物料也可以有不同的员工来领,它们属于多对多的关系
仓库和仓库管理员;
一个仓库可以有多个管理员,一个管理员只在一个仓库工作,属于一对多的关系
仓库管理员和物料;
一个管理员在一个仓库工作,一个仓库可以有多个管理员,属于一对多的关系.
3.2全体E-R图
存储代码
长度
3.2关系模式
部门(部门号,部门名)
员工(员工编号,姓名,电话,职称)
仓库管理员(管理员编号,姓名,电话)
仓库(仓库号)
物料(物料编号,物料名称,规格,单价)
四、逻辑结构设计
五、物理结构设计
/*建数据库*/
createdatabasegcwl
onprimary(
name=gcwl,
filename='
D:
\gcwl.mdf'
size=3MB,
maxsize=50MB,
filegrowth=20%
)
logon(
name=gcwl_log,
\gcwl_log.ldf'
maxsize=200MB,
filegrowth=10MB
go
/*建表及约束、主外键*/
usegcwl
createtableyg(ygbhchar(10)notnullprimarykey,
ygxmchar(20)notnull,
ygdhchar(17)null)
createtablebm(bmhchar(10)notnullprimarykey,
ygbh(ygbhchar(10)notnullprimarykey,
bmmchar(40)null)
createtablewl(wlbhchar(10)notnullprimarykey,
wlmcchar(20)notnull,
ggchar(20)null,
mstextnull)
createtableck(ckbhchar(10)notnull,
wlbhchar(10)notnull,
primarykey(ckbh,wlbh),
wlslintnotnullconstraintdefault_sldefault0)
createtableckgly(glybhchar(10)notnullprimarykey,
xmchar(10)null,
dhchar(20)null)
createtableyglwl(ygbhchar(10)notnull,
wlbhchar(20)notnull,
lqslintnotnull,
primarykey(ygbh,wlbh,lqsl),
foreignkey(ygbh)referencesyg(ygbh),
foreignkey(wlbh)referenceswl(wlbh))
createtablecrk(glybhchar(10)notnull,
ckbhchar(10)notnull,
crbzchar
(2)notnull,
sjchar(16)notnullconstraintdefault_sjdefaultconvert(char(16),getdate(),120),
slintnotnull,
primarykey(wlbh,glybh,ckbh,sj),
foreignkey(wlbh)referenceswl(wlbh),
foreignkey(glybh)referencesckgly(glybh),
foreignkey(ckbh)referencesck(ckbh))
createtablezhuanc(dzbhchar(10)primarykey,
glybhchar(10)notnull,
ckbh1char(10)notnull,
ckbh2char(10)notnull,
wlbhchar(10)notnull,
slchar(10)notnull,
foreignkey(glybh)referencesckgly(glybh),
foreignkey(ckbh1)referencesck(ckbh),
foreignkey(ckbh2)referencesck(ckbh),
foreignkey(wlbh)referenceswl(wlbh))
/*触发器--出入库管理*/
createtriggertri_crk
oncrkforinsert
as
declare@crbzchar
(2),@wlbhchar(10),@ckbhchar(10),@slint
select@crbz=crbzfrominserted
select@wlbh=wlbhfrominserted
select@sl=slfrominserted
select@ckbh=ckbhfrominserted
if@crbz='
入'
begin
if@wlbhnotin(selectwlbhfromck)
insertck(ckbh,wlbh)values(@ckbh,@wlbh)
updatecksetwlsl=wlsl+@slwhereckbh=@ckbhandwlbh=@wlbh
end
else
if(selectslfromckwherewlbh=@wlbhandckbh=@ckbh)<
@sl
print'
物料不足!
'
rollback
updatecksetwlsl=wlsl-@slwhereckbh=@ckbhandwlbh=@wlbh
/*触发器--转仓*/
createtriggerzhuanc
onzhuancforinsert
declare@ckbh1char(10),@ckbh2char(10),@slint,@wlbhchar(10),@glybhchar(10)
select@ckbh1=ckbh1frominserted
select@ckbh2=ckbh2frominserted
select@glybh=glybhfrominserted
if@sl>
(selectslfromckwherewlbh=@wlbhandckbh=@ckbh1)
print'
notenough!
rollback
insertcrk(glybh,ckbh,wlbh,crbz,sl)values(@glybh,@ckbh2,@wlbh,'
@sl)
insertcrk(glybh,ckbh,wlbh,crbz,sl)values(@glybh,@ckbh1,@wlbh,'
出'
/*存储过程-查询各仓库各物料现存数量*/
createproceduretjsl
selectckbh,wlbh,wlslfromck
/*指定时间内出入库数量*/
createprocedurecxcr
@kaishichar(10),@jieshuchar(10)
selectwlbh,crbz,slfromcrk
wheresjbetween@kaishiand@jieshu
groupbywlbh,crbz,sl
总结:
通过这次课程设计,熟悉了ER模式的图的画法,数据库的操作,以及数据在数据库中的运用模式。
通过SQL语言实现数据库的设计。
学习了分析了各个子系统的属性、实体间的联系以及子系统间的关系。
并且利用SQL语言建立数据库运行并且实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 工厂 物料 管理 系统