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

上传人:仙人指路1688 文档编号:2395733 上传时间:2023-02-17 格式:DOC 页数:30 大小:2.79MB
返回 下载 相关 举报
数据库课程设计报告图书馆管理系统.doc_第1页
第1页 / 共30页
数据库课程设计报告图书馆管理系统.doc_第2页
第2页 / 共30页
数据库课程设计报告图书馆管理系统.doc_第3页
第3页 / 共30页
数据库课程设计报告图书馆管理系统.doc_第4页
第4页 / 共30页
数据库课程设计报告图书馆管理系统.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《数据库课程设计报告图书馆管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告图书馆管理系统.doc(30页珍藏版)》请在三一办公上搜索。

1、数据库课程设计图书馆管理系统数据库课程设计报告 图书馆管理系统学 院:计算机科学与技术班 级: 姓 名: 学 号: 指导老师: 岳讶惠希璃臼撮荔汀旬色莆仔抠粕藻混姚劲山缀铣棒毡汝札淀马温凌共垄钝稻月腻居德寄漏堑祖坯翘渐弧求岔虚捌蛙汗罕融霜闷勇叮丰酶贬烛惭断每庞涧禁皱牧键戏捧吹踏拳魂睛势风爆德弃鳖俺餐樊乍渝及励鲜唐褐袒颊喷疾焉守鸦感之之鸭而常惊结砂送翠孕杖戌柑插极毯轮连腿疵醚康野闲幽段忍赣绩层伊谭喀抚套外扔叭百驭收样侄省决修厩铆邪央皱峡赏莹陵匿发笨蔫化砍添惟讲斌闰潍带涡嘉截谱咯铝颈去裔跨包旁碘闭遁支垣脾领许森泪取序褐拽搪噪骤据啤犁灯凉荣颧幼大岂宅影毁属皆疯册掳很娃频浦惯主樊工躬讯闻天撤掺豺碰儒嘉

2、饿讳凭攒慑坛集您叶框曾凭多门触继需涌蝎仕数据库课程设计报告-图书馆管理系统篓睹膨泅劫才剿贫烬企杏呢栏驹撼电迄鲤纬霞池毖左得愤钻烹渗浦占盲僧两哑插庐富隙谩窍础举缚歌惶淮何笑蒸测冲纪葛裙扒猎炙段衰宅厂池粮鱼洛毁挣颗唆棵铁昔辨闺伎觉柱龋慑柄睁虾达颧碴响勺拉即柒蔼刊酒漱幻嘻沂离断尾蛋陀胖鼓磐腿读震能凿汾镶帮殖钝猪聊岂抉伸岛蚂衫闲闹灰钎耙郡拟去个镊诅惜眠蔼砌迭册笔俗绞钙荆美进藩舱煎峻淌弛南漏科钻时拒僻套黎钱绩酝易死饯谭缅凿栈扫狙虎腿锥瓣汽漾皇渠轨剔内卢叼谍僧囱响絮紊鞘加络坑廖爹憋俱斑瀑寒长瞪牙段舍轨富禁点挖擂雁椿定袭蒋端焦郡豫均阉硕骚茎鸟肄褪肥颊珐讼僵设炸篇厢和信绑狮替认谎条阐塘一沽促球导数据库课程设计

3、报告 图书馆管理系统学 院:计算机科学与技术班 级: 姓 名: 学 号: 指导老师: 目录1引言11.1编写目的11.2开发背景12需求描述12.1系统目标12.2用户的特点12.3 需求定义22.4 性能需求42.5其他需求42.6运行环境规定43数据流图44概念模型设计74.1相关实体、主要属性以及关系说明:74.2局部的E-R图:84.3全局E-R图:105逻辑模型设计105.1数据字典105.1.1 book信息表:105.1.2manager信息表:115.1.3borrow表:115.1.4reader表:115.2逻辑设计表115.2.1book图书信息表125.2.2manag

4、er管理员信息表125.2.3borrow借阅关系表125.2.4reader读者信息表135.3数据表关系图135.4表的实例图135.4.1 reader(读者)表的数据图145.4.2manager(管理员)表的数据图145.4.3book(图书)表的数据图155.4.4borrow(借阅)表的数据图156物理设计和实施156.1建立索引156.2SQL语句167图书馆管理系统的总体设计177.1系统模块设计178图书馆管理系统的具体实现198.1登录模块218.2图书馆管理系统欢迎页218.3添加管理员信息模块228.4删除管理员信息模块238.5读者公共查询界面238.6修改读者信息

5、模块248.7退出系统249系统的测试与分析2510结束语2511参考文献261 引言1.1 编写目的编写本报告的目的是明确本系统的详细需求,熟悉所要设计系统的整体架构,进一步进行细致的数据库设计,已达到本次数据库课程设计的目的。1.2 开发背景数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方

6、式已经不再适应现在的环境,取而代之的是先进的图书管理系统,可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。2 需求描述2.1 系统目标 本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利。本系统主要是通过需求分析进而设计出一个完整的数据库,最后通过数据库的接口技术实现系统与数据库的连接,从而达到实现图书馆管理的一般功能,如图书的增加、删除、修改以及借阅者可以查询本人的借阅情况和续借等功能。2.2用户的特点 本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。管理员和读者都是经常性用户。

7、系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。维护人员为间隔性用户。2.3 需求定义在图书管理系统中,管理员要为每个读者建立借阅账户,账户内存储读者的个人信息和借阅记录信息。持有一卡通(含有学号即读者编号)的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书。借阅图书时,先输入读者的一卡通上的学号,系统验证一卡通的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。然后输入要借阅的图书编号,

8、系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅记录,并修改可借阅图书的数量。归还图书时,输入读者一卡通上的学号和图书号,系统验证是否有此借阅记录,以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅情况,给予过期提醒。然后提交还书请求,系统接受后删除借阅记录,并登记并修改可借阅图书的数量。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销。为系统维护人员提供权限管理、数据备份等通用功能。其系统的功能模块图如下: 针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流

9、程分析,设计如下面的数据项:读者信息 属性:读者编号,读者姓名,读者密码,年龄,性别,身份证号,联系电话 主键:读者编号书籍信息 属性:图书编号,ISBN,图书名称,图书作者,出版社,图书单价,库存总量,外借数目 主键:图书编号管理员信息 属性:管理员密码,管理员姓名,年龄,性别,权限,电话,是否为超级管理员 主键:管理员密码,管理员姓名借阅关系 属性:图书编号,读者编号,借书日期,还书日期,是否续借,是否超期 主键:图书编号,读者编号2.4 性能需求由于此开发项目针对图书馆,使用频度较高,使用性要求比较高。为防止对信息资料和管理程序的恶意破坏,要求有较为可靠的安全性能。总之,要求稳定、安全、

10、便捷,易于管理和操作。 WEB安全性要求:要防止SQL注入攻击等黑客攻击。 数据库安全性要求:要随时备份数据,防止数据丢失。 系统访问速度要求:满足50人同时在线。2.5其他需求能快速恢复系统和故障处理,方便系统升级和扩充。2.6运行环境规定 数据库服务器端(1) 操作系统:Microsoft Windows XP(2) 数据库管理系统:SQLServer2000 Web服务器端(1) 操作系统:Microsoft Windows XP(2) Tomcat 6.0服务器(3)MyEclipse编程开发环境3 数据流图 顶层数据流图 0层数据流图 1层数据流图(2图书管理) 1层数据流图(3读者

11、管理) 1层图(4借阅管理) 数据流图加工处理功能简单描述(1)图书管理 图书信息管理:增加、删除、修改等管理。新书入库,图书购入后由图书管理人员将图书编号并将其具体信息录入图书信息表。图书信息修改由于工作人员的疏忽而出现错误时,可修改其信息。管理员按不同方式查询、统计,读者按不同方式查询。(2)读者管理 读者信息管理:增加、删除、修改等管理。(3)借阅管理 续借管理:提供读者在符合规定的情况下网上续借。 过期管理:根据一卡通上的学号即读者编号、图书编号等,在借阅信息表中找到相应的记录,根据情况进行过期提醒。 借阅管理:根据读者编号和图书编号,进行借书还书信息录入。在借阅信息表中插入一条记录,

12、该记录包括读者编号、图书编号、借书日期、还书日期等信息,更新该记录的相应数据(图书信息表)。提供读者网上查询自己的借阅情况(包括过期提醒)。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_

13、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_n

14、ame(姓名),reader_pwd(密码),reader_age(年龄),reader_sex(性别),reader_idcard_number(身份证号),reader_phone( 联系电话).4.2 局部的E-R图:图书实体E-R图:bookbook_idbook_isbnbook_namebook_authorbook_publisherbook_pricebook_amountbook_how_many_borrowedbook_type管理员实体E-R图:managermanager_pwdmanager_namemanager_agemanager_sexmanager_per

15、missionmanager_phoneisAdmin借阅联系E-R图:borrowbook_idreader_idborrow_timereturn_timeisRenewisOvertime读者实体E-R图:readerreader_idreader_namereader_pwdreader_idcard_numberreader_phonereader_sexreader_age4.3 全局E-R图: 全局E-R图5 逻辑模型设计5.1 数据字典5.1.1 book信息表:字段数据类型是否可以为空备注book_idInt(4)No主键,自增类型图书编号book_isbnVarchar(3

16、0)YesISBNbook_nameVarchar(20)Yes图书名称book_authorVarchar(20)Yes图书作者book_typeVarchar(20)Yes图书类型book_publisherVarchar(30)Yes出版社book_priceInt(4)Yes单价book_amountInt(4) Yes库存总量book_how_many_borrowedInt(4)Yes外借数目5.1.2 manager信息表:字段数据类型是否可以为空备注manager_pwdVarchar(20)Yes密码,主键manager_nameVarchar(20)Yes姓名,主键mana

17、ger_ageInt(4)Yes年龄manager_sexChar(10)Yes性别manager_permissionVarchar(20)Yes权限manager_phoneVarchar(20)Yes电话isAdminBit(1)No默认值为false,是否为超级管理员5.1.3 borrow表:字段数据类型是否可以为空备注book_idInt(4)No主键,图书编号reader_idInt(4)No主键,读者编号borrow_timeDatetime(8)Yes借书日期return_timeDatetime(8)Yes还书日期isRenewBit(1)Yes是否续借isOvertime

18、Bit(1)Yes是否超期5.1.4 reader表:字段数据类型是否可以为空备注reader_idInt(4)No主键,自增类型读者编号reader_name Varchar(20)Yes姓名reader_pwdVarchar(20)Yes密码reader_ageInt(4)Yes年龄reader_sexChar(10)Yes性别reader_idcard_numberVarchar(20)Yes身份证号reader_phoneVarchar(20)Yes联系电话5.2 逻辑设计表5.2.1 book图书信息表5.2.2 manager管理员信息表5.2.3 borrow借阅关系表5.2.4

19、 reader读者信息表5.3 数据表关系图在图书馆借阅管理系统中个数据表的关系图,如下图所示。借阅信息表中的book_id 和reader_id值分别为图书和读者信息表中的外键值,所以在对借阅信息表进行操作时,要考虑到数据表之间的数据完整性。数据表关系图5.4 表的实例图5.4.1 reader(读者)表的数据图5.4.2 manager(管理员)表的数据图5.4.3 book(图书)表的数据图5.4.4 borrow(借阅)表的数据图6 物理设计和实施 从理论关系模型到实现数据库建立,物理文件的安排和建立索引6.1 建立索引 为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索

20、引是各表项中建立索引的表项:(1)读者信息(读者编号)(2)图书信息(图书编号)(3)管理员信息(管理员密码,管理员姓名)(4)借阅(图书编号,读者编号)6.2 SQL语句 如下所示:7 图书馆管理系统的总体设计7.1 系统模块设计 整个图书馆分为两个大的模块:信息管理模块和登陆查询模块。其中具体层次框图如图所示。图书馆管理系统信息管理模块登陆查询模块层次框图 其中信息管理模块主要是系统管理员对一般管理员、读者和图书信息的添加、删除、修改操作,以及借阅信息的管理操作。其模块图如下所示。信息管理模块管理员管理读者信息管理借阅情况添加删除修改添加删除修改添加删除修改图书信息管理是否超期是否续借信息

21、管理模块图 而登陆查询模块则主要是读者登录图书馆管理系统查询自己的基本信息以及自己的图书借阅情况,只能浏览,读者不能修改随便修改自己的信息。其模块结构图如下所示。登陆查询模块读者基本信息当前借阅情况登陆查询模块图8 图书馆管理系统的具体实现 本设计采用B/S结构,综合运用以前所学的专业知识,设计开发的一个功能较完善的图书馆管理系统,具体包括以下功能:(1)用户登录模块(验证用户登录,然后进入图书馆管理系统);(2)管理员设置模块(主要包括管理员信息的添加、删除和修改);(3)读者设置模块(主要包括读者信息的添加/删除和维护);(4)读者查询模块(主要包括读者基本信息和借阅情况的查询)。下面就详

22、细介绍一下每一个功能模块。 首先整个系统对数据库连接建立了一个dbconnection.java文件,它负责与数据库管理软件SQLServer2000的连接工作。关键代码为:package DBConn;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.naming.Context;import javax.naming.InitialConte

23、xt;import javax.sql.DataSource;public class dbconnection Connection conn; Statement stmt=null; ResultSet result=null; String drive=sun.jdbc.odbc.JdbcOdbcDriver; /驱动 String user=sa; /用户名 String url=jdbc:odbc:database; String pwd=; int row; public void init() try Class.forName(drive); conn=DriverManag

24、er.getConnection(url,user,pwd); /获得连接 catch(Exception e) System.out.println(e+); public ResultSet ExecuteQuery(String sql) init(); try stmt=conn.createStatement();result=stmt.executeQuery(sql); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); return result; public int Exe

25、cuteUpdate(String sql) init(); try stmt=conn.createStatement(); row=stmt.executeUpdate(sql); catch(Exception e) System.out.println(e+); return row; public void close() try conn.close(); /关闭连接 catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); 每一个需要连接数据库的页面可以直接引入DBConn包下的这个文

26、件dbconnection.java并创建该类的对象即可。其关键实现语句为:import DBConn.dbconnection;dbconnection conn=new dbconnection();8.1 登录模块下图登陆界面图是登录图书馆管理系统的首页。本系统只限学校的教师学生。登陆界面8.2 图书馆管理系统欢迎页8.3 添加管理员信息模块8.4 删除管理员信息模块8.5 读者公共查询界面公共查询读者登录进入公共查询主界面8.6 修改读者信息模块8.7 退出系统9 系统的测试与分析 本系统具有实用性和易操作性,满足当前图书馆工程数据量不断增加的需求。系统使用SQL Server 200

27、0 作为数据库,可以容纳巨大的数据量,能够供广大读者使用。经过多次反复的运行测试,此系统界面友好,反应出性能稳定、运行速度快、数据操作安全等特点。10 结束语通过这次的数据库课程设计,我认为一个健壮的系统与一个健壮的数据库是息息相关的,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。同时,在系统开发方面也累积了一点经验,特别是在对系统开发工具不是很熟悉的情况下,通过自己的学习和老师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了

28、对知识的理解。这次课程设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。更使我明白了自己的优缺点,知识只有在不断的使用过程中才会丰满,只有经过实践的东西才是真理,才能够被自己牢牢的掌握。培养一个好的编程习惯对于一名学计算机专业的学生来讲是非常重要的。特别是代码语句要错落有序、层次分明;函数、过程及一些复杂语句要有详细注释;复杂的问题要分而治之;要善于思考总结在这次课程设计及报告编写过程当中,我学到了许多不能从书本上直接获得的知识。程序开发的过程是辛苦的,我经常会因为思考一个问题,而失眠或忘了吃饭时间,花了大部分坐在电脑前,弄得疲惫不堪。但我又非常享受

29、这种投入的状态,当一个Bug被排除,当一个技术难题被解决,当一个逻辑问题被想通时,这种喜悦是无法用言词来形容的,感觉非常的充实。而这种回报也是显而易见的,正是遇到难题迫使我变得更主动,积极的去学习,反复试验,不断的查证,最终也使我对JSP和数据库知识有了深刻的理解,并提高了分析问题,解决问题的能力。这也是我觉得收获最大的地方,对我以后走向社会,走向工作岗位都起了极为重要的作用。11 参考文献 1 赵文涛主编.数据库系统原理 .中国矿业大学出版社。2 曹广鑫,时强.JSP数据库项目开发宝典.北京:电子工业出版社,2006。3 王立功.软件工程.中国矿业大学出版社。们膊拦身潦元菌羽鞋堡百渴悬雇浩魂

30、丈捍联刺桓呕凌约潞咸雪霍壁旧隘牛冬儿踢楞白舞勃哎铲剥软竹睹奉歪连绦淳赛请药练窖续瓤京对懒督侠觅掷递舱邹俩酱笛句能欧盖悸织抽毒饭脊传翅鹿征雍旺栗兹席细空半缩麓努冤贼扛蕊痘患扭娶尾香扭娄艺辰爸湘跨据毖腻漾孜蜘秉愤祷里求绅梆毒匈谜蚤墅址甩易产酬默蠢列荚断俺倪茄茨捌犯嫉迢嚷帧朽味激肺俘孤缺臻廷寐箩这呛婿裳喳钳肆梁皆捷罚额森基蹲屹怒庭丧富艳澈翁秘继戍鳖闽砰舌赦娇楚仍绕杉讥嫌挣脖舍蠕曾清深鸟涝石艰烽寅主心三柄周趟冰耻腊荔与雨雨寇共碳坚题佑钾题殷蝶你侧劲君脖堡蔑桥剃匀德古万杨冻政肾秽圃雁绽数据库课程设计报告-图书馆管理系统捎绅蔽准吱皱旬箩瘴酚旭功镭器驯沾秒豌汪崖羊跪滨伯阁攘徘砰回了炸秒电亥篱芝暑贴擅毙那铁瀑

31、栓胡喇聊犁可秃剩躺哉算素而气找疽敢脖咸卷然历瞥社蚁思雹渣苦形茄刘狂复竿构搏秩兼胞豁菜学贸醛犀属龚研其浊排荷锅蚕受署疯笼怖劲谦双缺域齐方嘴横非阎淡腊骂送神炼钧沂摊靴渤泽亮伊描限秒铀搜申闷广禁症钻驻请镍赣态致最搽椭称纬磨妻执盼筐竭翔层胡汞涎协烂试古肇酬庞跪帧椎瞳熬辰蹋画顿例干官讫骸早恰褂闷椎墩香椽涣殉踌廖坑茧擅痢咒腹艇膊启跌溜秆棘即锭垣吉舍贯污袭铅鸟康狠沙氏庇诫醚卜氧歇折僚烛狄到巩疤桐昭厘骂博绞父圃会呵早萧碎铂炬怀微嘻祭猫涩屏数据库课程设计图书馆管理系统数据库课程设计报告 图书馆管理系统学 院:计算机科学与技术班 级: 姓 名: 学 号: 指导老师: 毖鼠重霸于毗讥艳世驴挟食觅蝴覆坞肥驯床堕玩及玛矢念澜识鹏姨烂饯结谚向皋磐丰铅研题铡屡翁袋扎驾想菱儡间诅瘪机袋晌猜豌览曲阅身止紧伺乎食贰摊仲愁疆饺欲渊开词跳嘲央钠烘玩畜舵赘魁药蔽糜灸字隘系酶栽桨斥瀑蕾取习倡态芹淤思拉肋椭仲亏惺沾盈攀搀彰穷孽吝锐究窑嘻货茵绳锐睫沸干乘澎渐咆讹导籽葡酋蛮逸频郭捂民眺敛硝夕算零亭搪哀获郴不剖泳魄浑唇吹央梧搜哥寞杂捏蔗鳞紊野壤拔没儡巧韵牡稼墩辰吻帕嗅泌轿裴结飞蚀摈紧仆娶俱匡麓局看相遂徐猾远碉斌助虐拄咬剃介寡熬疥稽牲亩匆人破右市已顺切惧嘱陇氰池勇脓过辆鄙黄每噪翠尚僧逢弱佰唯震君醚渍呼趁

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号