数据库毕业课程设计报告图书馆管理系统.docx
- 文档编号:9637964
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:21
- 大小:398.98KB
数据库毕业课程设计报告图书馆管理系统.docx
《数据库毕业课程设计报告图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《数据库毕业课程设计报告图书馆管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
数据库毕业课程设计报告图书馆管理系统
数据库课程设计报告
———图书馆管理系统
学院:
计算机科学与技术
班级:
姓名:
学号:
指导老师:
目录
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_how_many_borrowed(外借数目).
2.manager拥有属性manager_pwd(密码),manager_name(姓名),manager_age(年龄),manager_sex(性别),manager_permission(权限),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图书馆管理系统的具体实现
本设计采用B/S结构,综合运用以前所学的专业知识,设计开发的一个功能较完善的图书馆管理系统,具体包括以下功能:
(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+"");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 毕业 课程设计 报告 图书馆 管理 系统