图书馆管理信息系统Word格式文档下载.docx
- 文档编号:22974497
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:25
- 大小:413.37KB
图书馆管理信息系统Word格式文档下载.docx
《图书馆管理信息系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书馆管理信息系统Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
(3)如果用户在一个月内未还书,那么将向用户收取每天0.5元的罚金
(4)图书馆将维护有关书籍、作者和出版商的详细信息
(5)图书馆将维护会员的详细信息
(6)需要考虑一本书可能会有两个作者的情况
2、技术要求
(1)有关图书馆的会员和书籍的详细信息应可更新
(2)系统应能提供更新有关书籍作者和出版商的相关信息的方法
(3)需要提供根据书籍名称搜索功能
(4)可以根据会员ID和会员姓名检索会员的相关信息
(5)系统应提供相关报表
三、设计目标
1、设计出一个功能强大,界面友好,使用方便的学生信息管理系统。
2、能够很好的对信息进行维护,以及用户权限的管理和维护。
第三章系统设计和实现
一、数据库设计
根据系统的功能需求,本系统数据库采用MicrosoftAccess,它不但适合工作的需求,而且它所支持的数据类型十分丰富,维护简单,费用较低,人员素质要求不是很高,容易升级。
在图书信息管理系统的数据库中,需要包含图书会员表、书籍类别表、书籍信息表、书籍作者表、书籍出版商表、用户登录表、罚金表及借阅书籍事务表。
1、创建表结构
数据表定义:
数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:
属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。
关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。
数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
单击数据库中的“表”对象,单击右侧的“使用设计器设计表”完成以下的表结构。
总表
序号
表名称
用途
1
Users
图书馆的会员/用户信息
2
bookcategories
书籍类别信息
3
bookInformation
各种馆藏书籍的详细信息
4
authors
馆藏书籍的作者详细资料
5
publishers
馆藏书籍的出版商详细资料
6
issues
借出书籍的详细信息
7
fakuan
罚款计算的详细信息
表3.1
Users(会员表)
列名称
数据类型
说明
userID
自动编号
用户ID
userName
文本
用户姓名
userAddress
备注
用户地址
userContactNo
用户联系电话
userMobileNo
用户手机号码
userEmailID
用户电子邮件地址
DOJ
日期/时间
用户作为会员加入图书馆的日期
8
DOR
预期会员资格到期日期
9
LibRees
是/否
用户是否已为本年度会员资格付费
表3.2
bookcategories(书籍类别表)
catCode
3位类别代码
catName
类别名称
catDesc
类别的说明
表3.3
bookInformation(书籍信息表)
bookID
书籍ID
bookName
书名
bookDesc
书籍说明
bookISBN
书籍ISBN编号
bookCount
数字
馆藏书籍册数
bookPrice
小数
书籍价格
publishID
出版商ID
cateCode
书籍的第一级或第二级类别代码
authorID1
作者1的ID
10
authorID2
作者2的ID
11
purchaseDate
日期
购书日期
表3.4
authors(作者)
authorID
作者ID
authorName
作者姓名
authorEmailID
作者电子邮件地址
表3.5
publishers(出版商)
publishName
出版商名称
publishAddress
出版商地址
publishContactNo
出版商联系电话
publishMobilNo
出版商手机号码
publishEmailID
出版商电子邮件地址
表3.6
issues(借书/还书)
issueID
借出事务处理ID
issueDate
书籍借出日期
借书用户的ID
借出书籍的ID
dueDate
书籍到期日期
returnDate
还书日期
表3.7
fakuan(罚金表)
出现罚款的借出事务处理ID
fakuanDate
罚款交付日期
fakuanMoney
数字–小数
罚款金额
表3.8
2、建立表关系
为了表现这种逻辑关系。
在数据库图书馆管理系统中还需要建立表相应字段的关系,定义参照完整性。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在关系。
若有关系,进一步确定是1:
多,多:
多,还是1:
1。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
如:
一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;
一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;
一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。
各个表之间的关系
图3.1
3、输入表记录
如图:
作者信息表
图3.2
二、创建窗体
利用Access中的“工具箱”和“属性设置”,针对数据库中的各个数据表创建不同的窗体,让其窗体对后台数据进行联接。
操作具体方法如下:
第一步:
选择数据库中的“窗体”对象,选择“新建”命令按钮。
第二步:
在弹出的“新建窗体”对话框中(如下图所示),单击“设计视图”,选择该对象数据的来源表或查询,单击“确定”按钮。
“新建窗体”对话框中
图3.3
第三步:
在新建窗体中把相关的字段列表拖放到舞台,更改其属性,如名称、标题、数据源、控件来源、导航按钮、记录选择器、分隔线等。
第四步:
利用工具箱添加相关的控件按钮。
第五步:
进行窗体整体布局,如对齐方式、控件摆放位置等。
窗体分别如下:
会员信息窗体书籍信息窗体
图3.4图3.5
出版商信息窗体作者详细信息窗体
图3.6图3.7
借阅还书窗体罚金信息窗体
图3.8图3.9
查询窗体增加书籍窗体
图3.10图3.11
三、编写窗体代码
因Access中具有导航记录功能按钮,所以对于上述窗体的部分按钮只需通过向导控件即可完成。
少部分按钮完成代码的编写,实现人机交互的功能。
1、会员信息窗体
“查找”按钮:
DimstDocNameAsString
DimstLinkCriteriaAsString
stDocName="
frmfindusers"
DoCmd.OpenFormstDocName,,,stLinkCriteria
“打印会员卡号”按钮:
printuserinformation"
DoCmd.OpenReportstDocName,acPreview
“每年会员人数统计”按钮:
printyearusercount"
“本月需缴会费的会员”按钮:
printmonthjiaofeirenyuan"
2、书籍信息窗体
“增加”按钮:
PrivateSubcmdaddbook_Click()
frmaddbook"
EndSub
3、查询窗体
首先定义申明如下:
OptionCompareDatabase
DimconnAsADODB.Connection
DimrsAsADODB.Recordset
其实在“查询”按钮编写代码:
在本系统中,任何人都有权限使用查询功能,不做任何限制。
由于实现的查询功能有多种,如按图书编号、图书名称等字段进行完全匹配查找和部分匹配的模糊查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找。
其中实现的方法者差不多,所以只给出多条件查找的代码。
在这个功能中可以在(会员查找)中输入会员姓名,点查找按钮后就会在各个相应的组件中显示出信息,或按会员名称模糊查找到所要的记录,在各个相应的组件中显示第一条记录的信息在各个相应的组件中也会显示所选记录的信息
PrivateSubcmdquery_Click()
DimstrsqlAsString
IfIsNull(txtusername.Value)Then
strsql="
select*fromusers"
Else
select*fromuserswhereuserNamelike'
%"
&
txtusername.Value&
"
%'
"
EndIf
Debug.Printstrsql
Setrs=NewADODB.Recordset
rs.Openstrsql,conn,3,3
MsgBox("
共查询到"
rs.RecordCount&
条记录"
)
Calldisplay
PrivateSubdisplay()
If(rs.BOF=False)Then
txtuserID.Value=rs.Fields("
userID"
).Value
txtusername.Value=rs.Fields("
userName"
txtname.Value=rs.Fields("
txtaddress.Value=rs.Fields("
userAddress"
txtcontactno.Value=rs.Fields("
userContactNo"
txtmobil.Value=rs.Fields("
userMobileNo"
txtemail.Value=rs.Fields("
userEmailID"
txtDOJ.Value=rs.Fields("
DOJ"
txtDOR.Value=rs.Fields("
DOR"
txtnowrecord.Value=rs.AbsolutePosition
txtrecordcount.Value=rs.RecordCount
Ifrs.Fields("
LibRees"
).ValueThen
chkmoney.Value=True
Else
chkmoney.Value=False
EndIf
MsgBox"
没有查询到记录"
rs.Close
4、借阅还书窗体
当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。
“借阅”按钮:
IfIsNull(Me.txtbookID.Value)OrNotIsNumeric(Me.txtbookID.Value)ThenMsgBox("
您的书籍ID号未输入或书籍ID号格式不对"
ExitSub
ElseSetrs=NewADODB.Recordset
rs.Open"
select*fromissues"
cn,3,3
rs.AddNew
rs("
bookID"
)=CInt(txtbookID.Value)
)=CInt(txtuserID.Value)
rs.Update
rs.Close
Setrs=Nothing
MsgBox("
您可以借阅"
“归还”按钮:
DimflagAsBoolean
DimissidAsInteger
DimduedateAsDate
select*fromissueswherebookID="
(txtbookID.Value)&
anduserId="
(txtuserID.Value)&
andreturnDateisNull"
rs.Openstrsql,cn,3,3
IfNotrs.EOFThen
flag=True
issid=rs("
issueID"
duedate=rs("
duedate"
错误"
flag=False
Setrs=Nothing
Ifflag=FalseThen
您输入的书籍ID或会员ID错误!
strsql="
updateissuessetreturnDate="
Date&
whereissid="
issid&
'
cn.Execute(strsql)
归还成功!
bookID.Value="
userID.Value="
IfCDate(duedate)<
DateThen
您借书时间超过了1个月,请缴纳罚金!
事务ID号为:
issid)
四、登录系统
1、界面设计
按照上述方法在工程中添加“图书馆管理信息系统登录”的窗体,命名为登录窗口,并对此窗体进行相关的属性设置,将“密码”文本框的属性“输入掩码”设定为“密码”,运行时该文本框将以*号输入。
登录窗口
图3.12
2、登录功能实现
使用本系统的用户只能是管理员。
所以在设计登录窗体时,一定要以图书管理员身份才可登录。
如果用户输入的用户名及密码口令和数据库中对应的用户名和密码吻合,则用户登录成功,此时系统会自动退出登录窗体,并进入到欢迎窗体界面。
欢迎界面
图3.13
如果用户所输入的用户名和口令,没有通过数据库验证,则用户登录失败。
用户需要重新输入用户和口令。
3、编写登录代码
将“用户”文本框中将此命名重命名为txtuser,“密码”文本框命名为txtpassword,“确定”按钮命名为cmdOK,对cmdOK按钮编写代码,如下:
OptionExplicit
PrivateSubcmdOK_Click()
Iftxtuser.Value=DLookup("
loadname"
"
loadtable"
)Andtxtpassword.Value=DLookup("
password"
)Then
DoCmd.OpenForm("
index"
您输入的用户名或密码有错,请重新输入!
五、创建主界面
本系统采取切换面换来组织系统中各个窗体。
该界面是一种Windows用户界面标准,它有一个父窗体和多个子窗体。
在典型情况下,父窗体可用来显示子窗体。
它能够以便捷的方式导航数据库,单击切换面板上的按钮可以打开窗体、报表或打开其他切换面板以打开另外的窗体和报表,甚至可以退出MicrosoftAccess。
1、主切换面板的界面设计
在窗体对象中新建一个窗体,命名为主切换面板。
它是整个系统的框架和基础,所有的窗体的展现都将在这里得以实现。
1选择菜单项“工具”中的“数据库实用工具”中的“切换面板管理器”。
2单击“编辑”按钮,选择“新建”命令按钮,在相应的对话框中选择相应的文本、命令及窗体,最后单击“确定”按钮。
3重复上述操作,将不同的窗体都添加到切换面板中。
4此时单击切换面板上相应的按钮可以分别打开窗体、报表或退出应用程序。
主切换面板
图3.14
2、界面工作流程
主切换面板窗体的作用主要是作为整个系统中的各个功能窗体的父窗体。
每个子窗体中都有一个“退出”向导按钮,单击此按钮均可实现退出此窗体的操作。
若用户想退出数据库界面,则可以通过主切换面板中的“退出”切换按钮即可实现。
为防止用户不小心无意退出的可能性,故创建一个“退出”窗体对话框。
如图所示:
退出对话框
图3.15
代码编写如下:
PrivateSubcmdno_Click()
DoCmd.Close
PrivateSubcmdyes_Click()
DoCmd.Quit
六、整个程序运行效果的实现
因为要执行Access的运行程序,其相对其它开发应用程序有着不可避免的缺陷,不可生成可执行文件,所以为使整个窗体在运行时能够美观大方,所以最后进行了一步宏的操作,让其不但可以自动执行窗体操作,并能以最大化展示出界面。
操作方法如下:
1、通过从数据库窗口中的对象列表选择“宏”对象,新建一个宏。
2、在宏设计窗口中,将第一个操作指定为Maximize,在执行下个操作之前,此操作会将活动窗口最大化,将下下个操作指定为OpenForm,然后将要打的窗体批定为“登录窗口”。
3、将宏以“AutoExec”名称保存,因此,在下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理信息系统