1.系统功能设计
(1)信息录入功能
1)添加新图书信息。当图书馆收藏新图书时,系统向用户提供新图书信息录入功能,由于同一种书可能会有多本,因此,新图书的信息有两类:某一个ISBN类别的图书信息,包括:ISBN书号、图书类别、书名、作者、出版社、出版日期、价格、馆藏数量、可借数量、图书简介;另一个具体到每一本书的信息,包括:ISBN书号、图书书号、是否可借。每一个ISBN书号和同一个ISBN书号的多本书之间是一对多的关系,每一本书的图书书号是唯一的。
2)添加读者信息。用于登记新读者信息。包括:借书证号、姓名、性别、身份证号、职称、可借数量、已借数量、工作部门、联系电话等。
3)借阅信息。用于登记读者的借阅情况信息。包括:借书证号、借阅书号、借出日期、借阅期限、归还日期等信息。归还日期为空值表示该图书未归还。

(2)数据修改和删除功能
1)修改和删除图书信息。图书被借出时,系统需要更新图书信息的可借数量,当可借数量为0时,表示该图书都已被借出。当输入的图书信息有错误或需要进行必要更新时,可以修改图书信息;当一种图书所有馆藏图书都已损毁或遗失并且不能重新买到时,该图书信息需要删除。
2)修改和删除读者信息。当读者的自身信息发生变动,如部门间调动或调离本单位,或违反图书馆规定需要限制其可借阅图书数量时,需要修改读者信息。
3)还书处理。读者归还图书时,更新图书借阅信息表中的归还日期,读者信息表中的已借数量及ISBN类别信息表中该图书的可借数量。
(3)查询和统计功能
1)图书查询功能。根据图书的各种已知条件来查询图书的详细信息,如书名、作者、出版社、ISBN书号等支持模糊查询。
2)读者信息查询。输入读者的借书证号、姓名、工作部门等信息,查询读者的基本信息。对查询到的每一个读者,能够显示其未归还的图书编号和书名。
3)查询所有到期未归还的图书信息。要求结果显示图书编号、书名、读者姓名、借书证号码、借出日期等信息。
4)统计指定读者一段时间内的某类图书或所有类别图书借阅次数及借阅总次数。

2.数据表的创建
根据功能要求的说明创建下列数据表:
(1)图书ISBN类别信息表
图书ISBN类别信息表包括以下字段:
ISBN书号、图书类别、书名、作者、出版社、出版日期、价格、馆藏数量、可借数量、图书简介。
(2)图书信息表
图书信息表包括以下字段:
ISBN书号、图书书号、是否可借。
(3)读者信息表
读者信息表包括以下字段:
借书证号、姓名、性别、出生年月、身份证号、职称、可借数量、已借数量、工作部门、家庭地址、联系电话。
(4)借阅信息表(图书-读者关系)
借阅信息表包括以下字段:
借书证号、借阅书号、借出日期、借阅期限、归还日期。

3.数据库完整性设计
设计者应认真分析和思考各个表之间的关系,合理设计和实施数据完整性原则。
1) 给每个表实施主键及外键约束。
2) 设定缺省约束。如性别。
3) 设置非空约束如图书信息表中的书名。
4) 实施CHECK约束。如ISBN类别表中的可借数量小于馆藏数量。
5) 实施规则。如身份证号码必须为15为或18位。

4.SQL Server数据库对象设计
1)设计一个存储过程,以图书编号为输入参数,返回借阅该图书但未归还的读者姓名和借书证号。
2)读者资料查询:设计一个有多个输入参数的存储过程,返回读者的详细信息。设计另一存储过程并以读者借书证号为输入参数,返回该读者未归还的图书名称和图书编号。
3)到期图书查询:设计一个视图,返回所有逾期未归还的图书的编号、书名、读者姓名等信息。
4)统计图书借阅次数:设计一个以两个日期作为输入参数的存储过程,计算这一段时间内各类别图书被借阅的次数,返回图书类别、借阅次数的信息。
5)加快数据检索速度,用图书编号为图书信息表建立索引。
6)为读者信息表创建一个删除触发器,当一个读者调出本单位时,将此读者的资料从读者信息表中删除。注意实施业务规则:有借阅书的读者不得从读者信息表中删除。
7)借阅处理:为借阅信息表设计INSERT触发器,在读者借阅时更改ISBN类别信息表,且可借数量减1,图书信息表是否可借列的值变为“不可借”,读者信息表中该类读者已借阅数加1。
8)还书处理:为借阅信息表设计UPDATE触发器,在该表的归还日期列被更改后,将图书信息表的是否可借列的值变为“可借”,读者信息表中已借数量减1及ISBN类别信息表中可借数量加1。

图书管理系统功能设计相关推荐

  1. 图书管理系统-PHP大作业

    样式如下: 有详细的代码与说明书 ,由于代码文件太多在百度网盘中,链接在下方 摘  要 一. 图书管理系统功能设计 1.1开发工具 1.2数据库结构 表1-1 用户表 表1-2 图书表 表1-3 借阅 ...

  2. 实验四 图书借阅管理系统功能设计与实现

    实验四 图书借阅管理系统功能设计与实现 package com.bbm.view;import javax.swing.*;import com.bbm.db.BookDao;import java. ...

  3. 基于html+css+js的图书管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/86771863 资源下载地址:https://download.csdn.net/downl ...

  4. springboot+乡村图书管理系统 毕业设计-附源码191505

    基于java的乡村图书馆管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术 ...

  5. python+pyqt5+mysql设计图书管理系统(1)- 数据库

    一.概述 前面学习了python,pyqt和mysql的一些基础知识,接下来运用学习的东西进行实操制作一个项目--图书管理系统. 项目介绍: 图书管理系统对于我们的图书管理来说非常重要,管理图书者可以 ...

  6. 图书管理系统的设计与实现-毕业设计(论文)开题报告

    毕业设计(论文)开题报告 姓名 专业 计算机科学与技术 开题日期 2022.12.30 题目 图书管理系统的设计与实现 题目类型 理论研究□ 实验研究□ 应用研究□ 生产实践□ 工程设计□ 软件开发□ ...

  7. 基于JSP(java)图书管理系统的设计和实现(含源文件)

    获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 伴随着互联网的蓬勃发展,人们已经不再满足于信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利.掌握计算机知识和应用 ...

  8. 【附源码】计算机毕业设计SSM图书管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. 2020-07-03:简单的图书管理系统(Python、SQL Server)

    简单的图书管理系统 一.课题设计的基本内容 二.设计工具及系统运行环境 三.数据库设计E-R模型 四.软件主要功能设计(附上成品截图) 五.代码 一.课题设计的基本内容 经过对图书管理系统的分析,因图 ...

最新文章

  1. 不符合核销规则条件_1136家建筑企业资质核查不符合条件,复查合格率仅50
  2. sata接口_接口不同有啥区别?M.2和SATA接口SSD该选哪种?
  3. 【组织】请13级1/2/3班,14级1/2班 将同学们的博客地址列个清单回复(按班级来)...
  4. linux虚拟机安装oracle全过程(一)
  5. wordcloud库
  6. 简单实用的js调试logger组件
  7. 【经典回放】多种语言系列数据结构算法:归并排序
  8. 小菜:关于main方法的面试题
  9. uva 1451——Average
  10. 数据结构教程网盘链接_数据结构101:链接列表
  11. 对中级 Linux 用户有用的 20 个命令
  12. [原创] Wireshark工具培训
  13. php上传图片文件常用的几个方法
  14. PulseAudio VS AudioFlinger(七)
  15. java 代码走查_Java代码走查具体考察点
  16. 搭建STM32开发环境——STM32CubeMX并配合Keil5重写跑马灯程序
  17. 网站生成EXE文件运行——PHP网站打包工具PHPWAMP
  18. c语言键盘连续双击程序,“到处乱跑”的光标!简单的C语言程序: 在室友的计算机上尝试!...
  19. 极X客x时x间 《零基础学Python》视频教程分享
  20. AD18设计PCB时常见问题及操作

热门文章

  1. 企业老板学会整理申请icp许可证材料节省时间
  2. 【Tableau Desktop 企业日常技巧11】谈一谈度量和维度 离散和连续?
  3. [附源码]计算机毕业设计JAVA民宿客栈管理系统
  4. Kinect人脸识别系统—开发历程
  5. html表单判断字符数,JS判断字符串长度,结合element el-input el-form 表单验证(英文占1个字符,中文汉字占2个字符)...
  6. 对于Uncaught TypeError: Cannot set property ‘innerHTML‘ of null 的理解
  7. 定制68Ga放射性同位素标记医药中间体/小分子/多肽/抗体实验介绍及原则
  8. IPO:Impinj预计发行460万股普通股
  9. java计算机毕业设计计算机组成原理教学网站源码+mysql数据库+系统+lw文档+部署
  10. Redis故障检查:内存问题