1 / 11
文档名称:

数据库完整性管理.docx

格式:docx   大小:21KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库完整性管理.docx

上传人:mazhuangzi1 2022/5/17 文件大小:21 KB

下载得到文件列表

数据库完整性管理.docx

文档介绍

文档介绍:北华航天工业学院
《数据库原理与应用》
实验报告
报告题 目 数据库完整性管理
作者所在系部: 计算机科学与工程系
作者所在专业: 网络工程
作者学号: 20114052203
作者姓名: 郭豪
指导教师姓名: 李建义tb booknew
booktype_no book_name book_writer book stock
int,
char(20) not null,
char(10),
int
constraint C1 check(book stock between 25
and
100),
primary key (book_no),
foreign key (booktype_no) references db_library ・ dbo ・ tb_booktype (类另U编号)
on delete cascade
消息
命令已成功完成。
)
2,创建tb_borrownew代码及截图。
create table tb_borrownew (
tb_reader_no char(10),
tb_book_no char(10),
tb_borrow_date date,
tb_back_date date,
primary key (tb_reader_no,tb_book_no)
_J消息
命令已成功完成。
3,给tb_booknew书名增加唯一性约束代码及截图
alter table tb_booknew
add constraint c2 unique(book name)
_J消息 命令已成功完成。
修改tb_booknew的库存数在30—80之间。
alter table tb_booknew
drop constraint C1
alter table tb_booknew
add constraint C1 check(book_stock between 30 and 80)
_J消息
命令已成功完成。
、使用SQL语句删除第3题增加的约束。
alter table tb_booknew
drop constraint c2
消息
命令已成功完成。
(三)
(1)创建触发器 借阅信息插入修改_TRIG
create trigger借阅信息插入修R^_TRIG
on
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
prin t('修改成功!! !’);
end
end
go
验证1:
insert
into tb_borrow(图书编号,读者编号,借阅日期,归还日期)
values (10002,'R10003‘ ,'2012-3-3' ,'2012-4-4')
go
|~ZT消息 插入成功! ! !
<1行受影响)
验证2
update tb_borrow
set 归还日期='2012-3-20'
where图书编号=10002 and读者编号='Rl0003'and借阅日期
='2012-3-3'
go
消息
修改成功! ! !
<1行受影响)
验证3:
insert
into tb_borrow (图书编号,读者编号,借阅日期,归还日期)
values(10002,'R10003','2012-3-3','2013—4—4')
_J)消息
该借阅记录已经超过三个月!! !
<1行受影响)
(2)
创建触发器代码及截图:
use db_Library
go
create trigger 图书信息_TRIG 仓U建图书信息
触发器
on tb_book
for insert,update
as
declare
@库存数 int
begin
select @库存数=库存数 from inserted
wh