图书管理系统(Java实现,十个数据表,含源码ER图,超详细报告解释,2020.7.11更新)威海云博客

2020.7.11修改了表的结构,表之间增加了外键联系,更加完整且符合第三范式。

数据库设计实验报告

本系统是一个针对学校的网上图书馆借还系统,通过网络,学生可以很轻松的查询某些书籍是否可以借到,并且还可以通过网络续借书籍。管理员可以通过该系统很容易的将书籍信息存储到数据库和查询学生的借还情况,并且通知那些逾期的学生尽快归还或者续借。超级管理员则对学生和管理员的信息进行修改,或者增加用户。用户必修用户名和密码相互匹配正确后才能登陆成功,然后在进行相应的操作。对于非法操作,该系统有识别作用。

未命名文件(2)

系统主要结构功能如下:

名字:书籍信息表

名字:学生信息表

描述:数据库中学生信息表各字段的集合,包括学号,姓名,学院编号,性别,出生日期,身份证号码,手机号码

名字:学生账号信息

描述:数据库中学生账号信息表各字段的集合,包括学号,密码,密保问题,密保答案,剩余可以借次数

名字:学生预约

名字:学生借书

名字:学生还书

名字:管理员信息

描述:数据库中管理员信息表各字段的集合,包括工号,名称,性别,手机号码,email,身份证号码

名字:管理员账号信息

描述:数据库中管理员账号信息表各字段的集合,包括工号,密码,密保问题,密保答案

名字:超级管理员信息

描述:数据库中超级管理员信息表各字段的集合,包括工号,姓名,性别,手机号码,身份证号码,email

名字:超级管理员账号信息

描述:数据库中超级管理员账号信息信息表各字段的集合,包括工号,密码,密保问题,密保答案

名字:用户信息

描述:数据库中账户信息以及账户类型,包括工号/学号,用户类型。

数据库关系图

经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。

学生信息:存放学生信息。包括学号,姓名,班级编号,性别,出生日期,身份证号码,手机号码

学生账号信息:存放学生账号信息。包括学号,密码,密保问题,密保答案,剩余可以借的次数。

管理员信息:存放管理员信息。包括工号,姓名,性别,手机号码,身份证号码,email。

管理员账号信息:工号,密码,密保问题,密保答案

超级管理员信息:工号,姓名,性别,手机号码,身份证号码,email

超级管理员账号信息:工号,密码,密保问题,密保答案

职工信息:工号/学号,职位

书籍实体:

学生信息实体:

学生账号实体:

学生预约实体:

学生借书实体:

学生还书实体:

管理员信息实体:

管理员账号实体:

超级管理员信息实体:

超级管理员账号实体:

职工信息:

所有实体的联系:

将E-R图转换成的关系模式如下:

学生信息(学号,姓名,校区编号,性别,出生日期,身份证号码,手机号码)

学生账号信息(学号,密码,密保问题,密保答案,剩余可以借次数)

管理员信息(工号,名称,性别,手机号码,email,身份证号码)

管理员账号信息(工号,密码,密保问题,密保答案)

超级管理员信息(工号,姓名,性别,手机号码,身份证号码,email)

超级管理员账号(工号,密码,密保问题,密保答案)

职工信息(工号/学号,职位)

(Login)

(ForgetPassword)

(Student,StudenOrder)

预约情况

(StudentAppointment)

(StudentBorrow)

HandleBorrow//查询借书情况**if**(i==1){Stringsql="selectbook.bno,bname,bauthor,btranslator,bpublish,bsort,sborrow,soverdue"\+"fromstudentborrow,bookwherestudentborrow.bno=book.bnoandsno='"\+num+"'orderbysborrowdesc";Statementstat=con.conn.createStatement();ResultSetres=stat.executeQuery(sql);ArrayList\list=**new**ArrayList\();**while**(res.next()){bookbook=**new**book();book.setNo(res.getString(1));book.setName(res.getString(2));book.setAuthor(res.getString(3));book.setTranslator(res.getString(4));book.setPublis(res.getString(5));book.setSort(res.getString(6));book.setTime(res.getDate(7));book.setOrderTime(res.getString(8));list.add(book);}还书情况

(StudentReturn)

HandleReturn**if**(i==1){Stringbno=fromClient.readUTF();Stringtime=fromClient.readUTF();Statementstat=c.conn.createStatement();Stringsql="selectsnofromstudentorderwheresno='"+sno\+"'andbno='"+bno+"'";ResultSetres=stat.executeQuery(sql);**if**(res.next()){**int**te=2;//已经预约toClient.writeInt(te);}//更新预约**else**{sql="insertintostudentorder(sno,bno,sorder)values(,,)";PreparedStatementpre=c.conn.prepareStatement(sql);pre.setString(1,sno);pre.setString(2,bno);pre.setString(3,time);pre.executeUpdate();sql="begintranss"\+"updatebooksetbstock=bstock-1wherebno="\+"if\@\@error!=0rollbacktransselsebegin"\+"updatebooksetbacount=bacount+1wherebno=end"\+"if\@\@error!=0rollbacktransselsebegin"\+"updatestudentacountsetsstats=sstats-1wheresno=endcommittran"\+"if\@\@error!=0rollbacktranss";pre=c.conn.prepareStatement(sql);pre.setString(1,bno);pre.setString(2,bno);pre.setString(3,sno);pre.executeUpdate();toClient.writeInt(1);pre.close();}预约书籍

(BookInformation)

HandleCancel(对应bookimformation)//查询预约信息sql="select\*fromstudentorderwheresno='"+sno+"'andbno='"+bno+"'";//取消预约sql="begintranss"\+"deletefromstudentorderwheresno=andbno="\+"if\@\@error!=0rollbacktransselsebegin"\+"updatebooksetbstock=bstock+1wherebno=end"\+"if\@\@error!=0rollbacktransselsebegin"\+"updatestudentacountsetsstats=sstats+1wheresno=endcommittran"\+"if\@\@error!=0rollbacktranss";6.2.3管理员界面管理员端界面

(Admit)

(ChangBookInformation)

(StudentInformation)

(Mstudent)

HandleStudent(对应StudentInformation)Stringsno=fromClient.readUTF();Stringbno=fromClient.readUTF();Stringsql="select\*fromStudentInformation"\+"wheresno="+sno+"";Statementstat=con.conn.createStatement();sql="select\*frombookwherebno='"+bno+"'";6.2.4超级管理员界面超级管理员界面

(superAdmit)

添加、修改管理员信息

(information)

(yijiaoquanxian)

(changepassword)

HandlePassword(对应changpassword)修改密码:分别对应学生,管理员,超级管理员"updatestudentacountsetspassword="+"wheresno=""updateadmitacountsetapassword="+"whereano=""updatesuperadmitacountsetspassword="+"wheresno="修改密保

(changequestion)

HandleQuestion(对应changQuestion)此处只列举了修改学生"begintransavupdatestudentacountsetsquestion=wheresno="\+"if\@\@error!=0rollbacktransavelsebegin"\+"updatestudentacountsetsanswer=wheresno=endcommittran"+"if\@\@error!=0rollbacktransav"7.项目总结7.1数据库设计首先需要对数据库进行需求分析。在这一步的时候,要详细考虑到各个功能的实现,以及不同成员之间的联系。一定要考虑周到,不然在之后的过程会有很大的困难。在这一步中,参考了某些图书馆的网上图书管理系统,分析他们的需求与功能。再结合当下疫情实际情况分析,最后给出总需求,画出各部分流程图以及系统流程图。

设计概念结构,对用户的需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型。画出ER图。

根据ER图转换成关系模式。在SQLSERVER中建立对应的数据库以及数据表。详情请见建表代码。

服务端的主要问题就是在于如何与客户端建立起socket连接,并且实现各种不同需求的监听处理。在每一个处理中,要和数据库进行连接,并且采用sql语句对数据库进行修改。主要使用Statement或者PreparedStatement接口执行sql语句。这一部分加深了我对jdbc的理解,以及学会了它的使用方法。

服务器界面:

下面的服务器端的部分代码:

与客户端建立连接并处理请求:

链接数据库:

查询信息:

因为代码质量比较一般,因此大大小小的bug其实有挺多的。最常见的bug就是sql语句的错误,导致的服务端崩溃。因为sql语句有很多引号,以及查询条件什么的不清楚,导致数据库无法查询就会引起崩溃。

更多的bug就是在GUI界面设计的时候的一些文字格式,文本框大小,各个按钮等的整体布局。如果没有调试好会导致部分不显示之类的bug。

徐云彪编著.数据库原理与技术[M].浙江:浙江大学出版社,2002:23-59.

陆晶编著.Java程序设计[M].北京:清华大学出版社,2002:10-136.

孙元编著.Java语言SQL接口[M].北京:清华大学出版社,1997:3-59.

苗春义著.Java项目开发全程实录[M].北京:清华大学出版社,2008:45-159.

希尔伯沙茨著.数据库系统概念[m].北京:机械工业出版社,2012:28-157

这个项目是初学Java开发和数据库做的一个项目,整体代码质量不是很高。但是程序是能够完美运行的,而且不存在什么bug。要注意的修改与数据库连接的端口号,以及数据库的账号和密码。还有创建表的时候要注意表的信息完整性,不然会出现线程错误。

THE END
1.UML知识手把手教你用例图用例图可以作为与用户讨论和验证需求的工具,确保开发的功能符合用户的期望和业务目标。 风险管理: 通过早期识别和定义系统的功能,用例图有助于识别项目风险,如需求不明确、功能过于复杂等。 维护和演化: 在系统的维护和演化阶段,用例图可以帮助新团队成员快速理解系统的现有功能和结构。 https://www.ctyun.cn/zhishi/p-449758
2.ER图的绘制图书管理系统er图怎么画文章介绍了E-R图的基本元素,包括实体、属性和联系,以及它们的表示方法。在图书借阅系统的实例中,确定了图书和学生的实体属性,如书号、借书证号、作者和专业等。图书和学生之间建立了一个多对多的借阅联系,包含索书号和借阅时间属性。最后,给出了图书和学生的E-R图设计。 https://blog.csdn.net/zwjgod/article/details/130476913
3.图书馆管理系统er图图书馆管理系统er图 1、要了解ER图的核心要素:实体,属性,关系,实体就是一个个对象,比如猫,属性就是实体所有的某个属性,比如猫的性别,关系就是实体和实体之间或者实体内部之间的关系。 2、要了解ER图中怎么表示1中描述的三个核心要素:在ER图中矩形代表实体,椭圆代表属性,菱形代表关系,各个形状之间用线段连接。 https://www.zboao.com/cgal/9078.html
4.图书管理系统er图图书管理ER图 免费 使用模版 图书管理ER图 免费 使用模版 图书管理ER图 免费 使用模版 图书管理系统er图 会员免费 使用模版 图书管理er图 免费 使用模版 图书管理er图 免费 使用模版 图书管理er图 免费 推荐分类 流程图组织架构图模型图思维导图图表图形分析画布示意图UML图路线图时间轴E-R图鱼骨图关系图概念图韦https://imiaoban.com/pic/8135.html
5.图书数据库的ER图怎么画图书数据库的ER图怎么画-优选内容 数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题 字节跳动基础架构-计算-流式计算团队联合发表在国际数据库与数据管理顶级会议 VLDB 2023 上的论文“StreamOps: Cloud-Native Runtime Management for Streaming Services in ByteDance”,介绍字节跳动内部基于数https://www.volcengine.com/theme/885696-T-7-1
6.图书管理系统ER图(共6页)二、系统功能需求分析图书馆管理系统读者管理图书管理图书流通管理读者信息管理图书信息管理图书借阅图书归还需求结构说明:图书馆管理系统的功能目标分成三块:读者信息管理,图书信息管理,图书流通管理,其中图书流通管理下设两个分功能,即图书借阅和图书归还。下面我们对上面的需求结构图的四部分功能进行展开。1)读者信息管理https://www.renrendoc.com/paper/181044950.html
7.图书借阅管理系统ER图流程图模板图书借阅管理系统是一种用于管理图书馆或其他图书借阅机构的软件系统。它涉及图书的登记、分类、检索、借阅、归还等各个环节,并提供了一系列工具和功能,以便图书管理员和读者能够更有效地管理和利用图书馆的资源。ER图是与团队成员、业务用户以及其他利益相关者进行沟通的有效工具,促进共识和理解。图书借阅管理系统ER图中https://www.processon.com/view/665dd182d2a23b2b2a52fe6a
8.mysql图书管理er图图书管理数据库系统er图mysql图书管理er图 图书管理数据库系统er图 数据库ER图 ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。 ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(https://blog.51cto.com/u_16099185/8995255
9.数据库图书馆实例ER图及业务流程数据库图书馆实例ER图及业务流程_数据库管理系统er图实例,图书馆数据库er图 Ke**in上传140.23 KB文件格式rar数据库数据库管理系统er图实例 数据库图书馆实例,有ER图,业务流程图等文件级SQL程序语句。 (0)踩踩(0) 所需:1积分https://www.coder100.com/index/index/content/id/1066926
10.4.2图书借阅系统数据库设计MySQL腾讯云开发者社区- 评论 对图书有话说,可以点击评论、打分,会发给管理员进行审批,审批通过后,会在图书下公共展示该评论。 个人中心 代码语言:txt 复制 - 个人信息展示 - 我的借阅 - 我的收藏 - 修改密码、密记密码 1.4 数据流图 待补充 二、概念结构设计 说明:主要抽象出系统实体,并采用E-R模型进行设计 https://cloud.tencent.com/developer/article/2266828
11.物流实训报告3000字(通用15篇)经过一个学期的(物流信息系统)的学习,对信息系统的定义、基本功能和各个信息流程有了一定理论了解,为了以后那更好的适应学习和工作,学校给我们物流管理专业的同学安排了为期一周内的实训(物流实训基地),以便于我们更好的掌握物流信息系统作业、建立概念模型(主要是画出E-R图)建立数据库(SQL)创建基本表(SQL)系统前台https://www.ruiwen.com/baogao/6251172.html
12.图书馆管理系统结构图.docx图书室管理系统构造图主界面管修离库关退图图消除信息 退出系统读者注册和登记系统录入读者信息注册 消除 退出图书室管理系统构造图图书室管理系统构造图8 / 11图书室管理系统构造图读者删除系统读者删除或改正读者信息原始信息 新信息图书室管理系统构造图图书室管理系统构造图9 / 11图书室管理系统构造图修改删除https://www.taodocs.com/p-614331676.html
13.图书管理系统数据模型ER图罚款信息表:借阅证编号,读者姓名,图书编号,图书名称,罚款原因,罚款金额,罚款日期,操作员姓名。 管理员信息实体 E-R 图 读者信息实体 E-R 图 书籍类别信息实体 E-R 图 书籍信息实体 E-R 图 借阅信息实体E-R图 总的ER图: (二)建立功能模型 建立系统的功能模型(数据流图),定义软件应完成的功能。图书管理https://wenku.baidu.com/view/f849b8d44593daef5ef7ba0d4a7302768f996f5b.html