数据库原理——图书馆管理系统

图书馆管理系统设计报告

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学生IDCharacters(256)256
Aid管理员IDCharacters(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图书IDCharacters(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. 概念模型设计

img

5. 逻辑结构设计

6. 数据库物理设计

img

7. 数据库实施

7.1 各表展示

图书表

img

学生表

img

图书种类表

img

管理员表

img

借阅表和归还表初始为空

7.2 查询

img

7.3 更新

学生借阅图书

img

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

img

管理员变更图书数量

img

变更前

img

变更后

img

7.4 删除

管理员删除学生

img

img

8. 设计总结

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

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

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

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

9. 部分核心代码展示

主函数

img

登陆检查

img

查询

img

更新

img

img

删除

img

  • 24
    点赞
  • 290
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
好的,下面我来为你介绍一下如何进行图书管理系统的数据库课程设计。 首先,我们需要确定系统主要功能,包括图书信息管理、读者信息管理、借阅管理、归还管理、逾期罚款管理等。 然后,我们需要设计数据库的表结构。针对上述功能,我们可以设计以下表: 1. 图书信息表(Book):包括图书编号、图书名称、作者、出版社、出版日期、价格、简介等字段。 2. 读者信息表(Reader):包括读者编号、姓名、性别、联系方式、借书数量等字段。 3. 借阅信息表(Borrow):包括借阅编号、读者编号、图书编号、借阅日期、归还日期、借阅状态(已借/已还)等字段。 4. 逾期罚款表(Fine):包括逾期编号、读者编号、逾期天数、罚款金额等字段。 接下来,我们需要确定表之间的关系,如下: 1. 图书信息表与借阅信息表是一对多的关系,即一本图书可以被多个读者借阅,但一个借阅记录只对应一本图书。 2. 读者信息表与借阅信息表是一对多的关系,即一个读者可以借阅多本图书,但一个借阅记录只对应一个读者。 3. 借阅信息表与逾期罚款表是一对一的关系,即一个借阅记录只对应一个逾期罚款记录。 最后,我们需要进行数据的插入、查询、修改、删除等操作,以验证数据库设计的正确性和可行性。 以上就是图书管理系统的数据库课程设计基本流程,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值