数据库系统实验报告4简单图书馆管理数据库的实现
- 格式:doc
- 大小:922.00 KB
- 文档页数:7
数据库系统课程实验报告
图4-1
【实验过程】
一、建数据库、数据表
按前述分析,利用企业管理器或者查询分析器(推荐)建“图书馆管理”数据库和数据表。
二、数据的基本操作
增加记录:
图书信息表:
书号书名作者状态
1 sql语言sql 1
2 c++语言c++ 1
3 sql server ms 1
4 java教程java 1
5 c#教程c# 1
6 计算机网络net 1
读者信息表:
借书证号姓名住址
1 张三学三
2 李四学四
3 王五学五
并对这两个表进行删除、更新、和查询等操作
三、创建触发器、和存储过程进行借、还书操作
1)针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图书信息表相应记录的“状态”字段改为0。
2)针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图书信息表相应记录的“状态”字段改为1。
3)创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。
4)创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号作为参数。
利用sf_borrow,sf_return进行借、还操作,并注意数据库中三个表的数据变化情况。
三、实验结果及分析
(一)创建数据库和数据表:
选择用企业管理器创建数据库、数据表
(二)数据相关操作:
1.查询:
2.删除:
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作:
1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图
书信息表相应记录的“状态”字段改为0。
CREATE TRIGGER Insert_borrow ON dbo.借阅信息表
FOR INSERT
AS
begin
update 图书信息表
set 状态=0
from Inserted i,图书信息表 t
where t.书号=i.书号
end
2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图
书信息表相应记录的“状态”字段改为1。
CREATE TRIGGER Delete_borrow ON dbo.借阅信息表
FOR delete
AS
begin
update 图书信息表
set 状态=1
from Deleted d,图书信息表 t
where t.书号=d.书号
end
3.创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证号,
借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。
CREATE PROCEDURE sf_borrow(@num int,@book_num varchar,@borrow_num varchar)
AS
Begin
set IDENTITY_INSERT 借阅信息表 on
insert into 借阅信息表(编号,书号,借书证号,借书时间,应还时间)
values(@num,@book_num,@borrow_num,getdate(),dateadd(day,30,getdate()))
end;
运行:
exec sf_borrow 1,'1','1'
exec sf_borrow 2,'2','2'
4.创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号作
为参数。
CREATE PROCEDURE sf_return(@book_num varchar)
AS
begin
delete from 借阅信息表
where 书号=@book_num
end;
运行:
exec sf_return 1
运行结果:
1.借阅后:
借阅信息表:
图书信息表:
2.还书后:
借阅信息表:
图书信息表:
备注:
1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少
页。
2、本课程包含多次实验,请每次实验项目填写一份。