首页 实验4 数据库完整性管理

实验4 数据库完整性管理

举报
开通vip

实验4 数据库完整性管理北 华 航 天 工 业 学 院 《数据库原理与应用》 实验报告 报告题目:        数据库完整性管理    作者所在系部:    计算机科学与工程系  作者所在专业:      网络工程          作 者 学 号 :    20114052233        作 者 姓 名 :      张旭刚            指导教师姓名:      李建义            完 成 时 间 :      2013  5.7          数据库完整性管理 一、 实验目的 1、 理解...

实验4 数据库完整性管理
北 华 航 天 工 业 学 院 《数据库原理与应用》 实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 报告题目:        数据库完整性管理    作者所在系部:    计算机科学与 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 系  作者所在专业:      网络工程          作 者 学 号 :    20114052233        作 者 姓 名 :      张旭刚            指导教师姓名:      李建义            完 成 时 间 :      2013  5.7          数据库完整性管理 一、 实验目的 1、 理解数据库完整性约束机制; 2、 掌握创建、修改和删除完整性约束的方法; 3、 掌握创建和删除触发器的方法。 二、 实验内容 (一)附加上次实验所创建的数据库“db_Library”,并回顾该数据库的数据 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 信息。 (二)约束的创建和管理 1、使用SQL语句创建图书表(tb_booknew),要求为各字段选择合适的数据类型及名称,其中“图书编号”字段为主码;“类别编号”字段为外码,删除图书类别信息表中记录时级联删除图书信息表中对应的记录;书名不允许空值;库存数限制的25到100之间。 2、使用SQL语句创建借阅表(tb_borrownew),要求为各字段选择合适的数据类型及名称,其中“图书编号”和“读者编号”的组合值为主码。 3、使用SQL语句为图书表(tb_booknew)中书名字段增加唯一性约束。 4、使用SQL语句将第1题的库存数限制修改为30到80之间。 5、使用SQL语句删除第3题增加的约束。 (三)触发器的创建和管理 1、使用SQL语句创建一个名为“借阅信息插入修改_TRIG”的触发器,要求在“借阅信息表”中插入或修改记录时触发该触发器,检查“归还日期”字段修改是否超过3个月,如果超过给出相应提示,不超过给出相应提示(“插入记录成功”或“修改记录成功”)。对“借阅信息表”进行插入或修改操作,验证触发器的执行情况。 2、使用SQL语句创建一个插入、更新类型的触发器“图书信息_TRIG”,当“图书信息表”中插入或修改记录时,触发该触发器,检查库存册数是否大于0,若不大于0,则撤销插入和修改操作。在“借阅信息表”中插入或修改一条记录,给定的库存册数值为-1,验证触发器的执行情况 3、使用SQL语言删除“借阅信息插入修改_TRIG”触发器。 三、 实验步骤 1、使用SQL语句创建图书表(tb_booknew),要求为各字段选择合适的数据类型及名称,其中“图书编号”字段为主码;“类别编号”字段为外码,删除图书类别信息表中记录时级联删除图书信息表中对应的记录;书名不允许空值;库存数限制的25到100之间。 create table tb_booknew (  Bnum char(10) primary key, Tynum CHAR(4)FOREIGN key REFERENCES tb_booktype(Tynum) ON DELETE CASCADE, Bname char(20) not null, Knum smallint check(Knum>=25 and Knum<=100) ); 2、使用SQL语句创建借阅表(tb_borrownew),要求为各字段选择合适的数据类型及名称,其中“图书编号”和“读者编号”的组合值为主码。 create table tb_borrownew (  Bnum char(10), Rnum char(10), Bodata DateTime not null, redata Datetime not null, primary key(Bnum,Rnum), foreign key (Bnum) references tb_book(Bnum), foreign key (Rnum) references tb_reader(Rnum) ); 3、使用SQL语句为图书表(tb_booknew)中书名字段增加唯一性约束。 ALTER TABLE TB_BOOKNEW ADD CONSTRAINT C3 UNIQUE(Bname) 4、使用SQL语句将第1题的库存数限制修改为30到80之间。 ALTER TABLE tb_booknew ADD CHECK(Knum BETWEEN 30 AND 80) 5、使用SQL语句删除第3题增加的约束。 ALTER TABLE TB_BOOKNEW DROP CONSTRAINT C3 (三)触发器的创建和管理 1、使用SQL语句创建一个名为“借阅信息插入修改_TRIG”的触发器,要求在“借阅信息表”中插入或修改记录时触发该触发器,检查“归还日期”字段修改是否超过3个月,如果超过给出相应提示,不超过给出相应提示(“插入记录成功”或“修改记录成功”)。对“借阅信息表”进行插入或修改操作,验证触发器的执行情况。 create trigger 借阅信息插入修改_TRIG1 on dbo.tb_borrow for  insert , update as declare @借阅日期 date, @归还日期 date begin select @借阅日期 ,@归还日期 from inserted if(DATEDIFF(M,@借阅日期,@归还日期)>3) begin print('数据插入失败!); end else if (exists(select * from inserted )and not exists (select *from deleted)) begin print('数据插入成功!'); end if exists (select *from inserted)and exists (select *from deleted) begin print(修改成功! ! !'); end End insert into tb_borrow values('10011','R10008',2008-09-20 ,2009-10-20) insert into tb_borrow values('10006','R10008',2008-05-20 ,2008-6-20) update tb_borrow set Redata='2010-05-20' where Bnum =10003 and Rnum='R10003'and Bodata ='2009-09-20' 2、使用SQL语句创建一个插入、更新类型的触发器“图书信息_TRIG”,当“图书信息表”中插入或修改记录时,触发该触发器,检查库存册数是否大于0,若不大于0,则撤销插入和修改操作。在“借阅信息表”中插入或修改一条记录,给定的库存册数值为-1,验证触发器的执行情况 CREATE TRIGGER 图书信息_TRIG1 on TB_BOOKNEW For insert,update As Declare @num int begin Select @num =Knum from inserted If @num <=0 print('库存数小于等于0,插入更新操作已停止!!!!') Rollback transaction Else print('数据插入成功!') End; insert into tb_book(Bnum,Tynum,Bname,writer,publish,price,Knum) values('10018','5','CAD','兰吉昌','华航出版社',56,-7) insert into tb_book(Bnum,Tynum,Bname,writer,publish,price,Knum) values('10020','5','CAD','兰吉昌','华航出版社',56,8) 4.实验 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 本次实验总体上感觉不是很好做,关键对触发器原理理解的不是很深刻,在做实验的过程中遇到了好多问题。第一个是每次当插入的时间大于三个月时本来是差不进去的,但是在表中仍然能找到;第二个是修改数据时,本来显示的是修改成功,但是它却显示的是空值。最后看了点参考书有了一点思路,但还是没成功。后来,在上课时,看了老师的代码后才有了点了解。 最后,虽然作业完成了,但是还有很多关于触发器的知识不懂,自己还得以后多看书啊!
本文档为【实验4 数据库完整性管理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:8
分类:互联网
上传时间:2019-02-09
浏览量:207