《图书馆信息管理系统-数据库课程设计VB-SQL.doc》由会员分享,可在线阅读,更多相关《图书馆信息管理系统-数据库课程设计VB-SQL.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要在计算机日益普及得今天,图书作为教学与学习必不可少得工具,采用一套行之有效得图书管理系统来管理书籍就显得尤为重要。而图书资料得管理需要有效得图书管理软件,减轻工作人员得工作量,方便工作人员对它得操作,提高管理得质量与水平,做到高效、智能化管理,达到提高图书借阅信息管理效率得目得。 本文运用Visual Basic 6、0与SQL Server 2005软件,进行图书馆管理系统得课程设计。首先对系统进行需求分析,根据系统功能设计E-R模型,再进行逻辑结构设计实现E-R图向关系模型得转换,并优化数据模型,使其拥有一般系统拥有得功能,它可以增加读者信息,可以对新书进行入库,删除旧书,可以查询所
2、有得读者信息,还可以对图书进行修改校正,以及解决自己登录安全性得问题,最重要得就是可以进行对图书得借阅与归还,并对超过还书期限得读者进行处罚,同时改变图书库存与被借阅次数得信息。具体功能有图书馆图书信息浏览、读者信息浏览、图书信息查询、图书入库管理、图书出库管理、读者借书超期罚款管理与读者信息维护等。本图书馆信息管理系统具有可运行,功能较完整,界面美观,操作方便等特点,它可以更加人性化得满足小型图书馆得日常借阅问题,达到一个很理想得智能管理得目得。关键词 图书馆信息管理系统;VB;SQL;数据库目 录1 系统功能概述11、1 系统得功能11、2 系统结构总图22 数据库设计32、1 需求分析3
3、2、2 E-R模型32、3 关系模型32、4 表结构设计63 系统各功能模块得详细设计103、1 封面103、2 登录113、3 主菜单123、4 注册新用户143、5 读者信息管理153、6 图书库存信息查询17总结20参考文献201 系统功能概述1、1 系统得功能图书馆信息管理得主要任务就是用计算机对图书交换过程进行日常管理,如图书馆图书信息浏览、读者信息浏览、图书信息查询、借还书等,迅速准确地完成各种信息得统计计算与汇总工作,并快速打印信息报表。针对系统服务对象得具体要求,设计了图书馆信息管理系统。图书馆信息管理系统主要包含以下功能:(1)图书管理:对图书中图书得信息,如图书编号、书名等
4、基本信息进行维护与管理。能够完成各种信息得新增、确认、删除、取消操作,也可按照一定得条件查询这些信息。(2)读者管理:系统可以完成读者基本信息得新增、确认、删除、取消操作,并可按照一定得条件查询与图书相关得信息。(3)库存管理:在系统中可以完成图书入库信息得管理,完成图书相关信息得新增、确认、删除、取消操作,可以按一定得条件查询这些信息。数据库包含以下实体及其属性:(1) 图书信息 (图书编号、书名、作者、版次、出版社、出版日期、类别、借阅次数、借阅状态)(2) 读者信息 (借书证号、姓名、性别、年龄、单位、联系电话、读者类别、就是否超期)(3) 图书入库信息 (图书编号、库存量、单价、入库日
5、期)(4) 图书出库信息(借书证号、书名、借阅日期、还书日期)(5) 图书库存信息 (图书编号、书名、库存量、单价)(6) 读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)(7)系统信息(用户名、密码)1、2 系统结构总图根据功能画出图书馆信息管理系统结构图,如图1、1所示。图 书 信 息图 书 出 库 信 息图 书 库 存 信 息读 者 信 息读 者 罚 款 信 息读 者 借 书 信 息 图 书 入 库 信 息图书管理图书馆信息管理系统读者管理库存管理图1、1图书馆信息管理系统得总体结构2 数据库设计2、1 需求分析面对大量繁杂得图书信息管理、分类、查询与借还工作,迫切需要通过计
6、算机来帮助解决,减少图书馆管理人员得工作量。随着办公自动化得深入及普及与网络技术得不断发展,图书馆信息管理系统越来越被社会所需要,本图书馆信息管理系统具有界面友好、使用方便等优点。 1、图书信息查询。当需要从数据库中查找满足查询条件得图书时,可以使用该功能。选择查询条件填入对应得功能,点击“查询”完成查询操作。 2、借阅管理。借阅管理分为借阅与归还两部分。点击“借阅”单选按钮,这时扫入图书相关信息就可以借阅了。 3、注册新用户。注册新用户就是用来注册能使用该软件得用户名与密码。当注册完用户之后,退出该软件重新进入,会要求选择用户名与密码,此时如果不能正确输入密码,则不能进入该软件。2、2 E-
7、R模型图书馆信息管理系统E-R图,如图2、1所示。加入读者图书mnmn属于图书馆图2、1 图书馆信息管理系统E-R图2、3 关系模型一个实体型转换为一个关系模式1。实体得属性就就是关系得属性,实体得码就就是关系得码。根据E-R图向关系模型转换得原则,把图2、2中得E-R图转换为关系模型。(1)图书信息 (图书编号、书名、作者、版次、出版社、出版日期、类别、借阅次数、借阅状态)出版社 图书编号 版次 借阅状态 作者 图书信息 书 名出版日期借阅次数 类别图2、2 图书信息关系模型图(2)读者信息 (借书证号、姓名、性别、年龄、单位、联系电话、读者类别、就是否超期)就是否超期性 别 单位读者类别借
8、书证号 读者信息 年龄姓 名联系电话图2、3 读者信息关系模型图(3)图书入库信息 (图书编号、库存量、单价、入库日期)图书入库信息 图书编号 库存量 单价 入库日期图2、4 图书入库信息关系模型图(4)图书出库信息(借书证号、书名、借阅日期、还书日期) 书 名 借阅日期 图书出库信息 归还日期借书证号图2、5 图书出库信息关系模型图(5)图书库存信息 (图书编号、书名、库存量、单价) 图书库存信息图书编号 书名 库存量 单价图2、6 图书库存信息关系模型图(6)读者罚款信息(借书证号、书名、处罚日期、超期天数、罚款金额)读者罚款处罚日期书名罚款金额借书证号超期天数图2、7 读者罚款信息关系模
9、型图2、4 表结构设计本系统需在SQL Server中建立七个表,分别为图书信息,读者信息,图书入库信息、图书出库信息、图书库存信息、读者借书信息与系统信息。(1) 图书信息表得结构与基本数据:表结构:图2、8图书信息表结构 基本数据如下:图2、9 图书信息数据(2) 读者信息表得结构与基本数据:表结构:图2、10 读者信息表结构基本数据如下:图2、11 读者信息基础数据(3) 图书入库信息表得结构与基本数据:表结构:图2、12 图书入库表结构基本数据如下:图2、13 图书入库基础数据(4) 图书出库信息表得结构与基本数据:表结构:图2、14 图书出库表结构基本数据如下:图2、15 图书出库基
10、础数据(5) 图书库存信息表得结构与基本数据:表结构:图2、16 图书库存表结构基本数据如下:图2、17 图书库存基础数据(6) 读者借书信息表得结构与基本数据:表结构:图2、18 读者借书表结构基本数据如下:图2、19 读者借书基础数据(7) 系统信息表得结构与基本数据:表结构:图2、20 系统信息表结构基本数据如下:图2、21系统信息基础数据3 系统各功能模块得详细设计本图书馆信息管理系统共包括11个窗体,分别为欢迎,登录,注册新用户,图书信息浏览,读者信息浏览,图书出库信息,图书入库信息,图书信息查询,读者信息查询,图书库存信息查询与主窗体。其中主窗体为MDI窗体2。下面介绍各个窗体得设
11、计语句及实现功能。3、1 封面封面,如图3、1所示,标题为“欢迎进入图书馆管理系统”,点击“进入系统”按钮,就可以关闭本窗体并打开登录窗体。图3、1 封面封面代码如下:Private Sub Command1_Click()登录窗体、ShowUnload MeEnd SubPrivate Sub Timer1_Timer()Static n As Integer n = n + 1If n 15 Then n = 0End IfLabel1、ForeColor = QBColor(n)End Sub3、2 登录登录,如图3、2所示,若已经有账号,只需输入正确得用户名与密码,点击“登陆”按钮就可
12、以打开MDI主窗体,如图3、4所示;若没有账号,点击“注册”按钮,就可以打开注册新用户窗体,如图3、5所示。图3、2 登录登录代码如下:Private Sub Command1_Click()注册用户、ShowEnd SubPrivate Sub Command2_Click()Dim micount As IntegerDim str As Stringstr = select 密码 from 系统信息 where 用户名 = & Text1、Text & Adodc1、RecordSource = strAdodc1、RefreshIf Adodc1、Recordset、EOF = Tru
13、e ThenMsgBox 用户名错误,请重新输入, vbExlamation, 警告Text1、Text = Text2、Text = Text1、SetFocusElseIf Trim(Adodc1、Recordset、Fields(密码) = Trim(Text2、Text) ThenMDIForm1、ShowUnload MeElse MsgBox 密码错误,请重新输入, vbExlamation, 警告Text2、Text = Text2、SetFocusEnd IfEnd Ifmicount = micount + 1If micount = 3 Then Unload MeEnd
14、SubPrivate Sub Command3_Click()Unload Me封面、ShowEnd Sub3、3 主菜单主窗体,如图3、3所示,设计为MDI窗体,含有主菜单:系统管理、数据管理、数据查询。系统管理菜单包含注册新用户菜单与退出菜单。数据管理包含图书出库管理菜单,图书入库管理菜单, 读者罚款管理菜单与读者信息管理菜单。数据查询包含查询图书信息菜单,查询图书库存信息菜单与查询读者信息菜单。图3、3 主窗体主菜单代码如下:Private Sub 图书信息浏览_Click()图书信息浏览、ShowEnd SubPrivate Sub mFExit_Click()Unload MeEnd
15、 SubPrivate Sub 查询读者信息_Click()读者信息查询、ShowEnd SubPrivate Sub 查询图书库存信息_Click()图书库存信息查询、ShowEnd SubPrivate Sub 查询图书信息_Click()图书信息查询、ShowEnd SubPrivate Sub 读者罚款管理_Click()读者罚款、ShowEnd SubPrivate Sub 图书出库信息_Click()图书出库、ShowEnd SubPrivate Sub 读者信息管理_Click()读者信息、ShowEnd SubPrivate Sub 新用户注册_Click()注册用户、Show
16、End SubPrivate Sub 图书信息查询_Click()图书信息查询、ShowEnd SubPrivate Sub 读者信息查询_Click()读者信息查询、ShowEnd SubPrivate Sub 图书入库信息_Click()图书入库、ShowEnd Sub3、4 注册新用户注册新用户窗体可用于添加新得用户名与密码。可以通过单击“注册新用户”菜单,打开对话框;也可以在登录窗体,点击“注册”按钮,进行注册。若输入正确,则将新得用户名与密码保存到“系统信息”表中,并提示“注册完成”,关闭本窗体,如图3、4所示。图3、4 注册成功注册新用户代码如下:Private Sub Comma
17、nd1_Click()Dim str1 As Stringstr1 = select * from 系统信息Adodc1、RecordSource = str1Adodc1、RefreshIf Text3、Text Text2、Text ThenMsgBox 密码不相同,请重新输入!Text2、Text = Text3、Text = Text2、SetFocusElseAdodc1、Recordset、AddNewAdodc1、Recordset、Fields(用户名) = Text1Adodc1、Recordset、Fields(密码) = Text2Adodc1、Recordset、Upd
18、ateMsgBox 注册完成!End IfUnload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub3、5 读者信息管理读者信息管理窗体用于浏览与录入读者信息4。该窗体以文本框显示当前记录,用按钮首记录、末记录、前移、后移,控制记录指针得移动;用一个标签Label显示:当前记录号/记录总数;单击返回按钮,可以关闭本窗体,返回主窗体。可以对记录进行添加、确认、删除、取消操作,如图3、5所示。其余信息管理窗体与代码均与此类似,不作说明。图3、5 读者信息浏览窗体读者信息代码如下:Private Sub cmdadd_Click()Ado
19、dc1、Recordset、AddNewcmdadd、Enabled = Falsecmddel、Enabled = Falsecmdok、Enabled = TruecmdCancel、Enabled = TrueLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub cmdCancel_Click()Unload MeMDIForm1、ShowEnd SubPrivate Sub cmddel_Click()x = MsgBox
20、(确实要删除当前记录吗?, vbYesNo + vbQuestion)If x = vbYes ThenAdodc1、Recordset、DeleteAdodc1、Recordset、MoveNextIf Adodc1、Recordset、EOF = True ThenAdodc1、Recordset、MoveLastEnd IfElseAdodc1、RefreshEnd IfLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub
21、cmdfirst_Click()Adodc1、Recordset、MoveFirstcmdfirst、Enabled = Falsecmdpre、Enabled = Falsecmdnext、Enabled = Truecmdlast、Enabled = TrueLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub cmdlast_Click()Adodc1、Recordset、MoveLastcmdfirst、Enabled =
22、 Truecmdpre、Enabled = Truecmdnext、Enabled = Falsecmdlast、Enabled = FalseLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub cmdnext_Click()Adodc1、Recordset、MoveNextcmdfirst、Enabled = Truecmdpre、Enabled = TrueIf Adodc1、Recordset、EOF = True The
23、nAdodc1、Recordset、MoveLastcmdlast、Enabled = Falsecmdnext、Enabled = FalseEnd IfLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub cmdok_Click()Adodc1、Recordset、Updatecmdadd、Enabled = Truecmddel、Enabled = Truecmdok、Enabled = FalsecmdCancel、Ena
24、bled = FalseLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub cmdpre_Click()Adodc1、Recordset、MovePreviouscmdnext、Enabled = Truecmdlast、Enabled = TrueIf Adodc1、Recordset、BOF = True ThenAdodc1、Recordset、MoveFirstcmdfirst、Enabled = Falsecmdpre
25、、Enabled = FalseEnd IfLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd SubPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub Form_Load()cmdfirst、Enabled = Falsecmdpre、Enabled = Falsecmdnext、Enabled = Truecmdlast、Enabled = Truecmdadd、Enabled = Truecm
26、ddel、Enabled = Truecmdok、Enabled = FalsecmdCancel、Enabled = TrueLabel5、Caption = 记录: & Adodc1、Recordset、AbsolutePosition & / & Adodc1、Recordset、RecordCountEnd Sub3、6 图书库存信息查询图书库存信息查询窗体可以满足按各种条件得查找5,这些条件放在组合列表框Combo中,供用户选择。在文本框中输入要查询得内容,如图3、6所示,单击查询按钮,查询结果用网格控件显示如3、7所示。其余查询窗体与代码均与此类似,不作另行说明。图3、6 图书库存
27、信息查询窗体图3、7 查询结果图书库存信息查询代码如下:Private Sub Command1_Click()Dim str As Stringstr = Select * From 图书库存 str = str & Where 图书库存、 & Combo1、Text & Like & Text1 & % Adodc1、RecordSource = str Adodc1、RefreshEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()Unload MeMDIForm1、ShowEnd
28、SubPrivate Sub Form_Load()Combo1、AddItem 图书编号Combo1、AddItem 书名Combo1、AddItem 库存量Combo1、AddItem 单价Text1、Text = Combo1、Text = End SubPrivate Sub DataGrid1_Click()Unload MeEnd SubPrivate Sub Form_Load()Combo1、AddItem 图书编号Combo1、AddItem 图书名Combo1、AddItem 库存量Combo1、AddItem 单价Text6、Text = End Sub总结通过这次数据库
29、课程设计,我学会了如何利用Microsoft SQL Server2005软件建立相关信息得数据库,并通过Microsoft Visual Basic 6、0实现对相关信息得查询,将所学知识都运用到实践中去,增加了我对数据库得兴趣,让我能更清楚地了解到数据库在现实生活中为我们带来得极大便利,方便我们将所需要得信息进行规划与管理,将信息集中管理也为我们查询我们所需要得信息带来了简易得途经。但就是,这个图书馆信息管理系统并不就是很完善,还有需改进之处。最后,感谢数据库课程设计老师对我耐心得教导与帮助,为我解决了许多在课堂上没弄懂得问题,让我对数据库有了更进一步得认识与了解。今后我会更加努力学习数据库得相关知识,相信能为我以后带来很大得帮助。参考文献1 王珊、数据库系统简明教程、北京:高等教育出版社、2004,92 赛奎春、Visual Basic信息系统开发实例精选、北京 :高等教育出版社、2004,93 刘韬,何旭洪、Visual BASIC数据库系统开发实例导航、北京:人民邮电出版社、2002,104 张海潘、软件工程导论、北京:清华大学出版社、1999,19(2);1381435 闫宏印、VB程序设计、北京:电子工业出版社、2002;120
限制150内