图书馆管理系统设计报告

1. 题目名称

图书馆管理系统

2. 题目简介

图书馆的图书管理如果需要人工管理则要耗费大量的人力物力。为提高图书馆管理的效率,现在建立图书馆管理系统。

本系统是面向学生和图书管理员两类用户开发的,用于对图书馆图书借阅与归还图书的管理。以账号和密码作为登陆依据。学生完成查看图书馆图书信息、查看自己借阅信息、借书和还书的功能。图书管理员完成修改图书信息和删除学生用户等功能。主要的功能如下:

  1. 用户登陆管理(查)
  2. 学生访问图书馆
  3. 图书管理员管理学生及用户
  4. 新用户注册

3. 需求分析

3.1 调查用户需求

客户的需求具体体现在各种信息的提供,保存,更新和查询。这就要求数据库的结构能充分满足各种信息的输入和输出。图书管理系统是基于学生借阅者,图书,管理员三者的满足三者的联系的系统,学生借阅者在该系统能方便查询,借阅书籍,图书信息应保存在该系统数据库中,管理员应方便管理学生与图书信息。现对各方面进行调查,需求如下:

借阅者:

在图书馆里,面对庞多的书籍,无法尽快找到自己所需要的书籍,也无法更具体了解图书馆图书的信息,该系统应可以满足借阅者对图书的各种查询功能。图书馆对书籍的借阅有一定限制:最多可以同时借阅几本,一本书的借阅时间,借阅期限,归还时间,更多时候,借阅者忘记了自己借阅某一本书的时间,想知道应该什么时候归还,还剩几天借阅时间,及仍可以借阅几本书籍。所以,该图书管理系统应可以满足这些条件,借阅者注册自己的账户,在该账户里,借阅者可以查询自己的具体借阅信息。

管理员:

对图书馆进行管理,主要包括对借阅者,图书的管理。

**对图书的管理:**应包括可以查询图书的信息(包括图书的种类,总数,每一种图书所包含的具体书籍,某书籍的信息,数量),查询图书的借阅情况(包括被借阅的书籍信息,借阅者的信息),当图书有变动时,还应有修改图书信息的权限。

**对借阅者的管理:**首先,应可以满足对借阅者借阅信息的查询,包括借阅者借阅的书籍,借阅的时间,应归还的时间等;其次,当借阅者存在借书不还的情况是,应可以查询到借阅这得个人信息,包括姓名,年纪,所属学院专业等。

3.2 数据库基本情况说明

图书管理系统数据库Library_Management由四个实体:借阅者实体,图书实体,管理员实体,图书种类实体组成,共六个表如下:

  1. 图书表:主要包括图书的信息,包括图书的id,书名,图书的种类,作者,出版社,数量。
  2. 图书借阅表:主要包括图书的借阅信息,包括所有的借阅图书,该图书信息,借阅者信息,借阅时间,剩余数量。
  3. 借阅者信息表:包括借阅者分别所借阅的书籍名字,书籍id,借阅者姓名,学号,年级,所属学院专业。
  4. 图书种类表:包括图书种类,种类数,每一种类分别所包含的书籍信息。
  5. 管理员:包括管理员的信息,姓名,账号id,教职工号。
  6. 图书归还表:主要包括图书的归还信息,包括所有的归还图书,归还时间,归还者信息。

3.3 系统功能设计和划分

**用户注册:**主要针对借阅者用户,借阅者用户需先注册账号,填写自己的个人信息,方便后期管理与信息检索。注册自己的账户之后,用户可登陆自己的账户进行借阅操作。

**借阅者登陆借阅:**借阅者登陆自己的账户之后,可进行查询操作,可查询自己的借阅信息,图书信息;可进行借书与还书。当用户借书后,系统先检索图书表确认有无该书,若有该书,则借阅成功,同时,图书表该书数量减一,借阅归还表增加该条借阅信息。

**管理员后台管理:**管理员可登陆自己的账户,进行信息的查询,删除,更改。查询图书的借阅归还表中的图书的借阅与归还信息,查询借阅者信息,查询图书信息,当增加图书时,可增加图书信息,当有意外情况时可删除图书信息,删除借阅归还表中的借阅信息,删除借阅者即用户信息。

3.4 数据字典

名称 描述 数据类型 数据长度
Sid 学生ID Characters(256) 256
Aid 管理员ID Characters(256) 256
Sname 学生姓名 Characters(256) 256
Ssex 学生性别 Characters(256) 256
Sage 学生年龄 Int
Smajor 学生专业 Characters(256) 256
Sgrade 学生年级 Characters(256) 256
Spassword 学生密码 Characters(256) 256
Bid 图书ID Characters(256) 256
Bname 图书名称 Characters(256) 256
Bpress 图书出版社 Characters(256) 256
Bclassify 图书类别 Characters(256) 256
Bquantity 图书数量 Int
Bauthor 图书作者 Characters(256) 256
Aname 管理员姓名 Characters(256) 256
Aage 管理员年龄 Int
Awork 管理员工作 Characters(256) 256
Atel 管理员电话 Characters(256) 256
Apassword 管理员密码 Characters(256) 256
Bdate 借/还书日期 Date
Bkname 图书类别 Characters(256) 256
Bkkind 图书类别书 Int

4. 概念模型设计

5. 逻辑结构设计

6. 数据库物理设计

7. 数据库实施

7.1 各表展示

图书表

学生表

图书种类表

管理员表

借阅表和归还表初始为空

7.2 查询

7.3 更新

学生借阅图书

变更后借阅表增加一条记录

管理员变更图书数量

变更前

变更后

7.4 删除

管理员删除学生

8. 设计总结

设计本数据库耗费了我们两个人大量的时间和精力。从刚开始的寻找课题到需求分析再到后面一系列的设计与数据库的实施和完善都需要两个人的通力合作。虽然我们一开始就做好了也项作业肯定是不容易的准备,可是还是没有想到会遇到那么多的困难。例如,需求分析时两人的意见不统一;数据库代码实现时不知道如何连接数据库等等许多问题。但是我们最后在合作的情况下终于克服了重重困难完成了数据库的设计与实施。至于我们两个人任务分工情况——基本的每个步骤都有共同参与。值得一提的是数据库VC访问的代码部分我们首次采用了工程的设计方式(以前设计程序都是直接全部放在一个源文件下)。采用工程设计更加方便我们的分工合作并且也让项目结构和逻辑更清晰。

对于我们本次设计的数据库,设计之初我们做了详细的讨论,仔细分析了需求并且在开始编写程序之前手绘了功能蓝图,这样让我们在进行设计数据库和编写程序时思路更清晰节省了大量的时间。这一点在以后课程学习中可以借鉴——首先要知道自己的目的,这样才能提高效率。同时我们深刻地理解了“1+1>2”的含义,每个的想法可能都有局限性,这个时间我们就需要和别人交流这样才能取得更好的效果。

虽然我们在这个图书馆管理系统上耗费了大量的心血,但是由于我们能力的有限和时间的仓促,因此它还是有很多不足的地方,例如在图书与学生多对多关系的处理上应该增加联系的属性来增强系统的可用性;在程序设计时应该考虑用户的实际使用体验增加GUI界面等等。

总之,完成这个数据库的设计让我们学习到了很多东西,同时也让我们认识到自己的不足和前进的方向。我们以后一定端正学习计算机的态度努力学习,争取为我国的计算机事业做一份贡献。

9. 部分核心代码展示

主函数

登陆检查

查询

更新

删除

数据库原理——图书馆管理系统相关推荐

  1. 简单文件数据库-模拟图书馆管理系统

    题目要求 编写一个程序模拟图书管理系统.用户分为管理员和读者两类,分别显示不同文本格式菜单,通过菜单项对应数字进行选择.读者菜单包括借书.还书.查询等功能.管理员菜单包括图书和读者信息录入.修改和删除 ...

  2. 实验总结:Java+oracle数据库实现图书馆管理系统

    1  绪论. 1.1 开发背景. 1.2 开发目的和意义. 1.2.1 开发目的. 1.2.2开发意义. 2  系统分析. 2.1 需求分析. 2.2 可行性分析. 3  系统概要设计. 3.1 数据 ...

  3. php图书馆管理系统的设计与实现毕业设计-附源码

    摘 要 大数据时代下,数据呈爆炸式地增长.为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势.在图书馆的要求下,开发一款整体式结构的图书馆管理 ...

  4. 程序设计-模拟图书馆管理系统

    -------------------- 600行!文件读入!简单!C语言也能写! 大家好鸭,我又来更文啦(逃. 貌似现在写这个的话,应该没有多少同级的会看了,所以应该时写给下一级的学弟学妹的. 然后 ...

  5. 程序设计基础课程设计—模拟图书馆管理系统

    个人博客地址:https://travis1024.github.io/ 简单文件数据库-模拟图书馆管理系统 1. 问题描述 编写一个程序模拟图书管理系统.用户分为管理员和读者两类,分别显示不同文本格 ...

  6. ThinkPHP+基于ThinkPHP的图书馆管理系统 毕业设计-附源码311833

    图书馆管理系统的设计与实现 摘 要 大数据时代下,数据呈爆炸式地增长.为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势.在图书馆的要求下,开 ...

  7. 数据库原理—数据库管理系统的功能和特点(四)

    数据库原理-数据库管理系统的功能和特点(四)

  8. 图书馆管理系统的数据库设计

    图书馆管理系统的数据库设计 --学生表 CREATE TABLE stu_info( --学号 stu_num varchar(10) primary key, --姓名 stu_name varch ...

  9. java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件

    java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件 java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件 本源码技术栈: 项目架构:B ...

  10. 计算机毕业设计Java阿博图书馆管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java阿博图书馆管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java阿博图书馆管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S ...

最新文章

  1. HDU2112(SPFA算法)
  2. [C++] 指向常量的指针 VS 指针类型的常量
  3. java.lang.StackOverflowError 解决方法
  4. JavaScript中的this的指代对象详解
  5. 汇编语言随笔(6)-大小写转换与实验6(双重循环:需要保存cx值)
  6. 第十八讲 傅里叶变换
  7. C#调用百度地图API入门解决BMap未定义问题
  8. 【观点】微博的弊端和它的真正意义
  9. js 怎么使一个absolute覆盖在父类上面_JS基础-完美掌握继承知识点
  10. html input自动获取光标位置,HTML contenteditable 标签里怎样获取光标像素位置?
  11. 《深度学习Python实践》附录——决策树模型可视化
  12. ...三个点es6用法
  13. NODDI在临床研究中的应用
  14. 赵伯平--警惕台湾的企业管理垃圾!
  15. 北京航空航天大学计算机学院保研,北京航空航天大学计算机学院(专业学位)计算机技术保研...
  16. 软件测试mysql数据库相关操作
  17. c语言字符串中字母降序数字升序,将字符串以ASCII码降序排列
  18. 用Java写微信红包实现模拟微信发红包
  19. 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
  20. 泰坦尼克号预测如何做到Kaggle排名前2%

热门文章

  1. beanshell字符串替换_Beanshell语法
  2. 求助ReportMachine报表,收集ReportMachine资料
  3. 2021考研英语备考规划
  4. itil 容量管理流程_ITIL的十个核心管理流程
  5. 财智家庭理财V6.0(序列号完美破解版)
  6. 本科生毕业论文中期检查表
  7. Android-MeasureSpec那些事 1
  8. UEFI原理与编程(七):包及.dsc、.dec、.fdf文件
  9. Java字符串查找第一个不重复字符_java如何实现获取字符串中第一个出现不重复的字符...
  10. iOS ApplePay paymentData 加解密 (待续)