图书管理系统的设计与实现论文内容摘要:

ud_no 学生学号 int 4 是 stud_name 学生姓名 varchar 50 否 stud_password 学生登录时密码 char 20 否 stud_tel 学生电话号码 varchar 50 否 stud_ 学生电子邮件 varchar 50 否 stud_yearid 学生入学年份 int 4 否 stud_dept 学生所属于院部 varchar 50 否 stud_dormit 学生宿舍 varchar 50 否  图书管理员信息表 (admin) 学生信息表的结构如表 33 所示。 表 33 图书管理员信息表 字段名 描述 类型 长度 是否主键 admin_id 管理员 ID int 4 是 admin_name 管理员姓名 varchar 50 否 admin_password 管理员密码 char 10 否 图书 查询模块数据库设计 1) 数据库设计的需求分析 当学生或其他用户进入图书管理网站首页时,就拥有一个普通用户所拥有的权限,可以查询当前图书馆所有图书,也可以根据自己的要求去查 13 询具体某个图书。 而当学生登录以后,就可以查询自己已借阅的图书的信息。 我设计了 4 张表来实现这些操作。  学生信息表:存放学生的基本信息的表。  图书借阅信息表:存放了学生借阅图书的信息,包括学生借书证号,图书编号,借阅日期。  借阅证表:存放借阅证的信息,包括借书卡号和学生学号。  图书信息表:存放了图书的基本信息的表。 表的关系如图 31 所示。 图 31 查询模块表关系图 2) 表的结构设计  图书信息表( student) 图书 信息表的结构如上表 34 所示。 表 34 图书信息表 字段名 描述 类型 长度 是否主键 book_id 图书编号 int 4 是 book_name 图书名 varchar 50 否 book_type 图书类别 varchar 50 否 book_author 图书作者 varchar 50 否 book_press 图书出版社 varchar 50 否 14 表 34 图书信息表 book_pressday 图书出版日期 varchar 50 否 book_price 图书价格 char 50 否 book_stock 图书库存 int 4 否 book_info 图书介绍 varchar 4000 否 book_pic 图书图片 varchar 500 否  借阅证表( card) 借阅证信息表的结构如表 35 所示。 表 35 借阅证信息表 字段名 描述 类型 长度 是否主键 card_id 借阅证 ID int 4 是 stud_no 学生学号 int 4 否 card_exist 是否注销 int 4 否  借阅信息表( borrowinfo) 借阅信息表的结构如表 36 所示。 表 36 借阅信息表 字段名 描述 类型 长度 是否主键 book_id 图书编号 int 4 是 borrow_day 借阅时间 varchar 50 否 card_id 借阅证号 int 4 否 图书修改模块数据库设计 1) 数据库设计的需求分析 在一个图书管理系统中,对图书的修改只能由图书管理员来操作,所以设计了一个管理员权限。 对图书的修改包括新图书的入库,图书的删除,添加图书库存。 当学生借书还书时,对图书库存的 进行修改。 需要用到 5 张表。 15  图书管理员表 :用于存放管理员的帐号的表,包括管理员的管理员姓名,管理员 ID 号,登录密码。  学生借阅证表:存放学生办理的借阅证的信息。 包括学生学号和借阅证号。  图书信息表:存放了图书的基本信息的表。  图书借阅信息表:存放了学生借阅图书的信息,包括学生借书证号,图书编号,借阅日期。  图书归还信息表:存放了学生借阅图书的信息,包括学生借书证号,图书编号,还书日期。 2) 表的关系如图 32 所示。 图 32 图书修改模块表关系图 3) 表的结构设计  图书管理员表( admin) 学生信息表的结构如上表 33 所示。  学生借阅证表( card) 16 借阅证表的结构如上表 35 所示。  图书信息表( book) 图书信息表的结构如上表 34 所示。  图书借阅信息表( borrowinfo) 学生借阅信息表的结构如上表 36 所示。  图书归还信息表( returninfo) 学生借阅信息表的结构如表 37 所示 表 37 归还信息表 字段名 描述 类型 长度 是否主键 book_id 图书编号 int 4 是 return_day 借阅时间 varchar 50 否 card_id 借阅证 ID int 4 是 17 第四章 图书管理系统的模块设计 图书管理系统框架设计 主页面的设计 主页面服务的对象是所有用户,不论注册与否,用户都有权利对图书进行查询。 普通用户具有最初级的权限。 网页是用户用来浏览信息的最佳网络途径,本系统首页首先设计了一个导航栏供用户来选择操作,可以选择登录,查阅图书,公告。 只要没有超过普通用户权限的页面,普通用户都可以浏览。 若登录非普通用户权限页面系统会自动跳转到访问此页面需要权限的登录页面。 图书公告从数据库在读入,并按时间显示最近发布的 10条图 书信息。 作为一个普通用户,也可以浏览查阅图书馆里的图书。 可以根据自己的需要搜索自己需要的图书,并获取这些图书的基本信息。 首页图书的信息用动态图片显示。 点击此图书图片时会从数据库中查询到有关该本图书的资料信息,也可以根据需求查阅该类图书的信息。 如图 41 所示: 图 41 系统首页面 18 页面上显示图书的图片以及该图书的类别从数库中获取,点击图片可以查询该图书的信息,点击图书类别可以查询此类所有的图书。 实现代码如下: ResultSet rs=(select * from book where book_type like 39。 book_type39。 )。 if(()) { String book_id=(book_id)。 String book_type=(book_type)。 String img=(book_pic)。 } 学生界面的设计 当学生登录后会跳转到学生具有操作的页面,包括学生个人信息的修改与借阅图书的查询。 如图 42所示。 图 42 学生登录后的管理界面 学生登录,不但可以拥有普通用户的权限,而且可以查询自己所借阅图书的信息。 并可以更改个人资料信息,以及对图书借阅证进行注销。 在页面上利用一个 session 对象的 getAttribute 方法来获得学生的学号和姓名。 实现代码如下: (inputstud_no1) //获取学号 19 (inputstud_name) //获取姓名 管理员登录后会转到管理员界面,管理员就可以对图书信息、学生帐号进行管理。 页面如图 43所示。 图 43 管理员登录管理页面 管理员拥有更多的权限,学生图书的借阅、归还、办证,图书的入库、添加等等全部由管理员完成,也就是说只有管理员才有权限对数据库进行直接的操作,这大大的保证了系统的安全性。 管理员登录时,把管理员的信息存储在 session里。 然后 利用一个 session 对象的 getAttribute 方法来获得管理员的帐号和姓名。 实现代码如下: (adminid) //获取管理员 ID (adminname) //获取管理员姓名 帐户管理模块设计 1) 学生信息管理 学生登录以后可以对自己个人登记的基本信息,登录密码等进行修 20 改。  信息修改:在通过 JDBC 连接了数据库后,所需做的工作就是传输一个 SQL 语句来执行这个修改操作。 在传输修改信息之前传输一个查询语句来验证 主键存在。 然后在通过 ()来获取存储起来的学生登录信息,若该 session 对象值不为空,那么可判断学生登录了,可以进行操作。 代码如下: If ()!=null { Select Colname from Table where Condition If (()) Insert into Table values( Colvalues) } 图 44 学生信息管理 2) 借阅证管理 学生在注册完帐号后,到图书馆借书就需要借阅证借书。 管理员管理借阅证的办理。  借 阅 证 办 理 : 办 理 借 阅 证 之 前 先 获 取 管 理 员 的 帐 号 ,Admin_id==null,返回 0,否则返回 1。 在办理借阅证之前还要检查学生有没有注册。 若在 student 表中查询到注册信息则办理借阅证,并把借阅证信息插入到 card 表中。 并自动分配一个借书卡号。 (admin_id) 21 If(admin_id==null) Return 0 Else{ Selec t Colname from Table w here Condition If (()) Insert into Table values( Colvalues) } 办理借阅证页面如图 45 所示。 图 45 借阅证办理界面 3) 借阅证挂失 借阅证挂失时,为了获得已登录学生的借阅证号,先通过 session 获取学生的学号,再通过学号查询到对应该学号的借阅证号。 把借阅证信息表 card_exist属性设置 为 0。 注销以后无法借阅归还图书,必须激活帐户以后才能进行操作。 实现代码如下: select * from card where stud_no=39。 +stud_no+39。 if(()){ //借阅证号存在 int a=(card_exist)。 { if(a==1) //若借阅证未注销,则注销 update card set card_exist=0 where stud_no=39。 +stud_no+39。 } else //若已经注销了,则返回 Return } 挂失页面如图 46 所示。 22 图 46 借阅证挂失图 用户(包括学生和管理员)登录后才能获得权限来操作页面。 在该模块中主要实现了学生(管理员)的登录,退出。  实现学生(管理员)登录就是验证用户所输入的信息是否存在于数据库相应的表中。 不存在返回错误信息,存在页面就跳转到其管理权限页面。 并 获 取 相 应 session 对 象 以 判 断 其 管 理 权 限。 退 出 时 调 用()来删除 session,达到彻底退出的目的。 实现效果图如 47 所示 图 47 用户登录页面 23 查询模块 查询模块分为三部分,即三种权限下的查询:未登录用户,学生登录后的查询,管理员登录的查询。 1) 未登录用户 进入图书管理系统首页后,作为一个普通的用户,可以查询图书的基本信息。 由于没有登录所以系统不能获取用户的信息,所以在系统下的不能获取个人的信息。 普通用户的基本查询权限是查询所有图书、精确查询、模糊查找。 查询功能是由 SQL 的 Select 语句来实现。 精确查询是根据图书的具体属性值来查询。 而模糊查询则通过 %来检索图书有多个字段的图书。 这个设计是出于读者的考虑,方便了读者。 如图 48 所示。 图 48 图书模糊查询页面 实现代码如下: select * from book where +select+ like 39。 %+keyword+%39。 and +select1+ like 39。 %+keyword1+%39。 and +select2+ like 39。 %+keyword2+%39。 2) 学生登 录查询 学生登录以后不仅拥有普通用户的查询权限,还可以查询自己所借阅 24 图书的信息。 登录信息用 session 对象保存学生的登录学号。 在查询个人借阅信息时获得存放 session 对象,通过连接 student,book,card,borrowinfo 这4 张表来获取所借阅图。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。