数据库课程设计之SQL-Server图书馆管理系统_第1页
数据库课程设计之SQL-Server图书馆管理系统_第2页
数据库课程设计之SQL-Server图书馆管理系统_第3页
数据库课程设计之SQL-Server图书馆管理系统_第4页
数据库课程设计之SQL-Server图书馆管理系统_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论数据库系统概论 课程设计课程设计 图书馆数据库管理系统图书馆数据库管理系统 目录目录 序言 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 II 4 2 查询每个学生对书本的借阅数量 9 4 3 查询各个专业的学生借阅书本的数量 11 五 图书馆管理系统数据库 数据表源代码 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 表 26 1 序言序言 本图书馆管理系统谨根据实际需求所创建 创建有如下八个数据 表 BookBook 图书信息表 DeptDept 学生系部信息表 MajorMajor 学生专 业信息表 StudentStudent 学生信息表 StudentBookStudentBook 学生借阅图书信 息表 TeacherTeacher 教师信息表 TeacherBookTeacherBook 教师借阅图书信息表 RDeletedRDeleted 读者还书信息表 等 这些数据表结合图书馆数据库中 的五个存储过程 即实现了普通图书馆的大部分功能 如读者借阅图 书功能 Execute RBorrowBook 读者号 图书分类号 读者归还图书功能 Execute RReturnBook 读者号 图书分类号 读者续借图书功能 Execute RRenewBook 读者号 图书分类号 读者查询图书借阅情况功 能 Execute RQueryBook 读者号 读者检索的图书信息功能 Execute RIndexBook 关键字 等 具体的功能表现皆在 第二章 图书馆管理 系统功能 中有详细的图例说明 本图书馆管理系统谨根据实际需要 创建了七个触发器 就此 创作者对这些触发器做如下说明 1 tri Book 功能表现 只有在图书馆内相关书籍尚有库存的情况下 读者才 可以进行借阅操作 2 tri SborrowNum 功能表现 控制学生的图书借阅量在 5 本以内 包括 5 本 3 tri SrenewBook 功能表现 控制学生续借图书次数在 3 次以内 包括 3 次 4 tri SreturnBook 功能表现 将学生的还书信息插入 RDeleted 表 5 tri TborrowNum 功能表现 控制教师的图书借阅量在 10 本以内 包括 10 本 6 tri TrenewBook 功能表现 控制学生续借图书次数在 4 次以内 包括 4 次 7 tri TreturnBook 功能表现 将教师的还书信息插入 RDeleted 表 本图书馆管理系统设计思路较为肤浅 但在一定程度上实现了图 书馆数据库管理系统的实用功能 初次设计数据库 其中肯定会有不 足之处 还望读者谅解 本课程设计附有 图书馆数据库管理系统的所有源代码 您可 以根据需要在 第四章节 至 第七章节 中进行查看 或查看与本 课程设计处于同一目录下的 sql 源代码文件 2 作者 作者 一 图书馆管理系统一 图书馆管理系统 E R 图图 教师借阅图书期限较长 并且允许借阅的书本量较大 因此 将 教师借阅关系与学生借阅关系分开较为适宜 分类号 书名 作者 出版社 类别 出版日期 ISBN 价格 总量 借出量 年龄 电话 性别 姓名 学号 系部编号 系部名称 专业编号 专业名称 归属归属 系部专业归属 学生学号与专 业编号的联系 学生学号与系 部编号的联系 系部编号与专 业编号的联系 借阅日期 续借次数 借阅日期续借次数 学生 图书 学生借阅 教师借阅 教师 工号姓名性别年龄职称电话 3 二 图书馆管理系统功能实现示意图二 图书馆管理系统功能实现示意图 由于教师与学生的借阅图书 归还图书等等过程大致相同 在此 仅借学生有关表对象信息来对各存储过程作简要说明 相关信息写入 借阅图书 RBorrowBook 图书信息表 Book 学生借阅图书信息 表 StudentBook tri Book 图书库 存量减 1 tri SborrowNum 借阅量未超 5 本 学生借阅图书信息 表 StudentBook 相关信息写入 归还图书 RReturnBook 读者还书信息表 RDeleted 图书信息表 Book 学生借阅图书信息 表 StudentBook tri SreturnBook 图书库存量加 1 tri SborrowNum 删除借阅记录 续借图书 RRenewBook tri SrenewBook 续借次数不超三次 则将续借次数加 1 相关信息写入 学生借阅图书信息 表 StudentBook 学生借阅图书信息 表 StudentBook 专业信息表 Major 学生信息表 Student 系部信息表 Dept 图书信息表 Book 查询图书借阅情况 RQueryBook 获取图书相关信息 计算学生专业信息 计算学生系部信息 获取学生相关信息 综合信息输出 4 三 图书馆管理系统功能三 图书馆管理系统功能图例图例 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 5 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 6 exec RQueryBook S070407101 go 结果如下 3 5 读者检索图书信息读者检索图书信息 Execute RIndexBook 关键词 读者检索图书信息实例 use LibrarySystem go exec RIndexBook 数据库 go 结果如下 7 四 图书馆管理系统附加功能四 图书馆管理系统附加功能 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 结果如下 8 往学生表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 9 结果如下 4 2 查询每个学生对书本的借阅数量查询每个学生对书本的借阅数量 查询每个学生对书本的借阅数量 use LibrarySystem go select Student Sno 学号 Sname 姓名 Book ClassifyNo 图书分类号 Bname 书名 from StudentBook Student Book where Student Sno StudentBook Sno and StudentBook ClassifyNo Book ClassifyNo order by Student Sno compute count Student Sno by Student Sno go 10 结果如下 11 4 3 查询各个专业的学生借阅书本的数量查询各个专业的学生借阅书本的数量 use LibrarySystem go declare tempDept table 专业编号char 4 primary key 专业varchar 30 not null 学生借阅书本数量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 i total begin select top 1 no Sno from StudentBook where Sno not in select top i 1 Sno from StudentBook update tempDept set 学生借阅书本数量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论