数据库系统概论课程设计.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档