图书馆书籍管理系统说明书(附代码)

上传人:第*** 文档编号:54911014 上传时间:2018-09-21 格式:DOC 页数:20 大小:1.01MB
返回 下载 相关 举报
图书馆书籍管理系统说明书(附代码)_第1页
第1页 / 共20页
图书馆书籍管理系统说明书(附代码)_第2页
第2页 / 共20页
图书馆书籍管理系统说明书(附代码)_第3页
第3页 / 共20页
图书馆书籍管理系统说明书(附代码)_第4页
第4页 / 共20页
图书馆书籍管理系统说明书(附代码)_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《图书馆书籍管理系统说明书(附代码)》由会员分享,可在线阅读,更多相关《图书馆书籍管理系统说明书(附代码)(20页珍藏版)》请在金锄头文库上搜索。

1、1大型数据库应用课程设计 课程设计说明书图书馆书籍管理系统起止日期: 2014 年 12 月 1 日 至 2014 年 12 月 7 日学生姓名肖魁班级计算机 1102 班学号11408100214成绩指导教师 (签字 )计算机与通信学院计算机与通信学院 2012 年年 12 月月 7 日日2图书馆书籍管理系统图书馆书籍管理系统一、一、 课题的介绍和课题的任务课题的介绍和课题的任务图书馆书籍管理系统主要对图书馆中书籍进行管理,包括对书籍的添加,删除,修改,各种方式的查询等操作,用于管理员对图书馆书籍库的管理;采用 Oracle 作为数据库,应用了 Java,Jsp,JavaScript,SQL

2、 等编程语言以及 Struts2,JDBC 等等技术,另外系统采用 B/S 结构,MVC 的设计模式进行设计,在数据库方面,多处应用了存储过程和触发器;二、课程设计的要求二、课程设计的要求1、书籍的添加:通过触发器和索引,使图书的编号按照自动增长的方式进行添加,其他字段还有:书籍名称,作者,出版社,页数,藏书地址等;并且通过定义触发器,使每增加一条图书信息,在图书状态表中给其增加对应的图书状态信息;2、书籍的删除:通过存储过程来实现,如果该书的状态为已借出,就不能删除书籍,并发出提示信息;书籍的删除,通过定义 before 触发器,假如该书籍能够删除,就在其删除之前,删掉该书籍的状态信息;3、

3、书籍的修改:修改除了书籍主键外的其他信息;4、书籍的查询:可根据图书的索引号进行精确查询,可以根据图书的书名,作者,出版社,藏书地址等进行模糊查询,基于系统的需求,还提供系统中以所有字段作为关键字的模糊查询;5、用户身份验证,管理员通过用户登录,输入验证信息,若经过系统验证后,若正确,则进入图书管理主页,若出现错误,则跳到登录界面,并返回相应的友好的错误提示信息;三、系统的分析和系统中数据库的分析(系统的分析和系统中数据库的分析(ERER 图等)图等)1、 系统设计系统设计11.系统概要设计-流程图系统总体设计如图 1.1 所示3系统管理员输入登录信息反馈登录成功或失败返回操作结果返回查询结果

4、查询请求修改请求删除请求插入请求图 1-1 实现用户的登录,管理员登录后对图书进行书籍的添加,书籍各种方式的查询,书籍的修改,书籍的删除;12.系统的详细设计1.2.1.用户的登录图书管理员通过输入管理员和密码进行验证,若验证正确,则进入系统。管理员登录系统系统操作主界面登录请求返回登录失败消息登录成功!到系统操作主界面图 1.21.2.2.书籍的添加书籍的添加,用户在表单中输入书籍的信息,点击录入,数据通过 Struts2 的过滤器,自动提交数据,在 Struts 的 Action 类中进行获取数据,然后进行检测,如果检测输入信息有误,则跳转到添加页面,并返回相应的错误提示;如果信息正确,则

5、调用添加数据存储过程进行数据的持久化;具体流程如图 1-3 所示;4管理员添加模块添加添加请求以及对应信息Oracle DB添加失败,返回对应信息图 1.31.2.3.书籍的修改书籍的修改,首先查询出需要修改的书籍,点击修改,跳转到书籍修改页面,顺便通过 session 对象,将原有的书籍对象带过去;在书籍修改页面表单中修改相应属性,提交到Struts2 的 Action 类中,首先进行数据的校验,校验失败,跳转到修改页面,返回相应的出错信息,校验成功,则进行书籍的更新处理;具体流程如图 1.4 所示;管理员修改模块修改修改请求Oracle DB修改失败,返回对应信息图 1.41.2.4书籍的

6、删除书籍的删除,首先查询出需要修改的书籍,点击删除,提交到 Struts2 中的 Action 类,顺便传入书籍编号这个值(主键,唯一) ,首先访问书籍库进行查询该书籍的状态是否是“在馆” ,是则返回 true,进入书籍的删除环节;调用数据库中的存储过程和触发器,进行书籍的删除,确保系统数据的一致性;具体流程如图 1.5 所示 5管理员删除模块删除删除请求Oracle DB删除失败,返回对应信息图 1.51.2.5书籍的查询书籍的查询,本系统中书籍的查询设定了多种方式,包括按索书号查询,按书名查询,按书籍作者查询,按出版社查询,还有按所有字段进行查询;先选择查询的方式,输入关键字,然后进行数据

7、的提交,经数据过滤校验后,进入控制层,通过判断其查询类型,进行数据的查询,将符合条件的数据查询出来,装入集合框架 ArrayList 中,传入显示层进行数据的显示,具体流程如图 1.6 所示;管理员消息显示查询系统Oracle DB查询图 1.62数据库的设计2.1数据库建模2.1.1E-R 图62.1.1.1图书信息建模系统中书籍信息建模如 E-R 图 2.1 所示:Book (书籍)Bookstate (书籍状态)Bname 书籍名称Writer 书籍作者Publish 出版社Place 藏书地址Bnum 书籍编号Page 页数Bnum 书籍编号State 书籍状态Cardid 书籍持有者

8、编 号借出日期对应11图 2.12.1.1.2 用户信息的建模用户信息的建模如图 2.2 所示:7管理员用户名 Usename密码 Pwd图 2.23 系统前台的设计3.1、系统的结构本系统使用 MVC 模式作为系统的设计结构,以 JSP 作为视图层;采用 struts2 框架,以其 Acation 类作为其控制层,以各种 JavaBean,FormBean 作为模型层;3.2、界面的设计和布局3.2.1 登录界面如图 3.1 所示图 3.183.2.2 图书管理界面图书管理主页中提供了集书籍添加,书籍修改,书籍删除,书籍详情查询 及多功能的图书检索功能,使用方便,操作简单,并设有完善友好的错

9、误提示功能,具体展示如图 3.2 所示;图 3.23.2.3 图书修改界面书籍修改界面如图 3.3 所示;图 3.393.2.4.图书详情界面由于数据量比较大,在查询主页中不便显示,通过图书详情界面,将对应图书信息进行显示;其界面及运行结果如图 3.4 所示;图 3.4四、系统的数据库实现四、系统的数据库实现1.1.书籍信息表和书籍状态表的设计书籍信息表中包括书籍编号,书籍名称,作者,出版社,页数,藏书地址等字段,书籍编号通过触发器的方式,以自动增长的方式进行添加;页数为 Number 类型,其他的都为字符串行;图书馆中书籍的各个字段的设计如图 4.1 所示分为图书表(book)和图书状态表(

10、bookstate) ;10book o o o o o obnum bname writer publish page placeNumber Characters (256) Characters (256) Characters (256) Number Characters (256)bookstate o o o obnum state cardid borrowNumber Characters (256) Characters (256) Characters (256)图 4.1表 4-1 book 表的设计bnumNumberNot null,自动生成,主键bnameChar

11、acter(256)Not nullwriterCharacter(256)Not nullpublishCharacter(256)Not nullpageNumberNot nullplaceCharacter(256)Not null表 4-2 bookstate 表的设计bnumNumberNot null 外键,主键stateCharacter(256)Not null default waitcardidCharacter(256)nullborrowDatenull111.2.管理员验证信息的设计如图 4.2 所示Create table Manager(Username var

12、char2(20),Pwd varchar2(20);Manageo ousername pwdCharacters (256) Characters (256)图 4.2表 4-3 manage 表的设计usernameCharacter(256)Not null 主键pwdCharacter(256)Not null1.3. 触发器,存储过程的设计1.3.1.图书信息添加触发器的设计先创建一个索引,计算出前一个字段的最大值,然后创建 before 触发器,每增加一项书籍记录,给书籍编号这一字段赋值;图书的管理-创建图书表:Create table book(bnum number(11),

13、bname varchar2(20),writer varchar2(20),12publish varchar2(50),page number(11),place varchar2(20),);-创建序列:create sequence book_seqincrement by 1 start with 1maxvalue 1.0E28minvalue 1 nocache -创建触发器create or replace trigger tr_bookbefore insert bookfor each rowbeginselect book_seq.nextval into :new.bn

14、um from dual;end tr_book;-测试,插入数据Insert into book( bname , writer , publish , page , place ) values ( compute,liusi,China,342,一楼库); insert into book ( bname , writer , publish , page , place) values (computerr,liusi,湖工大,842,二楼库);1.3.2.添加书籍状态信息触发器 trigger_state13每创建一项书籍记录后,自动在图书状态信息表中,添加一条对应的图书状态信息;创

15、初始触发器create or replace trigger_stateafter insert bookfor each rowbegin -如何用到 bnum 的值-insert into bookstate(bnum) values( )end ;1.3.3.删除存储过程的创建 pro_del先判断图书状态 State 是否为”已借出” ,如果是,则不能进行删除操作,与此同时,发出提示信息;如果不是,则先删除 bookstate 表中对应的那条记录,再将相应的图书信息记录删除。-删除,过程Create or replace procedure pro_del(bnumber IN num

16、ber(11) ,say out varchar2(20)asNum1 numbersta varchar2date1=dateBegin select state into sta from bookstate where bnum=bnumber;if sta=wait thendelete from bookstate where bnum=bnumber;delete from book where bnum=bnumber;say=yes;14else say=no;end if; end;1.3.4更新书籍存储过程的创建 pro_update-更新书籍存储过程Create or replace procedure pro_update(bnum1 IN number(11) ,bname1 IN varchar2(20),writer1 IN varchar2(20),publish1 IN var

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号