您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数据库作业工厂物料管理系统
数据库课程设计------某工厂物料管理系统摘要本文运用了数据流图、数据字典等方法对工厂物料管理系统进行了需求分析,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在此过程中,我们还详细分析了各个子系统的属性、实体间的联系以及子系统间的关系。在此基础上,我们没建立了一个相对完善的工厂物料管理系统数据库,并通过金仓数据库软件,运用SQL语言将所建工厂物料管理系统数据库顺利实现。关键字:数据字典,E-R图,SQL语言目录一、系统概述............................................1二、需求分析............................................1§信息分析.......................................1§数据流图.......................................2§数据字典.......................................2三、概念结构设计........................................4§实体列表.......................................4§E-R图.......................................4四、逻辑结构设计........................................5五、物理结构设计........................................6§关系模式存取方式选择...........................6§确定数据库的存储结构...........................6§评价物理结构...................................6六、数据库的实施........................................6七、设计总结............................................8工厂物料管理系统一、系统概述实现物料的分类管理,实现部门和员工信息管理;实现物料的入库和领用管理;实现物料的转仓管理;创建触发器,实现物料入库和领用时相应物料库存的自动更新;创建触发器,实现转仓时转入仓库物料增加、转出仓库物料减少;创建存储过程统计数量和领用数量;建立数据库相关表之间的参照完整性约束二、需求分析§信息分析我们根据对工厂物料管理方面的知识和在网络上取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息。§系统流程图数据库字典员工表(ygb)属性名字段名称类型是否为空备注员工编号(主键)ygbhChar(10)Notnull物料编号员工姓名ygxmChar(20)Notnull物料名称员工电话ygdhChar(17)Notnull规格职称zcChar(20)Notnull描述部门表(bmb)属性名字段名称类型是否为空备注部门号(主键)bmhChar(10)Notnull部门名员工编号(主键)ygxmChar(10)Notnull部门名bmmChar(40)Notnull部门号仓库表(ckb)属性名字段名称类型是否为空备注仓库编号(主键)ckbhChar(10)Notnull仓库编号物料编号(主键)wlbhChar(10)Notnull物料数量wlxlint物料表(wlb)属性名字段名称类型是否为空备注物料编号(主键)wlbhChar(10)Notnull物料编号物料名称wlmcChar(20)Notnull物料名称规格ggChar(20)Notnull规格描述mstext描述仓库管理员表(ckglyb)属性名字段名称类型是否为空备注部门管理员工领取物料仓库物料物料出入库和分类员工仓库管理员管理员编号(主键)glybhChar(10)Notnull物料编号姓名xmChar(20)Notnull物料名称电话dhChar(20)Notnull规格员工和部门表(yghbmb)属性名字段名称类型是否为空备注员工编号(主键)ygbhChar(10)Notnull员工编号部门号(主键)bmhChar(20)Notnull部门号员工和物料表(yghwlb)属性名字段名称类型是否为空备注员工编号(主键)ygbhChar(10)Notnull员工编号物料编号(主键)wlbhChar(20)Notnull领取数量lqslint出入库表(crkb)属性名字段名称类型是否为空备注物料编号(主键)wlbhChar(10)Notnull物料编号管理员编号(主键)glybhChar(20)Notnull管理员编号仓库编号(主键)ckbhChar(20)Notnull仓库编号出入标志crbzChar(2)Notnull时间数量slintNotnull数量转仓表(zhuanc)属性名字段名称类型是否为空备注动作编号(主键)dzbhChar(10)Notnull物料编号wlbhChar(10)Notnull物料编号管理员编号glybhChar(20)Notnull管理员编号仓库编号1ckbhChar(20)Notnull仓库编号仓库编号2sjdateNotnull时间数量slintNotnull数量§概念结构设计(E-R)模型实体;部门;部门号,部门名,员工编号员工;员工编号,姓名,电话,职称仓库管理员;管理员编号,姓名,电话仓库;仓库号物料;物料编号,物料名称,规格,单价实体联系:员工和部门;一个员工属于一个部门,一个部门可以有多个员工,属于多对一的关系.员工和物料;物料由员工领用,一个员工可以领到多种物料,不同的物料也可以有不同的员工来领,它们属于多对多的关系仓库和仓库管理员;一个仓库可以有多个管理员,一个管理员只在一个仓库工作,属于一对多的关系仓库管理员和物料;一个管理员在一个仓库工作,一个仓库可以有多个管理员,属于一对多的关系.§全体E-R图§关系模式部门(部门号,部门名)员工(员工编号,姓名,电话,职称)属性名存储代码类型长度备注员工仓库部门物料属于出入库姓名电话员工编号职称仓库编号部门名部门号规格单价物料名称物料编号领用仓库管理员管理员编号姓名电话时间数量1nnm1nm物料数量员工编号仓库管理员(管理员编号,姓名,电话)仓库(仓库号)物料(物料编号,物料名称,规格,单价)四、逻辑结构设计五、物理结构设计/*建数据库*/createdatabasegcwlonprimary(name=gcwl,filename='D:\',size=3MB,maxsize=50MB,filegrowth=20%)logon(name=gcwl_log,filename='D:\',size=3MB,maxsize=200MB,filegrowth=10MB)go/*建表及约束、主外键*/usegcwlcreatetableyg(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,wlbhchar(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))go/*触发器--出入库管理*/createtriggertri_crkoncrkforinsertasdeclare@crbzchar(2),@wlbhchar(10),@ckbhchar(10),@slintselect@crbz=crbzfrominsertedselect@wlbh=wlbhfrominsertedselect@sl=slfrominsertedselect@ckbh=ckbhfrominsertedif@crbz='入'beginif@wlbhnotin(selectwlbhfromck)insertck(ckbh,wlbh)values(@ckbh,@wlbh)updatecksetwlsl=wlsl+@slwhereckbh=@ckbhandwlbh=@wlbhendelsebeginif(selectslfromckwherewlbh=@wlbhandckbh=@ckbh)@slprint'物料不足!'rollbackendupdatecksetwlsl=wlsl-@slwhereckbh=@ckbhandwlbh=@wlbhgo/*触发器--转仓*/createtriggerzhuanconzhuancforinsertasdeclare@ckbh1char(10),@ckbh2char(10),@slint,@wlbhchar(10),@glybhchar(10)select@ckbh1=ckbh1frominsertedselect@ckbh2=ckbh2frominsertedselect@wlbh=wlbhfrominsertedselect@glybh=glybhfrominsertedselect@sl=slfrominsertedif@sl(selectslfromckwherewlbh=@wlbhandckbh=@c
本文标题:数据库作业工厂物料管理系统
链接地址:https://www.777doc.com/doc-7311161 .html