ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:938.46KB ,
资源ID:11575976      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11575976.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书信息管理系统数据库课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书信息管理系统数据库课程设计报告.docx

1、图书信息管理系统数据库课程设计报告数据库系统原理课程设计报告题 目: 学 院: 专 业: 学生姓名: 学 号: 指导教师: 年 月 日摘 要如今的图书馆早已不像以前通过手工记录来登记图书、读者以及借阅信息了,互联网的飞速发展实现了图书管理的信息化。在本文的开始部分介绍了图书管理信息系统的设计背景,然后阐述了图书信息管理系统的需求和总体设计方案,较具体的论述了系统的详细设计和实现过程。该系统是在Win7系统下,以关系型数据库MySql为数据库开发管理软件,Java编程技术开发的图书管理信息系统。该系统主要包括基础维护模块、借阅模块、查询管理模块、统计模块等其他功能模块。用户界面设计方面所利用的是

2、Java编程技术。后台数据库选用的则是MySql关系型数据库。关键词:图书管理;Java;数据库目 录引言 11 程序开发的技术基础 21.1 Java技术 21.2 数据库原理 32 图书管理信息系统需求分析 42.1 系统目标 42.2 需求概述 42.3 系统功能分析 42.4 系统的需求分析 52.4.1设计分析 52.4.2数据库需求分析 53 图书管理系统的设计 63.1 系统功能模块设计 63.1.1系统功能模块设计 63.1.2系统功能模块结构图 63.2 系统数据库设计 73.2.1数据流图 73.2.2数据存储词条描述 93.3 用户界面设计 113.3.1输入设计 113

3、.3.2输出设计 124 图书管理信息系统的实现 124.1 开发环境的构建 124.2 系统工程目录 124.3 公共模块 134.3.1 db包 134.3.2 util包 154.4 功能模块的实现 164.4.1登录模块相关 164.4.2基础维护模块相关 174.4.3借阅模块相关 184.4.4查询管理模块相关 204.4.5统计模块相关 214.4.6系统管理模块相关 215 结论 23参考文献 24引言 21世纪后我们进入了一个高速发展的信息化时代,在各行各业中离不开信息处理,这正是计算机网络被广泛应用于管理信息系统的外部原因。计算机的好处在于它能对信息数据进行高速、安全的处理

4、,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。图书馆作为一种信息资源的集聚地,图书、用户与借阅资料繁多,包含很多信息数据的管理,图书管理是一项非常重要的内容。随着图书数量的增加。采用传统的手工图书管理方式,管理过程繁琐而复杂,执行效率低,并且容易出错。在这种情况下,就需要开发一套图书管理系统来提高图书管理工作的效率和质量。1 程序开发的技术基础1.1 Java技术Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。它继承了 C+语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以

5、接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的性能。Java语言的优良特性使得

6、Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。1.2 数据库原理数据库是数据管理的一个领域,是计算机科学技术的一个重要子科学。如今信息资源已成为各个部门、组织的一笔财富。建立一个满足各级部门信息处理要求的行之有效的信息系统就成为了一个企业、事业单位、

7、政府部门或其他社会组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库得到了越来越深远的运用。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配各种编程语言可组成良好的开发环境。2 图书管理信息系统需求分析2.1 系统目标图书管理信息系统是典型的信息管理系统,其开发主要包括后台数据库的

8、建立以及前端应用程序的开发两个方面。对于前者要求建立数据一致性与完整性强,数据安全性好的库。对于后者则要求应用程序功能完备,容易使用等特点。系统开发的总体目标就是实现各种信息的系统化、规范化和自动化。2.2 需求概述在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者发放借书卡(提供借书卡号、姓名、读者分类等信息)。读者可以凭借书卡号在图书馆进行图书查询、密码的修改以及个人信息查询等操作,不同类别的读者在借书数量、还书期限上可以有所不同。借阅图书时,由管理员录入借书卡号,系统首先验证该卡号的有效性,若有效,则显示卡号、姓名、已借数量等信息

9、,实际借书的数量不能超出总借书数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的借书数量、在借阅信息中添加相应的记录。归还图书时,由管理员录入借书卡号和待归还的图书编号,显示借书卡号、读者姓名、图书编号、图书名称、借书日期、应还日期等信息。完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录做归还标记。管理员不定期地对图书信息进行添加、修改和删除等操作。也可以对读者信息进行添加、修改、删除等操作。同时可以对图书以及借阅情况做分类统计。2.3 系统功能分析该系统主要具备以下功能:查询功能:能够列出当前系统图书目录,读者目录以及借阅信息

10、,并能够按照需求对图书与读者进行相应的匹配查询。增加功能:能够对图书与读者信息进行添加。修改功能:能够对数据库中已存在的读者与图书信息进行修改,以及对账户的密码进行修改。删除功能:能够对数据库中已存在的读者与图书信息进行删除。统计功能:能够对图书与读者信息按需求进行分类统计。2.4 系统的需求分析2.4.1设计分析此管理软件使用Java语言进行开发,可粗略的划分为前台和后台部分。前台部分主要的是人机交互的界面,遵照一定的界面设计一般原则,针对不同的用户给予差别化的用户体验。后台部分主要是底层数据间的相互传递,调用Java中封装好的不同类去实现用户的需求。2.4.2数据库需求分析为了对数据进行统

11、一的管理与维护,以确保数据的完整性与安全性,我在这里选择的是一种关系数据库MySql,它的规模较小、体积较小、速度较快而且相对成本低,最主要是MySql提供的功能已经足够满足图书管理系信息系统软件的使用了。图2-1 ER图图书的入库需要管理员的登记,登记后的图书才能被读者进行借阅,读者的可借阅数量有限定,并且在借书时自动生成借书与还书时间。管理员也可以对读者进行管理,主要体现在对读者的增加与读者信息的更新与删除上。整个功能至少需要以下数据项:图书:图书编号、isbn号、图书名称、图书类型、作者、译者、出版社、出版日期、库存数量、价格、在馆状态读者:读者帐号、读者姓名、读者类型、性别、可借书数量

12、、借阅时间长度借还信息:编号、书籍编号、书籍名称、借阅读者帐号、借书日期、还书日期、是否归还用户:编号、帐户名、密码、是否管理员3 图书管理系统的设计3.1 系统功能模块设计3.1.1系统功能模块设计通过需要实现的功能情况,把图书管理系统软件分成6个模块来实现登录模块:这是程序的入口,用来判断登录的是读者还是管理员,以及拒绝非系统用户的登录;基础维护模块:用来实现管理员对图书以及读者的信息管理。实现图书与读者信息的增删改功能;借阅模块:管理员可通过借阅模块来实现读者的借还书需求;查询管理模块:该模块主要用来实现管理员对图书、读者以及借阅情况的查询,还能实现读者对自己信息的查询以及对自己借阅情况

13、的查询;统计模块:用以实现管理员对图书、读者以及借阅情况的统计分析;系统管理模块:用户与管理员可通过该模块来实现密码的更新修改。3.1.2系统功能模块结构图图3-1 系统功能模块结构图3.2 系统数据库设计3.2.1数据流图(1)0层数据流图图3-2 0层数据流图(2)1层数据流图读者信息管理 图3-3 1层数据流图(1) 图书信息管理图3-4 1层数据流图(2)图书借还管理图3-5 1层数据流图(3) 3.2.2数据存储词条描述经过认真的系统需求分析后,确定图书管理信息系统需要用到以下4张表:(1)图书信息表book(图书信息表)名称数据类型长度说明idint32图书编号(主键)isbnva

14、rchar50isbn号namevarchar100图书名称typevarchar50图书类型authorvarchar50作者translatorvarchar50译者publishervarchar1024出版社publish_timedate出版日期stockint11库存数量pricedouble价格is_backsmallint1在馆状态表3-1 图书信息表(2)读者信息表reader(读者信息表)名称数据类型长度说明idvarchar50读者帐号(主键)namevarchar50读者姓名typevarchar20读者类型sexchar2性别max_numint3可借书数量days_

15、numint11借阅时间长度表3-2 读者信息表(3)借还信息表borrow(借还信息表)名称数据类型长度说明idint11编号(主键)book_idvarchar50书籍编号booknamevarchar100书籍名称reader_idvarchar50借阅读者帐号borrow_datedate0借书日期back_datedate0还书日期is_backsmallint1是否归还表3-3 借阅信息表(4)用户信息表user(用户信息表)名称数据类型长度说明idint11编号(主键)namevarchar50帐户名passvarchar50密码is_adminsmallint1是否管理员表3-

16、4 用户信息表3.3 用户界面设计用户界面主要用于用户与系统之间的交互,一个好的用户界面能使用户用户清晰的明白操作逻辑,省去不必要的繁琐重复操作,让用户以最简单的步骤就能达到需求的实现。3.3.1输入设计输入设计是用户与计算机系统管理软件进行传递交换数据信息的重要过程,本系统通过键盘的输入以及鼠标的点击来实现,具备清晰的提示,保证输入数据类型的正确性,让用户能用简单的输入就能达到目的的实现3.3.2输出设计图书管理系统用简洁统一的界面风格,让用户在第一时间就能清晰快速的获取相应的信息,同时输出的信息可以复制,以便于用户对获取到的信息进行保存以及与其他软件如Word、Excel等进行配合使用,从

17、而达到更多的功能实现。4 图书管理信息系统的实现4.1 开发环境的构建本系统使用Java数据库编程实现,所包含的数据量并不是很大,根据系统的实际情况,采用如下开发环境。操作系统: Windows 7;数据库系统: MySql 5.6.24;编程语言: JDK 1.8.0;开发工具: Eclipse Mars Release (4.5.0)。4.2 系统工程目录在开发一个实际的应用系统的时候,应该规划好系统工程的文件结构。有规划的工程文件结构便于在开发过程中进行管理,也使得开发工作的内容更加的清晰。在Eclipse开发环境下,本系统工程目录结构如下图所示图4-1 系统工程目录图src 目录: 用

18、于存放系统的所有源代码,源代码按照包结构进行组织。db包: 存放数据库操作类。entity包: 存放系统的尸体类,包括图书和读者实体类。util包: 存放系统的使用工具类,为其他包公用。windows包: 存放系统的图形界面窗口类。lib目录: 存放系统运行所需的库文件,需要加入到Eclipse 的Build Path中。4.3 公共模块系统开发过程中,经常需要设计一些公共模块供系统中其他功能模块共同调用。本系统的公共模块主要由db和util两个包来实现。4.3.1 db包db包主要用来存放数据库操作类。系统与数据库的交互最终都是通过调用db包中的相关类来实现。db包的构成如下表所示。序号类名

19、标识实现功能1BaseDaodb.BaseDao基础数据库操作类2BookDaodb.BookDao图书数据操作类3ReaderDaodb.ReaderDao读者数据操作类4BorrowDaodb.BorrowDao借阅数据操作类表4-1 db包构成(1)BaseDao类BaseDao类用于完成最基本的数据库操作,包括建立数据库连接和执行sql语句等。在该类中构造了连接数据库的方法,该方法可判断数据库是否已经建立了连接。在该类中还定义了两个方法用于根据传入的sql语句,执行数据库的Query或者Update等操作。调用其方法的外部实体不需要关心具体的数据库操作实现,代码如下。public cl

20、ass BaseDao protected static String driver = com.mysql.jdbc.Driver; /数据库驱动 protected static String url = jdbc:mysql:/127.0.0.1:3306/tsgl?characterEncoding=utf8; /连接url protected static String dbUser = root; /数据库用户名 protected static String dbPwd = 1111; /数据库密码 private static Connection conn = null; p

21、rivate BaseDao() try if (conn = null) Class.forName(driver); /加载数据库驱动 conn = DriverManager.getConnection(url, dbUser, dbPwd); /建立数据库连接 else return; catch (Exception ee) ee.printStackTrace(); public static ResultSet executeQuery(String sql) try if (conn = null) new BaseDao(); return conn.createStatem

22、ent(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE).executeQuery(sql); /执行数据库查询 catch (SQLException e) e.printStackTrace(); return null; public static int executeUpdate(String sql) try if (conn = null) new BaseDao(); return conn.createStatement().executeUpdate(sql); /执行数据库更新 catch (SQLE

23、xception e) System.out.println(e.getMessage(); return -1; finally (2)BookDao类该类用于对图书信息数据进行数据库操作,主要包含了获取图书信息单个实体与实体列表的方法。(3)ReaderDao类该类用于对读者信息数据进行数据库操作,主要包含了获取读者信息单个实体与实体列表的方法。(4)BorrowDao类该类用于对借阅信息数据进行数据库操作,同样是获取借阅信息实体列表的方法。4.3.2 util包util 包主要用于存放一些使用工具类。系统所有模块中经常需要使用的一些工具类或者系统常量等在该包中定义,包含一些系统全局变量类

24、与日期工具类。系统经常碰到一些日期数据,为了方便系统需要,该包中定义了各种日期操作的方法,方便对日期型数据操作时直接调用。4.4 功能模块的实现4.4.1登录模块相关登录模块用于实现系统的登录功能,也是进入系统的入口。登录模块主要由window包下的Login类实现。当用户输入完用户名和密码后,单击“确定”按钮。“确定”按钮定义了相应的事件监听器用于响应该动作。其响应事件主要由该类中定义的btn_okActionPerformed()方法来实现。在连接数据库进行验证之前,判断是否输入了用户名。如果未输入,则系统给出提示,方法终止运行。如果用户名不为空,则程序连接数据库。在user表中查询nam

25、e值是否等于输入的用户名并且pass值等于输入密码的记录。如果相应记录不存在,系统给出提示,方法再次中断。如果满足条件的记录存在,则将用户名记录到全局变量的login_user中,进入系统主界面,登录成功。图4-2 系统登录界面成功登录系统后即进入系统的主界面,系统会根据登录用户的权限不同展示不同的主界面。一般用户的些许功能模块不能使用。图4-3 管理员主界面4.4.2 基础维护模块相关(1)图书维护图书维护子模块用于维护图书的相关信息,包括对图书信息的添加、修改和删除。所有的维护操作最终都是落实到数据库中book表的数据库操作。添加图书图书信息的添加功能主要由window包下的BookAdd

26、类来实现。待用户输入完图书信息信息后,单击“保存”按钮,系统触发相应事件来执行添加操作。图书信息自动存入book表中,并进行自动编号。图4-4 添加图书界面图书修改图书信息的修改功能主要由window包下的BookUpdate类来实现。选择“图书维护”菜单下的“修改”子菜单后弹出图书修改界面。程序首先获取用户输入的图书编号,然后根据编号在数据库中提取图书信息,最后将提取的图书信息显示到图形界面上供用户修改。待用户修改完相应的图书信息后,单击“保存”系统执行图书信息修改的保存操作。关键代码如下所示。private void btn_saveActionPerformed(ActionEvent

27、e) /获取用户输入信息 String id = tf_id.getText(); String name = tf_name.getText(); String type = cb_type.getSelectedItem().toString(); String author = tf_author.getText(); String translator = tf_translator.getText(); String publisher = tf_publisher.getText(); String publish_time = tf_publish_time.getText();

28、 String price = tf_price.getText(); String stock = tf_stock.getText(); String sql = update book set name= + name + ,type= + type + ,author= + author + ,translator= + translator + ,publisher= + publisher + ,publish_time= + java.sql.Date.valueOf(publish_time) + ,price= + Double.parseDouble(price) + ,s

29、tock= + stock + where id= + id + ; /执行数据库操作 int i = BaseDao.executeUpdate(sql); if(i=1) JOptionPane.showMessageDialog(null, 修改成功); dispose(); 图4-5 图书修改界面图书删除图书信息的删除功能主要由window包下的BookDelete类来实现。删除图书前,首先通过输入待删除的图书编号,获取该编号的图书信息,在确认后通过点击相应的功能按键来实现图书删除功能。关键代码如下所示。private void btn_delActionPerformed(ActionEvent e) String id = tf_id.getText(); /获取图书编号 String sql = delete from book where id= + id + ; /删除指定编号的图书

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

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