数据库系统实验报告4简单图书馆管理数据库的实现

  • 格式:doc
  • 大小:922.00 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统课程实验报告

图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、本课程包含多次实验,请每次实验项目填写一份。