图书馆信息管理系统数据库课程设计VBSQL.docx
- 文档编号:18083342
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:25
- 大小:1.08MB
图书馆信息管理系统数据库课程设计VBSQL.docx
《图书馆信息管理系统数据库课程设计VBSQL.docx》由会员分享,可在线阅读,更多相关《图书馆信息管理系统数据库课程设计VBSQL.docx(25页珍藏版)》请在冰点文库上搜索。
图书馆信息管理系统数据库课程设计VBSQL
摘要
在计算机日益普及的今天,图书作为教学和学习必不可少的工具,采用一套行之有效的图书管理系统来管理书籍就显得尤为重要。
而图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书借阅信息管理效率的目的。
本文运用VisualBasic6.0和SQLServer2005软件,进行图书馆管理系统的课程设计。
首先对系统进行需求分析,根据系统功能设计E-R模型,再进行逻辑结构设计实现E-R图向关系模型的转换,并优化数据模型,使其拥有一般系统拥有的功能,它可以增加读者信息,可以对新书进行入库,删除旧书,可以查询所有的读者信息,还可以对图书进行修改校正,以及解决自己登录安全性的问题,最重要的是可以进行对图书的借阅和归还,并对超过还书期限的读者进行处罚,同时改变图书库存和被借阅次数的信息。
具体功能有图书馆图书信息浏览、读者信息浏览、图书信息查询、图书入库管理、图书出库管理、读者借书超期罚款管理和读者信息维护等。
本图书馆信息管理系统具有可运行,功能较完整,界面美观,操作方便等特点,它可以更加人性化的满足小型图书馆的日常借阅问题,达到一个很理想的智能管理的目的。
关键词图书馆信息管理系统;VB;SQL;数据库
1系统功能概述
1.1系统的功能
图书馆信息管理的主要任务是用计算机对图书交换过程进行日常管理,如图书馆图书信息浏览、读者信息浏览、图书信息查询、借还书等,迅速准确地完成各种信息的统计计算和汇总工作,并快速打印信息报表。
针对系统服务对象的具体要求,设计了图书馆信息管理系统。
图书馆信息管理系统主要包含以下功能:
(1)图书管理:
对图书中图书的信息,如图书编号、书名等基本信息进行维护和管理。
能够完成各种信息的新增、确认、删除、取消操作,也可按照一定的条件查询这些信息。
(2)读者管理:
系统可以完成读者基本信息的新增、确认、删除、取消操作,并可按照一定的条件查询与图书相关的信息。
(3)库存管理:
在系统中可以完成图书入库信息的管理,完成图书相关信息的新增、确认、删除、取消操作,可以按一定得条件查询这些信息。
数据库包含以下实体及其属性:
(1)图书信息(图书编号、书名、作者、版次、出版社、出版日期、类别、借阅次数、借阅状态)
(2)读者信息(借书证号、姓名、性别、年龄、单位、联系电话、读者类别、是否超期)
(3)图书入库信息(图书编号、库存量、单价、入库日期)
(4)图书出库信息(借书证号、书名、借阅日期、还书日期)
(5)图书库存信息(图书编号、书名、库存量、单价)
(6)读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)
(7)系统信息(用户名、密码)
1.2系统结构总图
根据功能画出图书馆信息管理系统结构图,如图1.1所示。
图1.1 图书馆信息管理系统的总体结构
2数据库设计
2.1需求分析
面对大量繁杂的图书信息管理、分类、查询与借还工作,迫切需要通过计算机来帮助解决,减少图书馆管理人员的工作量。
随着办公自动化的深入及普及和网络技术的不断发展,图书馆信息管理系统越来越被社会所需要,本图书馆信息管理系统具有界面友好、使用方便等优点。
1、图书信息查询。
当需要从数据库中查找满足查询条件的图书时,可以使用该功能。
选择查询条件填入对应的功能,点击“查询”完成查询操作。
2、借阅管理。
借阅管理分为借阅和归还两部分。
点击“借阅”单选按钮,这时扫入图书相关信息就可以借阅了。
3、注册新用户。
注册新用户是用来注册能使用该软件的用户名和密码。
当注册完用户之后,退出该软件重新进入,会要求选择用户名和密码,此时如果不能正确输入密码,则不能进入该软件。
2.2E-R模型
图书馆信息管理系统E-R图,如图2.1所示。
图2.1图书馆信息管理系统E-R图
2.3关系模型
一个实体型转换为一个关系模式[1]。
实体的属性就是关系的属性,实体的码就是关系的码。
根据E-R图向关系模型转换的原则,把图2.2中的E-R图转换为关系模型。
(1)图书信息(图书编号、书名、作者、版次、出版社、出版日期、类别、借阅次数、借阅状态)
图2.2图书信息关系模型图
(2)读者信息(借书证号、姓名、性别、年龄、单位、联系电话、读者类别、是否超期)
图2.3读者信息关系模型图
(3)图书入库信息(图书编号、库存量、单价、入库日期)
图2.4图书入库信息关系模型图
(4)图书出库信息(借书证号、书名、借阅日期、还书日期)
图2.5图书出库信息关系模型图
(5)图书库存信息(图书编号、书名、库存量、单价)
图2.6图书库存信息关系模型图
(6)读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)
图2.7读者罚款信息关系模型图
2.4表结构设计
本系统需在SQLServer中建立七个表,分别为图书信息,读者信息,图书入库信息、图书出库信息、图书库存信息、读者借书信息和系统信息。
(1)图书信息表的结构与基本数据:
表结构:
图2.8图书信息表结构
基本数据如下:
图2.9图书信息数据
(2)读者信息表的结构与基本数据:
表结构:
图2.10读者信息表结构
基本数据如下:
图2.11读者信息基础数据
(3)图书入库信息表的结构与基本数据:
表结构:
图2.12图书入库表结构
基本数据如下:
图2.13图书入库基础数据
(4)图书出库信息表的结构与基本数据:
表结构:
图2.14图书出库表结构
基本数据如下:
图2.15图书出库基础数据
(5)图书库存信息表的结构与基本数据:
表结构:
图2.16图书库存表结构
基本数据如下:
图2.17图书库存基础数据
(6)读者借书信息表的结构与基本数据:
表结构:
图2.18读者借书表结构
基本数据如下:
图2.19读者借书基础数据
(7)系统信息表的结构与基本数据:
表结构:
图2.20系统信息表结构
基本数据如下:
图2.21系统信息基础数据
3系统各功能模块的详细设计
本图书馆信息管理系统共包括11个窗体,分别为欢迎,登录,注册新用户,图书信息浏览,读者信息浏览,图书出库信息,图书入库信息,图书信息查询,读者信息查询,图书库存信息查询和主窗体。
其中主窗体为MDI窗体[2]。
下面介绍各个窗体的设计语句及实现功能。
3.1封面
封面,如图3.1所示,标题为“欢迎进入图书馆管理系统”,点击“进入系统”按钮,就可以关闭本窗体并打开登录窗体。
图3.1封面
封面代码如下:
PrivateSubCommand1_Click()
登录窗体.Show
UnloadMe
EndSub
PrivateSubTimer1_Timer()
StaticnAsInteger
n=n+1
Ifn>15Then
n=0
EndIf
Label1.ForeColor=QBColor(n)
EndSub
3.2登录
登录,如图3.2所示,若已经有账号,只需输入正确的用户名和密码,点击“登陆”按钮就可以打开MDI主窗体,如图3.4所示;若没有账号,点击“注册”按钮,就可以打开注册新用户窗体,如图3.5所示。
图3.2登录
登录代码如下:
PrivateSubCommand1_Click()
注册用户.Show
EndSub
PrivateSubCommand2_Click()
DimmicountAsInteger
DimstrAsString
str="select密码from系统信息where用户名='"&Text1.Text&"'"
Adodc1.RecordSource=str
Adodc1.Refresh
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"用户名错误,请重新输入",vbExlamation,"警告"
Text1.Text=""
Text2.Text=""
Text1.SetFocus
Else
IfTrim(Adodc1.Recordset.Fields("密码"))=Trim(Text2.Text)Then
MDIForm1.Show
UnloadMe
Else
MsgBox"密码错误,请重新输入",vbExlamation,"警告"
Text2.Text=""
Text2.SetFocus
EndIf
EndIf
micount=micount+1
Ifmicount>=3ThenUnloadMe
EndSub
PrivateSubCommand3_Click()
UnloadMe
封面.Show
EndSub
3.3主菜单
主窗体,如图3.3所示,设计为MDI窗体,含有主菜单:
[系统管理]、[数据管理]、[数据查询]。
[系统管理]菜单包含[注册新用户]菜单和[退出]菜单。
[数据管理]包含[图书出库管理]菜单,[图书入库管理]菜单,[读者罚款管理]菜单和[读者信息管理]菜单。
[数据查询]包含[查询图书信息]菜单,[查询图书库存信息]菜单和[查询读者信息]菜单。
图3.3主窗体
主菜单代码如下:
PrivateSub图书信息浏览_Click()
图书信息浏览.Show
EndSub
PrivateSubmFExit_Click()
UnloadMe
EndSub
PrivateSub查询读者信息_Click()
读者信息查询.Show
EndSub
PrivateSub查询图书库存信息_Click()
图书库存信息查询.Show
EndSub
PrivateSub查询图书信息_Click()
图书信息查询.Show
EndSub
PrivateSub读者罚款管理_Click()
读者罚款.Show
EndSub
PrivateSub图书出库信息_Click()
图书出库.Show
EndSub
PrivateSub读者信息管理_Click()
读者信息.Show
EndSub
PrivateSub新用户注册_Click()
注册用户.Show
EndSub
PrivateSub图书信息查询_Click()
图书信息查询.Show
EndSub
PrivateSub读者信息查询_Click()
读者信息查询.Show
EndSub
PrivateSub图书入库信息_Click()
图书入库.Show
EndSub
3.4注册新用户
注册新用户窗体可用于添加新的用户名和密码。
可以通过单击“注册新用户”菜单,打开对话框;也可以在登录窗体,点击“注册”按钮,进行注册。
若输入正确,则将新的用户名和密码保存到“系统信息”表中,并提示“注册完成”,关闭本窗体,如图3.4所示。
图3.4注册成功
注册新用户代码如下:
PrivateSubCommand1_Click()
Dimstr1AsString
str1="select*from系统信息"
Adodc1.RecordSource=str1
Adodc1.Refresh
IfText3.Text<>Text2.TextThen
MsgBox"密码不相同,请重新输入!
"
Text2.Text=""
Text3.Text=""
Text2.SetFocus
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("用户名")=Text1
Adodc1.Recordset.Fields("密码")=Text2
Adodc1.Recordset.Update
MsgBox"注册完成!
"
EndIf
UnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
3.5读者信息管理
读者信息管理窗体用于浏览和录入读者信息[4]。
该窗体以文本框显示当前记录,用按钮[首记录]、[末记录]、[前移]、[后移],控制记录指针的移动;用一个标签Label显示:
当前记录号/记录总数;单击[返回]按钮,可以关闭本窗体,返回主窗体。
可以对记录进行添加、确认、删除、取消操作,如图3.5所示。
其余信息管理窗体与代码均与此类似,不作说明。
图3.5读者信息浏览窗体
读者信息代码如下:
PrivateSubcmdadd_Click()
Adodc1.Recordset.AddNew
cmdadd.Enabled=False
cmddel.Enabled=False
cmdok.Enabled=True
cmdCancel.Enabled=True
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdCancel_Click()
UnloadMe
MDIForm1.Show
EndSub
PrivateSubcmddel_Click()
x=MsgBox("确实要删除当前记录吗?
",vbYesNo+vbQuestion)
Ifx=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
EndIf
Else
Adodc1.Refresh
EndIf
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdfirst_Click()
Adodc1.Recordset.MoveFirst
cmdfirst.Enabled=False
cmdpre.Enabled=False
cmdnext.Enabled=True
cmdlast.Enabled=True
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdlast_Click()
Adodc1.Recordset.MoveLast
cmdfirst.Enabled=True
cmdpre.Enabled=True
cmdnext.Enabled=False
cmdlast.Enabled=False
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdnext_Click()
Adodc1.Recordset.MoveNext
cmdfirst.Enabled=True
cmdpre.Enabled=True
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
cmdlast.Enabled=False
cmdnext.Enabled=False
EndIf
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdok_Click()
Adodc1.Recordset.Update
cmdadd.Enabled=True
cmddel.Enabled=True
cmdok.Enabled=False
cmdCancel.Enabled=False
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubcmdpre_Click()
Adodc1.Recordset.MovePrevious
cmdnext.Enabled=True
cmdlast.Enabled=True
IfAdodc1.Recordset.BOF=TrueThen
Adodc1.Recordset.MoveFirst
cmdfirst.Enabled=False
cmdpre.Enabled=False
EndIf
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
cmdfirst.Enabled=False
cmdpre.Enabled=False
cmdnext.Enabled=True
cmdlast.Enabled=True
cmdadd.Enabled=True
cmddel.Enabled=True
cmdok.Enabled=False
cmdCancel.Enabled=True
Label5.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
3.6图书库存信息查询
图书库存信息查询窗体可以满足按各种条件的查找[5],这些条件放在组合列表框Combo中,供用户选择。
在文本框中输入要查询的内容,如图3.6所示,单击[查询]按钮,查询结果用网格控件显示如3.7所示。
其余查询窗体与代码均与此类似,不作另行说明。
图3.6图书库存信息查询窗体
图3.7查询结果
图书库存信息查询代码如下:
PrivateSubCommand1_Click()
DimstrAsString
str="Select*From图书库存"
str=str&"Where图书库存."&Combo1.Text&"Like'"&Text1&"%'"
Adodc1.RecordSource=str
Adodc1.Refresh
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
UnloadMe
MDIForm1.Show
EndSub
PrivateSubForm_Load()
Combo1.AddItem"图书编号"
Combo1.AddItem"书名"
Combo1.AddItem"库存量"
Combo1.AddItem"单价"
Text1.Text=""
Combo1.Text=""
EndSub
PrivateSubDataGrid1_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Combo1.AddItem"图书编号"
Combo1.AddItem"图书名"
Combo1.AddItem"库存量"
Combo1.AddItem"单价"
Text6.Text=""
EndSub
总结
通过这次数据库课程设计,我学会了如何利用MicrosoftSQLServer2005软件建立相关信息的数据库,并通过MicrosoftVisualBasic6.0实现对相关信息的查询,将所学知识都运用到实践中去,增加了我对数据库的兴趣,让我能更清楚地了解到数据库在现实生活中为我们带来的极大便利,方便我们将所需要的信息进行规划和管理,将信息集中管理也为我们查询我们所需要的信息带来了简易的途经。
但是,这个图书馆信息管理系统并不是很完善,还有需改进之处。
最后,感谢数据库课程设计老师对我耐心的教导和帮助,为我解决了许多在课堂上没弄懂的问题,让我对数据库有了更进一步的认识和了解。
今后我会更加努力学习数据库的相关知识,相信能为我以后带来很大的帮助。
参考文献
[1]王珊.数据库系统简明教程.北京:
高等教育出版社.2004,9
[2]赛奎春.VisualBasic信息系统开发实例精选.北京:
高等教育出版社.2004,9
[3]刘韬,何旭洪.VisualBASIC数据库系统开发实例导航.北京:
人民邮电出版社.2002,10
[4]张海潘.软件工程导论.北京:
清华大学出版社.1999,19
(2);138~143
[5]闫宏印.VB程序设计.北京:
电子工业出版社.2002;1~20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 信息管理 系统 数据库 课程设计 VBSQL