二、功能设计
2.1 数据库设计
2.1.1 需求分析
(1)系统任务
我们所要做的是一个高校图书馆藏书借阅系统,用于读者对图书的检索、浏览、借阅。因此,需要的功能包括对图书的检索查询、借阅、预约、续借、安全性保障。

而在拓展功能板块,我们的考虑为以图书为中心建立起图书与图书之间的关系,图书与人之间的关系,以图书为中心的推荐系统强调的是如何建立起有效的链接关系。

(2)有需求的用户组成
对此系统有需求的用户是有浏览、借阅图书需求的读者——由教师、学生、普通游客组成。其中,教师、学生是有借阅/预约图书资格的用户,而且借阅权限有所不同;普通游客是那些非本校的、可以浏览、检索此系统所藏图书而没有借阅和预约资格的用户。

(3)用户的信息要求
教师与学生使用此系统主要用于检索、浏览、借阅图书,包括查询书目信息,借书、还书,预约与续借。教师与学生为获得借阅资格,需要在此系统上进行用户注册并登陆,然后通过检索,并根据每本书的书目信息——其ISBN、标题、摘要、封面图、出版者、出版年份、中图法的图书分类号、价格来确定所借阅的图书。

教师与学生还有对自身用户状态的信息需求,包括借阅记录、预约记录、信用值、是否被罚款等。
同时,还有对所需图书的借阅状态的信息需求,比如只有知道此书是否已被他人预约而确定能否续借等。额外的需求还有图书推荐等。

普通游客不需要进行用户注册和登陆,只是浏览,其需求包括了解此系统内所含图书的大体信息,比如标题、封面图、摘要等从而了解馆藏的大致情况。

(4)系统边界
对此系统的人工操作包括供图书馆管理员操作的图书的录入,新用户的等级,图书的修改,用户的修改等,而数据库管理员拥有上述的所有权限,并且能够定义用户的权限等。总体而言,DBA拥有对于系统的全部掌握。

2.1.2 概念结构设计
首先分析数据库描述的主要对象中有哪些实体,最主要的便是书和用户,此外还有拥有最高操作权限的数据库管理员。

书和用户存在着:借阅、(反复)预约关系

借阅会有如下情形:按时归还与逾期还书、丢失、续借

预约则有如下要求:

仅能在到期时间前5天进行续借

如果此书已被人预约,则不可续借

多人续借同一本书则按照预约时间进行排队

特别注意的地方:

作者和译者本是书的两个属性,但是现实中存在一本书存在多个作者和译者的情形,所以需要单独为作者和译者建立一个表(由于作者和译者没有属性上的差别,且同一个人既可能是作者有可能是另外书籍的译者),另外建立书-作者表和书-译者表

图书有ISBN号作为同一版本同一书籍的唯一标识码,但是图书管中存在同一本书的多个复本,由此建立书目表和复本表。书目表记录同一书籍的书目信息,复本表记录各个复本的流通情况

用户分为三类:学生读者、教师读者、图书馆管理员。其中学生读者和教师读者的借阅权限有所不同;图书馆管理员可以修改学生和教师的权限,修改书目信息,但不能修改自己的权限;数据库管理员可以修改三类用户的权限和数据库的其它信息

完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:

https://www.write-bug.com/article/3156.html

[内附完整源码和文档] 基于ThinkPhp框架的高校图书馆藏书借阅系统相关推荐

  1. [内附完整源码和文档] 基于JSP的银行柜员业务绩效考核系统的设计与实现

    摘 要 当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料.能源.信息)之一.信息是管理的基础,是进行决策的的基本依据.在一个组织里,信息己作为人力.物力 ...

  2. 基于ThinkPhp框架的高校图书馆藏书借阅系统

    一.概述 使用了ThinkPHP,虽然本人觉得该框架实在有点反人类,但是也算是第一次使用PHP的框架.可以对于MVC有更深的理解. 前端界面 后台界面 登录后台的默认管理员是:2333333333,密 ...

  3. [内附完整源码和文档] 基于Android的手机音乐播放器的设计与实现

    摘 要 随着Android系统和移动互联网的快速崛起,手机已经成为人们生活不可缺的一部分,在现代人的生活中,人们生活节奏的加快,生活压力越来越大,碎片化的时间越来越多,那么一个可以在碎片化的时间内调节 ...

  4. 投票源码程序_[内附完整源码和文档] 基于JSP实现的影视创作论坛系统

    摘 要 随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评.解 ...

  5. java 最少使用(lru)置换算法_[内附完整源码和文档] 基于C#的可视化虚拟存储器管理(LUR算法)...

    一.目的要求 理解虚拟存储器概念,并掌握分页式存储管理地址转换和缺页中断的处理过程.用高级语言模拟请求分页式虚拟存储器的工作过程和页面置换算法LRU. 二.准备知识 2.1 分页式存储管理原理 在存储 ...

  6. [内附完整源码和文档] 基于JSP的网上订餐管理系统的设计与实现

    摘 要 随着科学技术与经济的快速发展,网络信息技术也有了显著的提升与进步,当今的社会是一个集数字化,网络化,信息化的,并且是以网络为核心的现代化社会.伴随信息互联网的高速成长,使得互联网应用也走进家家 ...

  7. [内附完整源码和文档] 基于JSP网上招聘系统的设计与实现

    摘 要 随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化.信息化的方向前进.有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活 ...

  8. [内附完整源码和文档] 基于Android网络聊天室的设计与实现

    前 言 随着我国科技水平的提高和移动通讯的飞速发展与普及,人们通过移动网络可做的事情越来越多,人们之间的沟通不在局限于面对面的对话,人们通过手机可以很方便的上网并通过手机上的APP进行聊天这样既节省话 ...

  9. [内附完整源码和文档] 基于Jsp的百货中心供应链管理系统

    摘要 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去.百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销 ...

最新文章

  1. LeetCode 6 Z字形变换
  2. 配置SpringCloud Config Client连上Config Server
  3. 成功解决ModuleNotFoundError: No module named ‘sklearn.lda‘
  4. My MPC系列·暴风影音 V5.00 RC3
  5. 多个服务器数据互通_3月21日部分服务器数据互通公告!
  6. Hbuilder常用快捷键功能.html
  7. JSP项目报错在build path里找不到javax.servlet.http.HttpServlet的解决方法
  8. Mysql编辑工具中使用(Navicat查询结果显示行号)
  9. zookeper安装_ZooKeeper的安装与部署
  10. static变量的作用(转)
  11. JavaWeb那些事儿(一)--为什么做java的web开发使用struts2,springMVC和spring这样的框架
  12. java学习日记-基础-列出2~100内的素数
  13. 【gflags】【gflags实践】【gflags的学习使用记录】
  14. 将货币转换为大写形式用c语言,C#:小写金额转换为大写
  15. 梯度下降,随机梯度下降,代码实现
  16. 纪念我的第一个程序员节
  17. 【编程实践】Python编程手册 《Python极简教程》
  18. cinta作业7:同态同构商群正规子群
  19. 2020.8.4课堂笔记(IO 缓冲流,对象流)
  20. Jmeter压力测试教程(上)

热门文章

  1. 教你如何学习思维导图
  2. 调用函数求三个数中的最大数
  3. 区块链技术在中小企业型的应用
  4. 树莓派-1、上手及资源
  5. CentOS7-命令-查看路由信息(ip route)
  6. 关于HTML字体出现模糊重影,点击后字体后变正常的情况与解决方法
  7. laravel excel 导出
  8. Cell:基于33个遗传多样性水稻种质泛基因组分析揭示“隐藏”的基因组变异
  9. 【力扣时间】【825】【中等】适龄的朋友
  10. 2017蓝桥杯B组国赛 瓷砖样式