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

上传人:博****1 文档编号:504459307 上传时间:2022-11-03 格式:DOCX 页数:10 大小:35.53KB
返回 下载 相关 举报
仓库管理系统数据库的设计与实现SQLserver_第1页
第1页 / 共10页
仓库管理系统数据库的设计与实现SQLserver_第2页
第2页 / 共10页
仓库管理系统数据库的设计与实现SQLserver_第3页
第3页 / 共10页
仓库管理系统数据库的设计与实现SQLserver_第4页
第4页 / 共10页
仓库管理系统数据库的设计与实现SQLserver_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《仓库管理系统数据库的设计与实现SQLserver》由会员分享,可在线阅读,更多相关《仓库管理系统数据库的设计与实现SQLserver(10页珍藏版)》请在金锄头文库上搜索。

1、 实验题目:仓库管理系统数据库的设计与实现 描述:设计一个仓库管理系统,实现下列功能: 零件信息登记(包括种类,名称和库存数量等信息); 零件进库登记(包括种类,名称和库存数量等信息); 零件出库登记(包括种类,名称和库存数量等信息);实验代码和实验结果和实验总结: 在实验代码中分别应用了相关实验操作的结果,通过上一个结果截图与其随后的结果 截图和相关代码对比课已看出相关代码的作用(主要是各个触发器的作用)。-数据库的创建 create database 仓库管理系统数据库 on primary(name =仓库管理系统数据库_data,filename =E:仓库管理系统数据库Data.MD

2、F, size = 50, maxsize= 500,filegrowth = 5)log on(name =仓库管理系统数据库og, filename =E:仓库管理系统数据库_Log.LDF, size = 10, maxsize= 200, filegrowth = 5)-数据表的创建use 仓库管理系统数据库create table 零件信息登记 ( 零件代号 char(10) primary key,名称 char(10) not null, 种类 char(10) not null, 价格 numeric(10,2) not null, 库存数量 int default 0)cre

3、ate table 零件进库登记(零件代号 char(10) foreign key references 零件信息登记(零件代号) , 进货代号 int,进货人工作号 char(10),名称 char(10) not null,种类 char(10) not null ,价格 numeric(10,2) not null,进库数量 int not null default 0,存放位置 char(10) not null,进库时间 datetime , primary key (零件代号,进货代号)create table 零件出库登记(零件代号 char(10) foreign key r

4、eferences 零件信息登记(零件代号) , 出货代号 int, 出货人工作号 char(10) not null, 名称 char(10) not null, 种类 char(10) not null , 价格 numeric(10,2) not null, 出库数量 int not null default 0, 取货单号 char(10) not null, 出库时间 datetime ,primary key(零件代号,出货代号)-通过存储过程来实现表中数据的输入create procedure pro_ins1(no char(20), name char(20), class

5、char(20), snumeric(10,2),numint)asinsert into 零件信息登记 values(no, name, class, s, num)create procedure pro_ins2(no char(20),jno int,wno char(10), name char(20), class char(20), s numeric(10,2), num int, m char(20) )asdeclare time datetimesettime= getdate()insert into 零件进库登记 values(no, jno ,wno ,name,

6、class, s,num,m,time)create procedure pro_ins3(no char(20),jno int,wno char(10), name char(20), class char(20), s numeric(10,2), num int, m char(20)asdeclare time datetimeset time = getdate()insert into 零件出库登记values(no,jno ,wno , name, class, s, num, m, time)create procedure pro_selectasbeginselect *

7、from 零件信息登记select *from 零件进库登记select *from 零件出库登记end-通过第一个存储过程来实现零件的信息登录exec pro_ins1 20112001,螺栓,金属,5.2,50exec pro_ins1 20112002,龙头,金属,9.3,70exec pro_ins1 20112003,水杯,塑料,36.8,80exec pro_ins1 20112004,书包,布料,52,150 exec pro_ins1 20112005,电视,电子,4000,50-当零件进库时通过下面的触发器来实现数据的完整性create trigger tri_统一零件管理o

8、n 零件进库登记instead of insertasbeginif(exists (select 零件代号 from 零件信息登记 where 零件代号 = (select 零件代号 from inserted)beginprint 在库里已经此零件,并且放置成功update 零件信息登记set 库存数量 = 库存数量 + (select 进库数量 from inserted )where 零件代号 = (select 零件代号 from inserted)endif(not exists (select 零件代号 from 零件信息登记 where 零件代号 = (select 零件代号

9、from inserted)beginprint 库里不存在此零件,已经把此零件加入零件信息登记中insert into零件信息登记select零件代号,名称,种类,价格,进库数量from insertedinsert into零件进库登记select零件代号,进货代号,进货人工作号,名称,种类,价格,进库数量,存放位置,进库时间from insertedendEnd-对触发器“tri_统一零件管理”的相关验证信息 exec pro_select雲件代号种冀價格库存數重124J1120D11鯉栓金属5.205022A112DD2尤头金底7D32D1120D3塑料36 808D42fl1120D

10、d书包布料52.0D1&D524)1121)05电视电子40DD.0050零件代E 进货代昌进货人工作邑名称种类侑格逬库颤重存前位置进库时间雲件代号出货代号出货人工作号芻秤种粪价楷出库数量取货单吾出库时间exec pro_ins2 20112002 1120 c2011a,龙头,金属9.3 70,一排号 exec pro_ins2 20112009 1122 c2011b,电池,金属,8.3 150 一排号 exec pro_ins2 20112012 1132 c2011c,水桶,塑料7.9 130,二排号 exec pro_ins2 20112013 1134 a2012d,饮料,食品,5

11、4 200,二排号&消息在库里已经此零件并目放置成功U行受影响)(1齐芟脣响)库里不存在此零件已经把此雲件加入雲件信息登记甲(1行受戢响】2行受影响) 1行受影响_库里不存在此零件已经把此需件加入霧件信息登记中(1行曼影响)h行受脣响)u行受誌响)应里不存在此雾件,已经把此塞件加入舉件信息登记中卩行受影响)门彳亍受影响):i行受影响)exec pro_select匪结果|宙:肖息零件代号塔称种类怖格库存数圭20112001體栓金厲5.205D.2O112OD2金属9.3014i?:X2C112OD3SS.flCBDJX1120D4书包布斜52.0C15D52O112DD5电视电子000 DO&

12、D630112009金厲aao15D13(612012水桶塑料7. SO82C112D1354.CC2D&零件代号进货代号遊霾人工作昱名称和类宦格进库媚存拠立墨进库时间120112DDS1122c2D11b金厲aac15D一排05号2012-12-1120:10:34.6402:201120121132c2011c水桶塑料7.90130二排昭2012-12-11 20:10:3. W13301120131134a2012d饮料54.200二排诈2012-12-1120:10:34.640零件代号出货代号岀蛍人工作号名称种类浙格出翩童取貨卑号出库时间-drop trigger tri_ 统一零件

13、出库-当零件出库时通过下面的触发器来实现数据的完整性create trigger tri_统一零件出库on 零件出库登记instead of insertasif exists(select 零件代号 from 零件信息登记 where 零件代号 = (select 零件代号 from inserted)beginprint 次零件存在if exists(select 零件代号 from 零件信息登记 where 零件代号 = (select 零件代号 from inserted)and 库存数量=(select 出库数量 from inserted)beginbeginprint 零件库存够

14、出售update 零件信息登记set 库存数量 = 库存数量 -(select 出库数量 from inserted) where 零件代号 = (select 零件代号 from inserted)endinsert into 零件出库登记select 零件代号,出货代号,出货人工作号,名称,种类,价格,出库数量,取货单号,出库时间 from insertedendelsebeginprint 零件库存数量不够,不能出售!endendelsebeginprint 仓库里没有此零件,请通知公司end-对触发器“tri_统一零件管理”的相关验证信息exec pro_ins3 20112002 1120 fl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号