数据库毕业课程设计报告图书馆管理系统.docx

上传人:b****4 文档编号:27508533 上传时间:2023-07-02 格式:DOCX 页数:28 大小:555.94KB
下载 相关 举报
数据库毕业课程设计报告图书馆管理系统.docx_第1页
第1页 / 共28页
数据库毕业课程设计报告图书馆管理系统.docx_第2页
第2页 / 共28页
数据库毕业课程设计报告图书馆管理系统.docx_第3页
第3页 / 共28页
数据库毕业课程设计报告图书馆管理系统.docx_第4页
第4页 / 共28页
数据库毕业课程设计报告图书馆管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数据库毕业课程设计报告图书馆管理系统.docx

《数据库毕业课程设计报告图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《数据库毕业课程设计报告图书馆管理系统.docx(28页珍藏版)》请在冰豆网上搜索。

数据库毕业课程设计报告图书馆管理系统.docx

数据库毕业课程设计报告图书馆管理系统

(此文档为word格式,下载后您可任意编辑修改!

数据库课程设计报告

———图书馆管理系统

 

学院:

计算机科学与技术

班级:

姓名:

学号:

指导老师:

目录

1引言1

1.1编写目的1

1.2开发背景1

2需求描述1

2.1系统目标1

2.2用户的特点1

2.3需求定义2

2.4性能需求4

2.5其他需求4

2.6运行环境规定4

3数据流图4

4概念模型设计7

4.1相关实体、主要属性以及关系说明:

7

4.2局部的E-R图:

8

4.3全局E-R图:

10

5逻辑模型设计10

5.1数据字典10

5.1.1book信息表:

10

5.1.2manager信息表:

11

5.1.3borrow表:

11

5.1.4reader表:

11

5.2逻辑设计表11

5.2.1book图书信息表12

5.2.2manager管理员信息表12

5.2.3borrow借阅关系表12

5.2.4reader读者信息表13

5.3数据表关系图13

5.4表的实例图13

5.4.1reader(读者)表的数据图14

5.4.2manager(管理员)表的数据图14

5.4.3book(图书)表的数据图15

5.4.4borrow(借阅)表的数据图15

6物理设计和实施15

6.1建立索引15

6.2SQL语句16

7图书馆管理系统的总体设计17

7.1系统模块设计17

8图书馆管理系统的具体实现19

8.1登录模块21

8.2图书馆管理系统欢迎页21

8.3添加管理员信息模块22

8.4删除管理员信息模块23

8.5读者公共查询界面23

8.6修改读者信息模块24

8.7退出系统24

9系统的测试与分析25

10结束语25

11参考文献26

1引言

1.1编写目的

编写本报告的目的是明确本系统的详细需求,熟悉所要设计系统的整体架构,进一步进行细致的数据库设计,已达到本次数据库课程设计的目的。

1.2开发背景

数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。

对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。

随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。

2需求描述

2.1系统目标

本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利。

本系统主要是通过需求分析进而设计出一个完整的数据库,最后通过数据库的接口技术实现系统与数据库的连接,从而达到实现图书馆管理的一般功能,如图书的增加、删除、修改以及借阅者可以查询本人的借阅情况和续借等功能。

2.2用户的特点

✧本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。

管理员和读者都是经常性用户。

✧系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。

维护人员为间隔性用户。

2.3需求定义

在图书管理系统中,管理员要为每个读者建立借阅账户,账户内存储读者的个人信息和借阅记录信息。

持有一卡通(含有学号即读者编号)的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书。

借阅图书时,先输入读者的一卡通上的学号,系统验证一卡通的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。

然后输入要借阅的图书编号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。

最后提交借阅请求,若被系统接受则存储借阅记录,并修改可借阅图书的数量。

归还图书时,输入读者一卡通上的学号和图书号,系统验证是否有此借阅记录,以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。

如果有超期借阅情况,给予过期提醒。

然后提交还书请求,系统接受后删除借阅记录,并登记并修改可借阅图书的数量。

图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销。

为系统维护人员提供权限管理、数据备份等通用功能。

其系统的功能模块图如下:

针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面的数据项:

读者信息

属性:

读者编号,读者姓名,读者密码,年龄,性别,身份证号,联系电话

主键:

读者编号

书籍信息

属性:

图书编号,ISBN,图书名称,图书作者,出版社,图书单价,库存总量,外借数目

主键:

图书编号

管理员信息

属性:

管理员密码,管理员姓名,年龄,性别,权限,电话,是否为超级管理员

主键:

管理员密码,管理员姓名

借阅关系

属性:

图书编号,读者编号,借书日期,还书日期,是否续借,是否超期

主键:

图书编号,读者编号

2.4性能需求

由于此开发项目针对图书馆,使用频度较高,使用性要求比较高。

为防止对信息资料和管理程序的恶意破坏,要求有较为可靠的安全性能。

总之,要求稳定、安全、便捷,易于管理和操作。

✧WEB安全性要求:

要防止SQL注入攻击等黑客攻击。

✧数据库安全性要求:

要随时备份数据,防止数据丢失。

✧系统访问速度要求:

满足50人同时在线。

2.5其他需求

能快速恢复系统和故障处理,方便系统升级和扩充。

2.6运行环境规定

✧数据库服务器端

(1)操作系统:

MicrosoftWindowsXP

(2)数据库管理系统:

SQLServer2000

✧Web服务器端

(1)操作系统:

MicrosoftWindowsXP

(2)Tomcat6.0服务器

(3)MyEclipse编程开发环境

3数据流图

✧顶层数据流图

✧0层数据流图

✧1层数据流图(2图书管理)

✧1层数据流图(3读者管理)

✧1层图(4借阅管理)

✧数据流图加工处理功能简单描述

(1)图书管理

Ø图书信息管理:

增加、删除、修改等管理。

新书入库,图书购入后由图书管理人员将图书编号并将其具体信息录入图书信息表。

图书信息修改由于工作人员的疏忽而出现错误时,可修改其信息。

管理员按不同方式查询、统计,读者按不同方式查询。

(2)读者管理

Ø读者信息管理:

增加、删除、修改等管理。

(3)借阅管理

Ø续借管理:

提供读者在符合规定的情况下网上续借。

Ø过期管理:

根据一卡通上的学号即读者编号、图书编号等,在借阅信息表中找到相应的记录,根据情况进行过期提醒。

Ø借阅管理:

根据读者编号和图书编号,进行借书还书信息录入。

在借阅信息表中插入一条记录,该记录包括读者编号、图书编号、借书日期、还书日期等信息,更新该记录的相应数据(图书信息表)。

提供读者网上查询自己的借阅情况(包括过期提醒)。

4概念模型设计

通过对图书管理系统需求及其数据流图的分析,可以得出该系统涉及读者、图书、借阅等数据实体。

4.1相关实体、主要属性以及关系说明:

1.book拥有属性book_id(图书编号),book_isbn(ISBN),book_type(图书类型),book_name(图书名称),book_author(图书作者),book_publisher(出版社),book_price(单价),book_amount(库存总量),book_(权限),manager_phone(电话),isAdmin(是否为超级管理员).

3.borrow拥有属性book_id(图书编号),reader_id(读者编号),borrow_time(借书日期),return_time(还书日期),isRenew(是否续借),isOvertime(是否超期).

4.reader拥有属性reader_id(读者编号),reader_name(姓名),reader_pwd(密码),reader_age(年龄),reader_sex(性别),reader_idcard_number(身份证号),reader_phone(联系电话).

4.2局部的E-R图:

图书实体E-R图:

管理员实体E-R图:

借阅联系E-R图:

读者实体E-R图:

4.3全局E-R图:

全局E-R图

5逻辑模型设计

5.1数据字典

5.1.1book信息表:

字段

数据类型

是否可以为空

备注

book_id

Int(4)

No

主键,自增类型

图书编号

book_isbn

Varchar(30)

Yes

ISBN

book_name

Varchar(20)

Yes

图书名称

book_author

Varchar(20)

Yes

图书作者

book_type

Varchar(20)

Yes

图书类型

book_publisher

Varchar(30)

Yes

出版社

book_price

Int(4)

Yes

单价

book_amount

Int(4)

Yes

库存总量

book_how_many_borrowed

Int(4)

Yes

外借数目

5.1.2manager信息表:

字段

数据类型

是否可以为空

备注

manager_pwd

Varchar(20)

Yes

密码,主键

manager_name

Varchar(20)

Yes

姓名,主键

manager_age

Int(4)

Yes

年龄

manager_sex

Char(10)

Yes

性别

manager_permission

Varchar(20)

Yes

权限

manager_phone

Varchar(20)

Yes

电话

isAdmin

Bit

(1)

No

默认值为false,

是否为超级管理员

5.1.3borrow表:

字段

数据类型

是否可以为空

备注

book_id

Int(4)

No

主键,图书编号

reader_id

Int(4)

No

主键,读者编号

borrow_time

Datetime(8)

Yes

借书日期

return_time

Datetime(8)

Yes

还书日期

isRenew

Bit

(1)

Yes

是否续借

isOvertime

Bit

(1)

Yes

是否超期

5.1.4reader表:

字段

数据类型

是否可以为空

备注

reader_id

Int(4)

No

主键,自增类型

读者编号

reader_name

Varchar(20)

Yes

姓名

reader_pwd

Varchar(20)

Yes

密码

reader_age

Int(4)

Yes

年龄

reader_sex

Char(10)

Yes

性别

reader_idcard_number

Varchar(20)

Yes

身份证号

reader_phone

Varchar(20)

Yes

联系电话

5.2逻辑设计表

5.2.1book图书信息表

5.2.2manager管理员信息表

5.2.3borrow借阅关系表

5.2.4reader读者信息表

5.3数据表关系图

在图书馆借阅管理系统中个数据表的关系图,如下图所示。

借阅信息表中的book_id和reader_id值分别为图书和读者信息表中的外键值,所以在对借阅信息表进行操作时,要考虑到数据表之间的数据完整性。

数据表关系图

5.4表的实例图

5.4.1reader(读者)表的数据图

5.4.2manager(管理员)表的数据图

5.4.3book(图书)表的数据图

5.4.4borrow(借阅)表的数据图

6物理设计和实施

从理论‘关系模型’到实现‘数据库建立’,物理文件的安排和建立索引

6.1建立索引

为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表项中建立索引的表项:

(1)读者信息(读者编号)

(2)图书信息(图书编号)

(3)管理员信息(管理员密码,管理员姓名)

(4)借阅(图书编号,读者编号)

6.2SQL语句

如下所示:

7图书馆管理系统的总体设计

7.1系统模块设计

整个图书馆分为两个大的模块:

信息管理模块和登陆查询模块。

其中具体层次框图如图所示。

其中信息管理模块主要是系统管理员对一般管理员、读者和图书信息的添加、删除、修改操作,以及借阅信息的管理操作。

其模块图如下所示。

而登陆查询模块则主要是读者登录图书馆管理系统查询自己的基本信息以及自己的图书借阅情况,只能浏览,读者不能修改随便修改自己的信息。

其模块结构图如下所示。

8图书馆管理系统的具体实现

本设计采用BS结构,综合运用以前所学的专业知识,设计开发的一个功能较完善的图书馆管理系统,具体包括以下功能:

(1)用户登录模块(验证用户登录,然后进入图书馆管理系统);

(2)管理员设置模块(主要包括管理员信息的添加、删除和修改);

(3)读者设置模块(主要包括读者信息的添加删除和维护);

(4)读者查询模块(主要包括读者基本信息和借阅情况的查询)。

下面就详细介绍一下每一个功能模块。

首先整个系统对数据库连接建立了一个dbconnection.java文件,它负责与数据库管理软件SQLServer2000的连接工作。

关键代码为:

packageDBConn;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjavax.naming.Context;

importjavax.naming.InitialContext;

importjavax.sql.DataSource;

publicclassdbconnection{

Connectionconn;

Statementstmt=null;

ResultSetresult=null;

Stringdrive="sun.jdbc.odbc.JdbcOdbcDriver";驱动

Stringuser="sa";用户名

Stringurl="jdbc:

odbc:

database";

Stringpwd="";

introw;

publicvoidinit()

{

try{

Class.forName(drive);

conn=DriverManager.getConnection(url,user,pwd);获得连接

}

catch(Exceptione)

{

System.out.println(e+"");

}

}

publicResultSetExecuteQuery(Stringsql)

{

init();

try{

stmt=conn.createStatement();

result=stmt.executeQuery(sql);

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnresult;

}

publicintExecuteUpdate(Stringsql)

{

init();

try{

stmt=conn.createStatement();

row=stmt.executeUpdate(sql);

}

catch(Exceptione)

{

System.out.println(e+"");

}

returnrow;

}

publicvoidclose()

{

try{

conn.close();关闭连接

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

每一个需要连接数据库的页面可以直接引入DBConn包下的这个文件dbconnection.java并创建该类的对象即可。

其关键实现语句为:

importDBConn.dbconnection;

dbconnectionconn=newdbconnection();

8.1登录模块

下图登陆界面图是登录图书馆管理系统的首页。

本系统只限学校的教师学生。

登陆界面

8.2图书馆管理系统欢迎页

8.3添加管理员信息模块

8.4删除管理员信息模块

8.5读者公共查询界面

公共查询读者登录

进入公共查询主界面

8.6修改读者信息模块

8.7退出系统

9系统的测试与分析

本系统具有实用性和易操作性,满足当前图书馆工程数据量不断增加的需求。

系统使用SQLServer2000作为数据库,可以容纳巨大的数据量,能够供广大读者使用。

经过多次反复的运行测试,此系统界面友好,反应出性能稳定、运行速度快、数据操作安全等特点。

10结束语

通过这次的数据库课程设计,我认为一个健壮的系统与一个健壮的数据库是息息相关的,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。

同时,在系统开发方面也累积了一点经验,特别是在对系统开发工具不是很熟悉的情况下,通过自己的学习和老师的指导完成了设计任务。

并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。

这次课程设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。

更使我明白了自己的优缺点,知识只有在不断的使用过程中才会丰满,只有经过实践的东西才是真理,才能够被自己牢牢的掌握。

培养一个好的编程习惯对于一名学计算机专业的学生来讲是非常重要的。

特别是代码语句要错落有序、层次分明;函数、过程及一些复杂语句要有详细注释;复杂的问题要分而治之;要善于思考总结……

在这次课程设计及报告编写过程当中,我学到了许多不能从书本上直接获得的知识。

程序开发的过程是辛苦的,我经常会因为思考一个问题,而失眠或忘了吃饭时间,花了大部分坐在电脑前,弄得疲惫不堪。

但我又非常享受这种投入的状态,当一个Bug被排除,当一个技术难题被解决,当一个逻辑问题被想通时,这种喜悦是无法用言词来形容的,感觉非常的充实。

而这种回报也是显而易见的,正是遇到难题迫使我变得更主动,积极的去学习,反复试验,不断的查证,最终也使我对JSP和数据库知识有了深刻的理解,并提高了分析问题,解决问题的能力。

这也是我觉得收获最大的地方,对我以后走向社会,走向工作岗位都起了极为重要的作用。

11参考文献

[1]赵文涛主编.数据库系统原理.中国矿业大学出版社。

[2]曹广鑫,时强.JSP数据库项目开发宝典.北京:

电子工业出版社,2006。

[3]王立功.软件工程.中国矿业大学出版社。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1