图书馆管理系统数据库报告.docx
《图书馆管理系统数据库报告.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统数据库报告.docx(20页珍藏版)》请在冰豆网上搜索。
![图书馆管理系统数据库报告.docx](https://file1.bdocx.com/fileroot1/2022-12/1/fec383f7-a3ab-4547-8b0e-ebd5384cef64/fec383f7-a3ab-4547-8b0e-ebd5384cef641.gif)
图书馆管理系统数据库报告
图书馆管理系统数据库报告
应用软件系统实验与设计报告
课程名称:
数据库与信息系统
专业班级:
学生姓名:
指导教师姓名:
2011,2012学年第一学期
系统名称图书管理系统
学生姓名专业班级
同组人成绩
摘要
随着计算机及网络的飞速发展,以及社会的不断前进,对信息自动化的要求越来越高,图书馆作为一个查阅资料的重要地方,图书和用户借阅资料繁多,因此,需要开发出一个操作简单而且方便实用的图书管理系统。
本系统使用VisualBasic6.0开发工具,主要使用SQL语句,结合SQLSERVER2000
数据库、VB的DAO数据访问对象,DATA控件和ADO控件来实现数据库的操作。
图书管理系统主要对图书馆管理日常工作中遇到的实际问题,例如书籍信息、读者信息、借阅信息、能够实现以下任务:
用户分级权限操作、借还图书操作、书库维护操作等。
关键词:
图书,Visualbasic6.0,SQLSERVER2000,读者,借阅
Abstract
Inthescienceofrapiddevelopment,andtodaypeopleviewmoreandmorewidely,dataratesincreaseddramatically.Inthepastpeopleputthedatastoredinfilecabinets,nowpeoplewithcomputeranddatabasetechnologysciencetopreserveandmanagelargeNumbersofcomplexdata,sothatcaneasilyandmakefulluseofthesevaluableinformationresources.Thereportshowsthebooksmanagementsystemmanagementsystemdesignideaandtheconstructionofthedataprocess,writethereportaimedatbetterrecordthepracticeprocess,deepentheunderstandingoftheknowledgeofdataandimproveoperate,andprofessionalreportwritingability,thisreportisonlyfordatabasedesignandthesystem
improvedreference.
Keywords:
database;Design;Booksmanagementsystemmanagementsystem
一、系统设计目的、意义
图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。
由于图书馆主要从事大量的图书资料的储存和流通。
所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。
图书馆作为一个查阅资料的重要地方,由于数据处理手工操作工作量大,出错率高,出错后不易更改,就要求可以使用计算机对其进行自动化的管理,因此,开发一个图书馆信息管理系统就显得很重要了。
由于目前还处在本科阶段,因而只能够设计一个比较简单的图书管理系统数据库,该数据库包括了图书信息、读者信息、借书、还书、图书检索等一些简单的基本功能的实现,其框架采用VisualBasic语言编写,可以较为理想的实现数据路系统。
二、系统设计的需求分析
图书馆管理系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强.数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析如此情况,我们使用微软公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,下面对各个模块的功能介绍如下:
1)系统管理
系统管理中,能实现新的管理员的添加和现存管理员的密码修改功能。
2)图书管理
在图书管理模块中,主要实现对图书类别的添加和管理,并且可以添加新的图书。
3)读者管理
实现对读者类别的添加和管理,读者类别可包含老师学生等等,并且各读者类别所借阅的图书书目和借阅时间都存在差别。
对已借阅图书的读者的信息进行添加和管理,并且日后可根据登记的读者编号进行查阅。
4)借阅管理
借阅管理包含对应读者所借图书的相关信息,可根据借阅编号查询相关借阅情况,并查看时候超期借阅,并进行一定金额处罚。
其功能模块的框架图如图2-1所示。
图书管理系统
借读图系阅者书统管管管管理理理理
管添修添添修管查查添修查理加改加加改理询询加改询密新图图图图借借图读读读码管书书书书书书书者者者理类类信信信信信信信信员别别息息息息息息息息
图2-1图书管理系统基本框架
三、系统设计方案
3.1硬件环境描述
系统的硬件描述主要是完成对PC机电脑的硬件配置和客户端的配置,其中对电脑的配置包括留有一定空间的存放数据库空间的10MB的硬盘空间,客户端的配置是首先要安装数据库开发所要用到的两种基本软件,分别为VISUALBASIC6.0和SQLSERVER2000,当创建数据库完成时,需要先向电脑中添加数据源,具体的方法是打开控制面板,找到“ODBC数据源”,然后添加一个数据源名为sa,服务器为(local)的服务器,即可完成客户端的配置。
3.2软件环境描述
3.2.1VB和SQL简介
1)数据库的介绍
数据库技术是计算机科学技术中的重要领域,也是应用最广的技术之一,而且已经成为电子信息系统的重要核心技术。
数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。
数据处理的中心问题是数据管理,数据管理随着计算机硬件和软件的发展而不断发展,经历了三个阶段:
人工管理阶段,文件系统阶段和数据库系统阶段。
数据库系统具有以下特点:
(1)数据结构化。
(2)数据的共享性高、冗余度低、易扩展。
(3)数据独立性高。
(4)数据由DBMS统一管理和控制。
包括数据的安全性保护,数据的完整性检查,并发控制以及数据库备份和恢复[2]。
我做的图书管理系统中主要是用了VB和SQL。
2)VISUALBASIC简介
VISUALBASIC是微软公司出品的一个快速可视化程序开发工具软件。
借助微软在操作系统和办公自动化软件的垄断地位,VB在短短的几年内风靡全球。
VB是极具特色和功能强大的软件,主要表现:
所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。
同时众多的ACTIVE控件,提高了软件的使用效率。
VB应用程序语言的基本特点:
(1)可视化界面设计:
VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如"窗体","菜单","命令按扭","工具按扭","检查框"等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。
(2)事件驱动编程
在使用VB设计应用程序是,必须首先确定应用程序如何同用户进行交互。
例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。
(3)与数据库的连接性
VISUALBASIC提供了与底层数据库系统紧密的连接。
VISUALBASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。
开发人员和利用内置的高性能数据库引擎--JET生成独立应用或脱离服务器运行的服务以上的应用,在开发该图书馆管理系统时,笔者就是使用该种数据库引擎。
VISUALBASIC存取数据库的方式有两种:
通过使用的ODBC接口。
(ODBC(开放数据库连接)是微软公司的数据库连接标准)通过使用由VISUALBASIC提供的专用的直接与数据库相连的接口以下进行图例说明:
图3-1VISUALBASIC可视化的界面
值得一提的是VISUALBASIC拥有可视化数据管理器窗口,可以直接利用他进行数据库设计。
3.2.2数据库管理系统:
SQLServer2000
区别与Fox-pro、Access小型数据库,SQLServer是一个功能完备的数据库管理系统。
它包括支持开发的引擎、标准SQL语言、扩展的特性等功能。
而像存储过程等特征,也是大型数据库管理系统才拥有的。
一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。
信息管理系统所涉及的数据库设计分五个步骤:
数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。
(1)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。
(2)概念设计的任务是从DFD出发,绘制出本主题的实体,关系图,并列出各个实体与关系的纲要表。
(3)逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。
(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MSSQLServer,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。
(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。
3.3数据库设计
3.3.1概念结构设计
本次图书管理系统数据库的设计框图如图所示:
登记日版次出版社作者编号书名期
登录密类别号码
图书类别管理员属于管理
用户名借阅编借出日号期
借阅归还日是否超期期
地址编号
邮箱姓名读者
办理日电话期
罚款金身份证额号图
图3-2数据库概念结构框架图
3.3.2逻辑结构设计
管理员(用户名,密码)
读者信息(读者号,姓名,身份证号,办理日期,罚款金额,住址,电话,邮箱)图书信息(图书号,分类号,题名,图书数量,出版社,作者,存储日期,ISBN号)借阅信息(借阅编号,读者编号,读者姓名,图书编号,图书名称,借出日期,归还日期,是否超期)
3.3.3数据库概念设计
1借还信息表:
表3-1借还信息表
列名数据类型长度允许空
借还IDDecimal9NOTNULL
读者号Char10NOTNULL
图书号Char12NONULL
借书日期Datetime12NULL
续借日期Datetime8NULL
还书日期Datetime8NULL
罚款金额Float8NULL
备注ext16NULL
2参数配置表
表3-2参数配置表
列名数据类型长度允许空借书时限Int4NOTNULL续借时限Int4NOTNULL最大借书量Int4NOTNULL最高罚款额Float8NULL每日罚款Float8NULL
3图书信息表
表3-3图书信息表
列名数据类型长度允许空图书号Char12NOTNULL分类号Char2NOTNULL题名Nvarchar50NULL图书数量Int4NOTNULL出版社Nvarchar50NULL作者Nvarchar50NULLISBN号Nvarchar50NULL主题词Nvarcha200NULL版次Nvarchar50NULL存储日期Datetime8NULL备注Text16NULL
4文献类型表
表3-4文献类型表
列名数据类型长度允许空分类号Char2NOTNULL分类名称Nvarchar50NULL备注Text16NULL
5用户信息表
表3-5用户信息表
列名数据类型长度允许空用户IDChar10NOTNULL用户名称Char10NOTNULL用户类别Char6NOTNULL密码Char10NOTNULL权限Text16NULL身份证号Char10NOTNULL住址Nvarchar50NULL电话Nvarchar50NULL邮箱Nvarchar50NULL
6读者信息表
表3-6读者信息表
列名数据类型长度允许空
读者号Char10NOTNULL
姓名Char10NOTNULL
身份证号Char18NOTNULL
办理日期Datetime10NULL
罚款金额Float8NULL
住址Nvarchar50NULL
电话Nvarchar50NULL
邮箱Nvarchar50NULL
7预约信息表
表3-7预约信息表
列名数据类型长度允许空
预约IDDecimal9NOTNULL
读者号Char10NOTNULL
图书号Char12NOTNULL
预约日期Datetime8NULL
预约标志Char10NULL
3.4应用程序模块设计
在本系统中有20个子模块组成。
它们分别是数据库连接,用户登录,图书馆管理系统,读者信息,图书维护,图书信息,文献类型,借书,添加预约,图书续借,图书预约,罚款信息,还书,逾期图书,动态信息,统计分析,图书检索,参数配置,密码维护,用户管理,由于本部分主要由该组的另外一名同学来实现,因此只在这里做一部分的介绍,只介绍用户登录系统和读者信息,还书这3块的主要内容。
3用户登录系统
图3-3用户登录界面
/用SQL语句从数据库中的密码表中取得用户名称和相应的密码
DimrstAsADODB.Recordset
DimpasswordAsString
'判断密码是否正确
Sys_UserID=Trim(txtUserId.Text)
SQL="select用户ID,密码from用户信息表where用户ID='"&
Sys_UserID&"'"
Setrst=SelectSQL(SQL,msg)
Ifrst.RecordCount>0Then'如果存在该用户
password=Trim(rst.Fields
(1))
rst.Close
Else
MsgBox("用户ID或密码错误~")
End
EndIf
Ifpassword=Trim(txtPassword.Text)Then
Sys_LoginSucceeded=True
图书管理系统.Show
UnloadMe
Else
MsgBox("密码错误~")
Sys_LoginSucceeded=False
EndIf
EndSub
2读者信息管理
读者信息管理主要对读者信息进行添加、修改、删除操作以及对读者信息的查询功能。
添加和修改的主要内容有:
读者号(10位)、姓名、身份证号、办理日期、罚款金额、住址、电话等,查询子项有读者号、姓名和身份证号
图3-4读者信息表
查询部分:
SQL="SELECT*FROM读者信息表"&strWhere&"ORDERBY读者号"
Setrs=SelectSQL(SQL,msg)
SetMe.DataGrid1.DataSource=rs
3还书系统
图3-5还书系统
图书借书成功后,库存图书数量自动减1
PrivateSubCmdSave_Click()
OnErrorGoToErrMsg'出错处理
IfNotCheckDataThen
ExitSub'如果数据不合法就退出
Else
'添加新数据
CallsetData
CallExecuteSQL(SQL,msg)
'图书的存储数量减少1
SQL="update图书信息表set图书数量=图书数量-1where图书号
='"
SQL=SQL&Trim(Me.txtBookNo.Text)&"'"
CallExecuteSQL(SQL,msg)
MsgBox("成功添加数据!
")
CalltxtBookNo_Change'重新获得数据
CalltxtReadNo_Change'重新获得数据
EndIf
ExitSub
ErrMsg:
MsgBoxErr.Description,vbExclamation,"出错"EndSub
四、系统开发与调试
单击可执行文件,本程序运行后首先与数据库连接,出现如下界面,
图4-1数据库连接单击确定后,进入如下登录界面。
图4-2登陆界面
然后进入管理系统主界面;
图4-3管理系统主界面
在上图中会看到菜单显示栏,单击图书信息,可以查看需要系统中的图书信息。
图4-4图书信息界面
在图书信息中,管理员可以对系统中的图书信息进行添加、修改、查询等操作。
图4-5添加图书的操作
同样,也可以进入读者信息界面搜索相关读者信息。
图4-6读者信息界面
如图,下面分别进入了借书和还书界面。
可以分别输入读者号、借书号进行操作。
图4-7借书界面
图4-8还书界面
下面是图书检索界面,是用来查询所需要查询图书信息的界面。
例如下图,选中题名选项,输入“百科知识”中部分题名,则可以查询出这本书的信息来。
当然也可以选择其他条件进行查询。
图4-9图书检索界面
在主界面的左上角的横向菜单中也有其他的管理菜单,用来处理其他详细的信息。
例如在“资料管理”条目下有文献类型、图书信息、读者信息三个栏目。
分别用来对文献、图书、读者信息进行管理的。
图4-10文献类型界面
图4-11读者信息界面
以下是借书管理系统的界面。
可以进行图书预约、图书续借、借书等操作。
图4-12借书管理界面
在下面的还书管理菜单中可以查询逾期图书,罚款信息。
输入读者号或姓名等信息就
可以查询到相应的信息了。
图4-13逾期图书查询界面
图4-14罚款信息查询界面检索统计菜单下包括图书检索、动态信息、统计分析等功能。
图4-15统计分析查询界面
图4-1动态信息界面
“系统管理”菜单中包括用户管理、密码维护等功能。
图4-17用户管理功能界面
图4-18参数配置、密码维护功能界面
五、总结
经过一个学期的学习,我们从对SQL从一窍不通到现在可以说是略懂皮毛,收获还是蛮大的啊。
通过本次的设计,我们基本掌握了设计一个数据库的方法。
由于之前对于数据库的知识积累不够,尤其是在数据库与VB连接上存在很大漏洞,是的本次课程设计遇到了许多困难。
但正是伴随着这些困难的一个个解决,我们学到了很多知识,每次解决一个问题都会收获不少的知识,第一次感受到数据库与编程语言的结合时那么的有魅力。
本次课程设计让我们有机会对以前所学知识进行系统的串联,尤其是对数据库的建立与操作都上了一个台阶,包括怎么建立一个好的数据库,怎么建立完备的数据库系统,怎样对数据库结构模型的设计,主键的定义,更重要的是前期对于模型的概念,也就是E-R模型的规划。
这让我深刻体会到了前期工作的重要性,只有正确详尽的对系统进行分析以后,才能更高效率的完成系统的开发。
数据库的设计还是比较顺利的,利用SQLserver建立正确的数据库在以前实验做过,所以并不是太陌生。
然后就是VB,不好明白,经过了查找资料和反复运行还是找到了一些头绪。
在VB中怎样布置各窗体中的各单元还是要思考一番。
最难受的是编写代码,尤其是如何将表联系起来。
通过自学,再建一窗体,利用一定代码,就能实现联系。
在这次设计中,我们体会了专注地工作的滋味。
翻遍学籍,搜遍资源,不断地请教别人,循序渐进,一边做设计其实一边学习到了设计之外的东西。
凡事要耐心专心,只要这样,没有事情做不好的。
由于我对编程的不熟悉,在这方面遇到了不少问题。
由于自己知识的不足,在设计数据库时出现了不少大大小小的问题。
一个小小的、不经意的错误都可以让你百思不得其解。
这就要求我们在做课程设计时一定要小心又小心,千万不能有一丝的马虎。
一个在几周的努力和同学的帮助下,我们基本成功的完成了这次课程设计。
总之,这次实验不仅让我更加认识了数据库技术的作用,而且还学习了VB的知识。
在实验中,遇到问题并解决问题的过程才是最重要的。
无论在以后有怎样的课程设计,我都充满信心。
就是不断地摸索,不断地学习,不断地交流,最后做出属于自己的东西。
参考文献:
[1]王国荣(VB6.0数据库程序设计(北京:
人民邮电出版社,1999.9[2]范剑波,《数据库原理及应用》[M].宁波:
人民邮电出版社,2006年1[3]丁宝康主编,《数据库原理》.北京:
经济科学出版社,2000年3[4]王建明编(面向对象程序设计——VisualBasic6.0(北京:
机械工业出版社,2002.1[5]王知强(管理信息系统入门与提高(北京:
清华大学出版社,2005.7