收藏 分享(赏)

《SQLServer图书馆管理系统》实例讲解.doc

上传人:精品资料 文档编号:8289401 上传时间:2019-06-18 格式:DOC 页数:13 大小:1.06MB
下载 相关 举报
《SQLServer图书馆管理系统》实例讲解.doc_第1页
第1页 / 共13页
《SQLServer图书馆管理系统》实例讲解.doc_第2页
第2页 / 共13页
《SQLServer图书馆管理系统》实例讲解.doc_第3页
第3页 / 共13页
《SQLServer图书馆管理系统》实例讲解.doc_第4页
第4页 / 共13页
《SQLServer图书馆管理系统》实例讲解.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、数据库系统概论课程设计 图书馆数据库管理系统 小组成员: * * * * II * 目录 序言 .1 一、图书馆管理系统 E-R 图 2 二、图书馆管理系统功能实现示意图 .3 三、图书馆管理系统功能图例 .4 3.1 读者借阅图书 4 3.2 读者归还图书 4 3.3 读者续借图书 5 3.4 读者查询借阅图书情况 5 3.5 读者检索图书信息 6 四、图书馆管理系统附加功能 .7 4.1 往学生表中插入列“系部“,其值等于学号中代表系部的位的值,再插入列“专业号“,其值等于学号中代表专业的位的值 7 4.2 查询每个学生对书本的借阅数量 9 4.3 查询各个专业的学生借阅书本的数量 11

2、五、图书馆管理系统数据库、数据表源代码 .12 5.1 图书馆管理系统“数 据库“源代码 .12 5.2 图书馆管理系统“数据表“源代码 .12 六、图书馆管理系统存储过程源代码 .15 6.1 读者借阅图书存储过程 15 6.2 读者还书存储过程 17 6.3 读者续借图书存储过程 .18 6.4 读者查询借阅图书情况存储过程 19 6.5 读者检索的图书信息存储过程 22 七、图书馆管理系统触发器源代码 .23 7.1 借书要求(书本没有库存,则无法进行借书操作) 23 7.2 借书要求(读者最多借阅量) 24 7.3 续借次数要求 25 7.4 读者还书信息插入 RDeleted 表 .

3、26 * 1 * 序言 本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表) ,Dept(学生系部信息表) ,Major(学生专业信息表) ,Student(学生信息表) ,StudentBook(学生借阅图书信息表) ,Teacher(教师信息表) ,TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。如读者借阅图书功能(Execute RBorrowBook 读者号,图书分类号) ,读者归还图书功能(Execute RReturnBook 读者号,图书分

4、类号) ,读者续借图书功能(Execute RRenewBook 读者号,图书分类号) ,读者查询图书借阅情况功能(Execute RQueryBook 读者号) ,读者检索的图书信息功能(Execute RIndexBook 关键字)等。具体的功能表现皆在“第二章:图书馆管理系统功能”中有详细的图例说明。本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明:1、 tri_Book 功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作2、 tri_SborrowNum 功能表现:控制学生的图书借阅量在 5 本以内(包括 5 本)3、 tri_

5、SrenewBook 功能表现:控制学生续借图书次数在 3 次以内(包括 3 次)4、 tri_SreturnBook 功能表现:将学生的还书信息插入 RDeleted 表5、 tri_TborrowNum 功能表现:控制教师的图书借阅量在 10 本以内( 包括 10本)6、 tri_TrenewBook 功能表现:控制学生续借图书次数在 4 次以内(包括 4 次)7、 tri_TreturnBook 功能表现:将教师的还书信息插入 RDeleted 表本图书馆管理系统设计思路较为肤浅,但在一定程度上实现了图书馆数据库管理系统的实用功能。初次设计数据库,其中肯定会有不足之处,还望读者谅解!本课

6、程设计附有“图书馆数据库管理系统的所有源代码” ,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件!* 2 * 一、图书馆管理系统 E-R 图教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教师借阅关系与学生借阅关系分开较为适宜。分类号书名作者出版社类别出版日期ISBN价格总量借出量年龄电话性别姓名学号系部编号系部名称专业编号专业名称归属 归属系部 专业归属学生学号与专业编号的联系学生学号与系部编号的联系系部编号与专业编号的联系借阅日期 续借次数借阅日期 续借次数学生图书学生借阅教师借阅教师工号 姓名 性别 年龄 职称 电

7、话* 3 * 二、图书馆管理系统功能实现示意图由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:相关信息写入借阅图书RBorrowBook图书信息表Book学生借阅图书信息表 StudentBooktri_Book 图书库存量减 1tri_SborrowNum借阅量未超 5 本学生借阅图书信息表 StudentBook相关信息写入归还图书RReturnBook读者还书信息表RDeleted图书信息表Book学生借阅图书信息表 StudentBooktri_SreturnBook图书库存量加 1tri_SborrowNum删除借阅记录续借图

8、书RRenewBooktri_SrenewBook 续借次数不超三次,则将续借次数加 1 相关信息写入 学生借阅图书信息表 StudentBook学生借阅图书信息表 StudentBook专业信息表Major学生信息表Student系部信息表Dept图书信息表Book查询图书借阅情况 RQueryBook获取图书相关信息计算学生专业信息计算学生系部信息获取学生相关信息综合信息输出* 4 * 三、图书馆管理系统功能图例3.1 读者借阅图书Execute RBorrowBook 读者号 ,图书分类号-读者借阅图书实例use LibrarySystemgoexec RBorrowBook T0063

9、24,D630.3 L836-其中 T006324以T为标识,代表教师编号exec RBorrowBook S070407101,D630.3 L836-其中S070407101 以S为标识,代表学生学号go -结果如下:3.2 读者归还图书Execute RReturnBook 读者号 ,图书分类号-读者归还图书实例use LibrarySystemgoexec RReturnBook T006324,D630.3 L836exec RReturnBook S070407101,D630.3 L836go -结果如下:图书信息表Book由存储过程 RindexBook 查找匹配图书信息 综合

10、信息输出给读者读者检索图书RIndexBook* 5 * 3.3 读者续借图书Execute RRenewBook 读者号, 图书分类号-读者续借图书实例use LibrarySystemgo-读者借阅图书exec RBorrowBook T006324,D630.3 L836exec RBorrowBook S070407101,D630.3 L836gowaitfor delay 0:0:5-读者续借图书exec RRenewBook T006324,D630.3 L836exec RRenewBook S070407101,D630.3 L836go -结果如下:3.4 读者查询借阅图书

11、情况Execute RQueryBook 读者号-读者查询图书借阅情况实例use LibrarySystemgoexec RQueryBook T006432* 6 * exec RQueryBook S070407101go-结果如下:3.5 读者检索图书信息Execute RIndexBook 关键词-读者检索图书信息实例use LibrarySystemgoexec RIndexBook 数据库go-结果如下:* 7 * 四、图书馆管理系统附加功能4.1 往学生表中插入一列“系部“,其值等于学号中代表系部的位的值,再插入一列“专业号“,其值等于学号中代表专业的位的值-往学生表S中插入一列

12、“ 系部“,其值等于学号中代表系部的位的值use LibrarySystemgoalter table Studentadd SdeptNo char(2)godeclare sno char(10),total int,i intselect total=count(*),i=1from Studentwhile(i=total)begin-查询数据表第i 行数据的SQL 语句select top 1 sno=Sno from Student where Sno not in(select top (i-1) Sno from Student) update Studentset SDept

13、No=substring(sno,4,2)where Sno=snoset i=i+1endselect * from Studentgo-结果如下: * 8 * -往学生表S中插入一列“ 专业号“,其值等于学号中代表专业的位的值use LibrarySystemgoalter table Studentadd SMajorNo varchar(50)godeclare sno char(10),total int,i intselect total=count(*),i=1from Studentwhile(i=total)begin-查询数据表第i 行数据的SQL 语句select top

14、 1 sno=Sno from Student where Sno not in(select top (i-1) Sno from Student) update Studentset SMajorNo=substring(sno,4,4)where Sno=snoset i=i+1endgo* 9 * -结果如下: 4.2 查询每个学生对书本的借阅数量-查询每个学生对书本的借阅数量use LibrarySystemgoselect Student.Sno 学号, Sname 姓名, Book.ClassifyNo 图书分类号, Bname 书名from StudentBook,Studen

15、t,Bookwhere Student.Sno=StudentBook.Sno and StudentBook.ClassifyNo=Book.ClassifyNoorder by Student.Snocompute count(Student.Sno) by Student.Snogo* 10 * -结果如下:* 11 * 4.3 查询各个专业的学生借阅书本的数量use LibrarySystemgodeclare tempDept table(专业编号char(4) primary key,专业varchar(30)not null,学生借阅书本数量int default 0)Inser

16、t into tempDept(专业编号, 专业) select Mno,Mname from Majordeclare i int,total int,no char(10)select total=count(*),i=1 from StudentBookwhile(itotal) beginselect top 1 no=Sno from StudentBook where Sno not in(select top (i-1) Sno from StudentBook)update tempDeptset 学生借阅书本数量=学生借阅书本数量+1where 专业编号 =substring(no,4,4)set i=i+1endselect * from tempDeptselect total as 学生借阅书本总量go -结果如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报