数据库系统概论课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图书馆数据库管
理系统
目录
一、图书馆管理系统E-R 图 (1)
二、图书馆管理系统功能实现示意图 (2)
三、图书馆管理系统功能图例 (3)
3.1 读者借阅图书 (3)
3.2 读者归还图书 (3)
3.3 读者续借图书 (4)
3.4 读者查询借阅图书情况 (4)
3.5 读者检索图书信息 (5)
四、图书馆管理系统附加功能 (6)
4.1 往学生表中插入一列"系部",其值等于学号中代表系部的位的值,再插入一列"专业号
",其值等于学号中代表专业的位的值 (6)
4.2 查询每个学生对书本的借阅数量 (8)
4.3 查询各个专业的学生借阅书本的数量 (10)
一、图书馆管理系统E-R 图
教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教师借阅关系与学生借阅关系分开较为适宜。
二、图书馆管理系统功能实现示意图
由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:
tri_Book图书库
tri_SreturnBook
三、图书馆管理系统功能图例
3.1 读者借阅图书
Execute RBorrowBook '读者号','图书分类号'
--------------读者借阅图书实例 use LibrarySystem go
exec RBorrowBook T006324,'D630.3 L836'--其中T006324以T 为标识,代表教师编号 exec RBorrowBook S070407101,'D630.3 L836'---其中S070407101以S 为标识,代表学生学号
go -----结果如下:
3.2 读者归还图书
Execute RReturnBook '读者号','图书分类号'
----------------读者归还图书实例 use LibrarySystem go
exec RReturnBook T006324,'D630.3 L836' exec RReturnBook S070407101,'D630.3 L836' go -----结果如下:
图书信息表 Book
由存储过程RindexBook 查找匹配图书信息 综合信息输出给读者
读者检索图书 RIndexBook
3.3 读者续借图书
Execute RRenewBook '读者号','图书分类号' --------------读者续借图书实例
use LibrarySystem
go
-------读者借阅图书
exec RBorrowBook T006324,'D630.3 L836' exec RBorrowBook S070407101,'D630.3 L836' go
waitfor delay '0:0:5'
--------读者续借图书
exec RRenewBook T006324,'D630.3 L836' exec RRenewBook S070407101,'D630.3 L836' go
-----结果如下:
3.4 读者查询借阅图书情况
Execute RQueryBook '读者号'
------------读者查询图书借阅情况实例
use LibrarySystem
go
exec RQueryBook T006432
exec RQueryBook S070407101
go
-----结果如下:
3.5 读者检索图书信息
Execute RIndexBook '关键词' ------------读者检索图书信息实例use LibrarySystem
go
exec RIndexBook 数据库
go
-------结果如下:
四、图书馆管理系统附加功能
4.1 往学生表中插入一列"系部",其值等于学号中代表系部的位的值,再插入一列"专业号",其值等于学号中代表专业的位的值
---------------往学生表S中插入一列"系部",其值等于学号中代表系部的位的值
use LibrarySystem
go
alter table Student
add SdeptNo char(2)
go
declare @sno char(10),@total int,@i int
select @total=count(*),@i=1
from Student
while(@i<=@total)
begin
------------查询数据表第@i 行数据的SQL语句
select top 1 @sno=Sno from Student where Sno not in(select top(@i-1) Sno from Student)
update Student
set SDeptNo=substring(@sno,4,2)
where Sno=@sno
set @i=@i+1
end
select*from Student
go
-----------结果如下:
-------------往学生表S中插入一列"专业号",其值等于学号中代表专业的位的值
use LibrarySystem
go
alter table Student
add SMajorNo varchar(50)
go
declare @sno char(10),@total int,@i int
select @total=count(*),@i=1
from Student
while(@i<=@total)
begin
------------查询数据表第@i 行数据的SQL语句
select top 1 @sno=Sno from Student where Sno not in(select top(@i-1) Sno from Student)
update Student
set SMajorNo=substring(@sno,4,4)
where Sno=@sno
set @i=@i+1
end
go