数据库课程设计之SQLServer图书馆管理系统.docx

上传人:小飞机 文档编号:3560058 上传时间:2023-03-13 格式:DOCX 页数:12 大小:39.45KB
返回 下载 相关 举报
数据库课程设计之SQLServer图书馆管理系统.docx_第1页
第1页 / 共12页
数据库课程设计之SQLServer图书馆管理系统.docx_第2页
第2页 / 共12页
数据库课程设计之SQLServer图书馆管理系统.docx_第3页
第3页 / 共12页
数据库课程设计之SQLServer图书馆管理系统.docx_第4页
第4页 / 共12页
数据库课程设计之SQLServer图书馆管理系统.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库课程设计之SQLServer图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计之SQLServer图书馆管理系统.docx(12页珍藏版)》请在三一办公上搜索。

1、数据库课程设计之SQLServer图书馆管理系统数据库系统概论课程设计 图书馆数据库管理系统 目录 序言.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 查询各个专业的学生借阅书本的

2、数量 . 11 五、图书馆管理系统数据库、数据表源代码 . 错误!未定义书签。 5.1 图书馆管理系统数据库源代码 . 错误!未定义书签。 5.2 图书馆管理系统数据表源代码 . 错误!未定义书签。 六、图书馆管理系统存储过程源代码 . 错误!未定义书签。 6.1 读者借阅图书存储过程. 错误!未定义书签。 6.2 读者还书存储过程 . 错误!未定义书签。 6.3读者续借图书存储过程 . 错误!未定义书签。 6.4 读者查询借阅图书情况存储过程. 错误!未定义书签。 6.5 读者检索的图书信息存储过程 . 错误!未定义书签。 七、图书馆管理系统触发器源代码 . 错误!未定义书签。 7.1 借书

3、要求错误!未定义书签。 7.2 借书要求 . 错误!未定义书签。 7.3 续借次数要求 . 错误!未定义书签。 7.4 读者还书信息插入RDeleted表 . 错误!未定义书签。 * II * 序言 本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book,Dept,Major,Student,StudentBook,Teacher,TeacherBook,RDeleted等。这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。如读者借阅图书功能,读者归还图书功能,读者续借图书功能,读者查询图书借阅情况功能,读者检索的图书信息功能等。具体的功能表现皆在“第二

4、章:图书馆管理系统功能”中有详细的图例说明。 本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明: 1、 tri_Book 功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作 2、 tri_SborrowNum 功能表现:控制学生的图书借阅量在5本以内(包括5本) 3、 tri_SrenewBook 功能表现:控制学生续借图书次数在3次以内(包括3次) 4、 tri_SreturnBook 功能表现:将学生的还书信息插入RDeleted表 5、 tri_TborrowNum 功能表现:控制教师的图书借阅量在10本以内(包括10本) 6、

5、tri_TrenewBook 功能表现:控制学生续借图书次数在4次以内(包括4次) 7、 tri_TreturnBook 功能表现:将教师的还书信息插入RDeleted表 本图书馆管理系统设计思路较为肤浅,但在一定程度上实现了图书馆数据库管理系统的实用功能。初次设计数据库,其中肯定会有不足之处,还望读者谅解! 本课程设计附有“图书馆数据库管理系统的所有源代码”,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件! 作者:* * * * 1 * 一、图书馆管理系统 E-R 图 教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教

6、师借阅关系与学生借阅关系分开较为适宜。 工号 姓名 性别 年龄 职称 电话 教师 借阅日期 分类号 教师借阅 书名 作者 出版社 类别 借阅日期 学号 姓名 性别 归属 学生学号与系部编号的联系 系部 系部编号 系部名称 系部编号与专业编号的联系 专业名称 归属 专业 专业编号 续借次数 出版日期 ISBN 图书 价格 总量 学生借阅 续借次数 借出量 年龄 学生 电话 归属 学生学号与专业编号的联系 * 2 * 二、图书馆管理系统功能实现示意图 由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明: 图书信息表 Book 借阅图书 RBor

7、rowBook 学生借阅图书信息表 StudentBook tri_SreturnBook图书库存量加1 tri_SborrowNum借阅量未超5本 相关信息写入 学生借阅图书信息表 StudentBook tri_Book图书库存量减1 图书信息表 Book 归还图书 RReturnBook 学生借阅图书信息表 StudentBook 相关信息写入 tri_SborrowNum删除借阅记录 读者还书信息表RDeleted 学生借阅图书信息表 StudentBook 获取图书相关信息 续借图书 RRenewBook tri_SrenewBook续借次数不超三次,则将续借次数加1 相关信息写入

8、图书信息表 Book 专业信息表 Major 系部信息表 Dept 学生信息表 Student 读者检索图书 RIndexBook 图书信息表 Book 计算学生专业信息 综合信息输出 计算学生系部信息 查询图书借阅情况 RQueryBook 学生借阅图书信息表 StudentBook 获取学生相关信息 由存储过程RindexBook 查找匹配图书信息 综合信息输出给读者 * 3 * 三、图书馆管理系统功能图例 3.1 读者借阅图书 Execute RBorrowBook 读者号,图书分类号 -读者借阅图书实例 use LibrarySystem go exec RBorrowBook T00

9、6324,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 -结果如下: * 4 * 3.3 读者续借图书 Execute RR

10、enewBook 读者号,图书分类号 -读者续借图书实例 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 读者号 -读者查询图书借阅情况

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

12、 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) update Student set SDeptNo=substring(sno,4,2) where Sno

13、=sno set i=i+1 Sno from Student) end select * from Student go -结果如下: * 7 * -往学生表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 go -查询数据表第i 行数据的SQL语句 select

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

15、ok,Student,Book where Student.Sno=StudentBook.Sno and StudentBook.ClassifyNo=Book.ClassifyNo order by Student.Sno compute count(Student.Sno) by Student.Sno go * 9 * -结果如下: * 10 * 4.3 查询各个专业的学生借阅书本的数量 use LibrarySystem go declare tempDept table( 专业编号char(4)primary key, 专业varchar(30)not null, 学生借阅书本数量

16、int default 0) Insert into tempDept(专业编号,专业) select Mno,Mname from Major declare i int,total int,no char(10) select total=count(*),i=1 from StudentBook while(itotal) begin select top 1 no=Sno from StudentBook where Sno not in(select top (i-1) update tempDept set 学生借阅书本数量=学生借阅书本数量+1 where 专业编号=substring(no,4,4) set i=i+1 Sno from StudentBook) end select * from tempDept select total as 学生借阅书本总量 go -结果如下: * 11 * 后续“数据库课程设计之SQL Server图书馆管理系统源码” 五、图书馆管理系统数据库、数据表源代码 六、图书馆管理系统存储过程源代码 七、图书馆管理系统触发器源代码 * 12 *

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号