数据库课程设计:建材物资管理系统数据库课程设计

**

一.课设简述

**
本次设计基于大二学习的数据库原理这门课程,选择了建材物资管理系统这个课设题目,在查阅了相关资料后,设计了集进货商家信息,进货报表到物资在仓库中的各属性具体说明,销售时的销售信息表和员工信息于一体的数据库系统,设置外键使各个表相连,更直观的展现之间的关系。同时,进行了查询,增加数据,建立视图等功能的实现。

二.需求分析:
建材物资管理系统主要用于建材仓库对施工材料信息的管理,将计算机引入到物资仓库管理系统当中,利用计算机支持仓库高效完成劳动人事管理的日常事务,是适应现代企业制度的要求,推动企业管理走向科学化,规范化的必要条件。物资管理是一项琐碎,复杂而又十分细致的工作,核算工作量很大,不允许出错,实行电子化管理模式,可以减轻比较繁琐的手工仓库管理,更加针对性,便捷性,可视化管理货物。

三.数据流图:
在数据库系统中,可以清晰地了解到任何一件物资从哪位进货商进货,储存在哪个仓库,以及对应的商品信息,到通过哪位员工销售的整个商业流程。


四.ER图
在数据库中建立5张表,对应整个系统的五个环节,每张表中的具体名称如下:

五.数据库设计与实现:
1.基本表的定义与实现:
采用采用management studio进行建表,把相应的数据信息录入到表中。
①供应商家信息表的建立与实现,数据名称与类型配置截图如下:
②物资进货表的建立与实现:

③物资仓库表的建立与实现:

④员工信息表的建立与实现:

⑤销售信息表的建立与实现:

2.在建表结束后,我们进行部分简单功能的实现(详细功能请私信)
①视图:
建立1仓库所存放物资的库存数量不少于20的视图s2:
代码如下:

create view s2
as
   select *
   from 物资仓库表 
   where 库存数量>=20;

运行结果见如下:

②查询:
查询库存量超过该仓库物资平均库存量的物资编号、名称、规格及数量:
代码如下:

 select 物资编号,物资名称,规格,库存数量
from 物资仓库表 s1
where 库存数量 > (select avg(库存数量) from 物资仓库表 s2
           where s1.仓库名称 = s2.仓库名称 ); 

运行结果如下:

③存储过程:
存储过程的定义与实现:
创建一个带默认输入参数的存储过程exp2(物资编号默认值为’%002%’),通过传递的参数查询对应的物资编号的规格及进货单号:

代码如下:

create procedure exp2
   @物资编号 char(8) = '%002%'
as
   select 物资仓库表.物资编号,规格,进货单号
   from 物资仓库表,物资进货表
   where 物资仓库表.物资编号 = 物资进货表.物资编号
  
  and 物资仓库表.物资编号 like @物资编号
   go

运行结果如下:

④ 触发器:
触发器的定义与实现:
创建一个INSERT触发器tr1,在对物资进货表插入一条记录后,更改对应物资在物资仓库表中的库存数量,完成级联更改操作:
代码如下:


create trigger tr1
on 物资进货表
after insert
as
     declare @物资编号 char(8),@进货数量 int
	 select @物资编号 = 物资编号,@进货数量 = 进货数量 from inserted
	update 物资仓库表
	set 库存数量 = 库存数量 + @进货数量
	where 物资编号 = @物资编号
	go

运行结果如下:
⑤数据更新(插入):
将新的仓库物资(物资编号:005;物资名称:五金器件;规格:F-100;仓库名称:2仓;库存数量:50;单价:16;供应商家编号:111)插入物资仓库表中:
代码如下:

insert
into 物资仓库表(物资编号,物资名称,规格,仓库名称,库存数量,单价,供应商编号)
values('005','五金器件','F-100','2仓','50','16','111');

运行结果如下:

⑥索引与用户定义及权限设置

---------------------------分割线---------------------------
本次课程设计部分重点设计就是这样啦~
如果对你有帮助的话请点一赞!嘿嘿~
欢迎大家评论交流!
如若需要完整的数据库文件欢迎大家私信或者加q:280542622,创作不易,需要一点赏钱(嘻嘻),另赠送详细报告一份(个人觉得我这报告写得相当好)!
祝大家学业有成!

更多推荐

数据库课程设计:建材物资管理系统数据库课程设计