数据库课程设计《SQLServer图书馆管理系统》实例讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本图书馆管理系统设计思路较为肤浅,但在一定程度上实现了图书馆数据库管理系统的实用功能。初次设计数据库,其中肯定会有不足之处,还望读者谅解!
本课程设计附有“图书馆数据库管理系统的所有源代码”,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件!
4、tri_SreturnBook功能表现:将学生的还书信息插入RDeleted表
5、tri_TborrowNum功能表现:控制教师的图书借阅量在10本以内(包括10本)
6、tri_TrenewBook功能表现:控制学生续借图书次数在4次以内(包括4次)
7、tri_TreturnBook功能表现:将教师的还书信息插入RDeleted表
go -----结果如下:
3.2
ExecuteRReturnBook'读者号','图书分类号'
----------------读者归还图书实例
useLibrarySystem
go
execRReturnBook T,'D630.3 L836'
execRReturnBook S,'D630.3 L836'
4.2
--查询每个学生对书本的借阅数量
useLibrarySystem
go
selectStudent.Sno学号,Sname姓名,Book.ClassifyNo图书分类号,Bname书名
fromStudentBook,Student,Book
whereStudent.Sno=StudentBook.SnoandStudentBook.ClassifyNo=Book.ClassifyNo
数据库系统概论课程设计
图书馆数据库管理系统
小组成员:
***
***
***
QQ:
序言
本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher(教师信息表),TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。如读者借阅图书功能(ExecuteRBorrowBook'读者号','图书分类号'),读者归还图书功能(ExecuteRReturnBook'读者号','图书分类号'),读者续借图书功能(ExecuteRRenewBook'读者号','图书分类号'),读者查询图书借阅情况功能(ExecuteRQueryBook'读者号'),读者检索的图书信息功能(ExecuteRIndexBook'关键字')等。具体的功能表现皆在“第二章:图书馆管理系统功能”中有详细的图例说明。
useLibrarySystem
go
execRQueryBook T
execRQueryBook S
go
-----结果如下:
3.5
ExecuteRIndexBook'关键词'
------------读者检索图书信息实例
useLibrarySystem
go
execRIndexBook数据库
go
-------结果如下:
go
altertableStudent
addSMajorNovarchar(50)
go
declare@snochar(10),@totalint,@iint
select@total=count(*),@i=1
fromStudent
while(@i<=@total)
begin
------------查询数据表第@i行数据的SQL语句
四、图书馆管理系统附加功能
4.1
---------------往学生表S中插入一列"系部",其值等于学号中代表系部的位的值
uБайду номын сангаасeLibrarySystem
go
altertableStudent
addSdeptNochar(2)
go
declare@snochar(10),@totalint,@iint
作者:*** *** ***
一、图书馆管理系统
教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教师借阅关系与学生借阅关系分开较为适宜。
二、图书馆管理系统功能实现示意图
由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:
三、图书馆管理系统功能
go -----结果如下:
3.3
ExecuteRRenewBook'读者号','图书分类号'
--------------读者续借图书实例
useLibrarySystem
go
-------读者借阅图书
execRBorrowBook T,'D630.3 L836'
execRBorrowBook S,'D630.3 L836'
3.1
ExecuteRBorrowBook'读者号','图书分类号'
--------------读者借阅图书实例
useLibrarySystem
go
execRBorrowBook T,'D630.3 L836'--其中T以T为标识,代表教师编号
execRBorrowBook S,'D630.3 L836'---其中S以S为标识,代表学生学号
本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明:
1、tri_Book功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作
2、tri_SborrowNum功能表现:控制学生的图书借阅量在5本以内(包括5本)
3、tri_SrenewBook功能表现:控制学生续借图书次数在3次以内(包括3次)
select@total=count(*),@i=1
fromStudent
while(@i<=@total)
begin
------------查询数据表第@i行数据的SQL语句
selecttop1 @sno=SnofromStudentwhereSnonotin(selecttop(@i-1)SnofromStudent)
go
waitfordelay'0:0:5'
--------读者续借图书
execRRenewBook T,'D630.3 L836'
execRRenewBook S,'D630.3 L836'
go
-----结果如下:
3.4
ExecuteRQueryBook'读者号'
------------读者查询图书借阅情况实例
selecttop1 @sno=SnofromStudentwhereSnonotin(selecttop(@i-1)SnofromStudent)
updateStudent
setSMajorNo=substring(@sno,4,4)
whereSno=@sno
set@i=@i+1
end
go
-----------结果如下:
updateStudent
setSDeptNo=substring(@sno,4,2)
whereSno=@sno
set@i=@i+1
end
select*fromStudent
go
-----------结果如下:
-------------往学生表S中插入一列"专业号",其值等于学号中代表专业的位的值
useLibrarySystem
本课程设计附有“图书馆数据库管理系统的所有源代码”,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件!
4、tri_SreturnBook功能表现:将学生的还书信息插入RDeleted表
5、tri_TborrowNum功能表现:控制教师的图书借阅量在10本以内(包括10本)
6、tri_TrenewBook功能表现:控制学生续借图书次数在4次以内(包括4次)
7、tri_TreturnBook功能表现:将教师的还书信息插入RDeleted表
go -----结果如下:
3.2
ExecuteRReturnBook'读者号','图书分类号'
----------------读者归还图书实例
useLibrarySystem
go
execRReturnBook T,'D630.3 L836'
execRReturnBook S,'D630.3 L836'
4.2
--查询每个学生对书本的借阅数量
useLibrarySystem
go
selectStudent.Sno学号,Sname姓名,Book.ClassifyNo图书分类号,Bname书名
fromStudentBook,Student,Book
whereStudent.Sno=StudentBook.SnoandStudentBook.ClassifyNo=Book.ClassifyNo
数据库系统概论课程设计
图书馆数据库管理系统
小组成员:
***
***
***
QQ:
序言
本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher(教师信息表),TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。如读者借阅图书功能(ExecuteRBorrowBook'读者号','图书分类号'),读者归还图书功能(ExecuteRReturnBook'读者号','图书分类号'),读者续借图书功能(ExecuteRRenewBook'读者号','图书分类号'),读者查询图书借阅情况功能(ExecuteRQueryBook'读者号'),读者检索的图书信息功能(ExecuteRIndexBook'关键字')等。具体的功能表现皆在“第二章:图书馆管理系统功能”中有详细的图例说明。
useLibrarySystem
go
execRQueryBook T
execRQueryBook S
go
-----结果如下:
3.5
ExecuteRIndexBook'关键词'
------------读者检索图书信息实例
useLibrarySystem
go
execRIndexBook数据库
go
-------结果如下:
go
altertableStudent
addSMajorNovarchar(50)
go
declare@snochar(10),@totalint,@iint
select@total=count(*),@i=1
fromStudent
while(@i<=@total)
begin
------------查询数据表第@i行数据的SQL语句
四、图书馆管理系统附加功能
4.1
---------------往学生表S中插入一列"系部",其值等于学号中代表系部的位的值
uБайду номын сангаасeLibrarySystem
go
altertableStudent
addSdeptNochar(2)
go
declare@snochar(10),@totalint,@iint
作者:*** *** ***
一、图书馆管理系统
教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教师借阅关系与学生借阅关系分开较为适宜。
二、图书馆管理系统功能实现示意图
由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:
三、图书馆管理系统功能
go -----结果如下:
3.3
ExecuteRRenewBook'读者号','图书分类号'
--------------读者续借图书实例
useLibrarySystem
go
-------读者借阅图书
execRBorrowBook T,'D630.3 L836'
execRBorrowBook S,'D630.3 L836'
3.1
ExecuteRBorrowBook'读者号','图书分类号'
--------------读者借阅图书实例
useLibrarySystem
go
execRBorrowBook T,'D630.3 L836'--其中T以T为标识,代表教师编号
execRBorrowBook S,'D630.3 L836'---其中S以S为标识,代表学生学号
本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明:
1、tri_Book功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作
2、tri_SborrowNum功能表现:控制学生的图书借阅量在5本以内(包括5本)
3、tri_SrenewBook功能表现:控制学生续借图书次数在3次以内(包括3次)
select@total=count(*),@i=1
fromStudent
while(@i<=@total)
begin
------------查询数据表第@i行数据的SQL语句
selecttop1 @sno=SnofromStudentwhereSnonotin(selecttop(@i-1)SnofromStudent)
go
waitfordelay'0:0:5'
--------读者续借图书
execRRenewBook T,'D630.3 L836'
execRRenewBook S,'D630.3 L836'
go
-----结果如下:
3.4
ExecuteRQueryBook'读者号'
------------读者查询图书借阅情况实例
selecttop1 @sno=SnofromStudentwhereSnonotin(selecttop(@i-1)SnofromStudent)
updateStudent
setSMajorNo=substring(@sno,4,4)
whereSno=@sno
set@i=@i+1
end
go
-----------结果如下:
updateStudent
setSDeptNo=substring(@sno,4,2)
whereSno=@sno
set@i=@i+1
end
select*fromStudent
go
-----------结果如下:
-------------往学生表S中插入一列"专业号",其值等于学号中代表专业的位的值
useLibrarySystem