您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Access应用实例――图书借阅管理系统
Access数据库应用实例——图书借阅管理系统本“图书借阅管理系统”是以实现图书馆借阅工作系统化为目的和背景而设计开发的一个简单系统。图书借阅管理系统主要实现对图书馆工作的信息化管理。本系统实现了对图书的基本信息和会员(图书借阅者)的基本信息的登记、保存、统计和查询等功能,另外还对会员的借阅信息进行了登记、保存、统计并能查询,同时实现了对图书的数据化管理。很大程度上实现了图书馆图书借阅工作的信息化管理。一、系统总体分析与设计根据图书馆借阅场景中为方便图书管理人员工作的需求,“图书借阅管理系统”可以分为对图书的管理、对会员的管理、对借阅过程的管理和对系统的维护等几方面。(1)图书管理:主要包括对图书基本信息、图书存放位置、图书进出库情况等数据的记录、统计和查询,以方便图书管理人员的工作。(2)会员管理:主要包括新增会员、会员资料查询和会员的借书、续借、还书和超期情况的查询等。(3)借阅过程管理:主要包括对图书每日借阅情况的记录、统计和查询,根据不同等级会员借书册数的限制和不同图书限借天数的限制等对图书借阅进行管理。(4)系统维护:主要包括系统数据维护(如:会员信息数据和图书信息数据)和系统数据备份及还原。以实现上述需求为目标,经过全面分析,我们可以初步将整个系统划分为“数据管理”、“借阅管理”、“数据查询”、“每日统计”和“系统维护”五个子模块,通过分别实现各个子模块的功能来实现整个系统的整体功能。各模块功能如下:(1)数据管理:包括对图书和会员基本信息数据的管理,这两块又可细分基本信息管理和等级限制设置。本模块主要实现记录浏览、记录增加、记录修改、记录删除和记录打印等功能。(2)借阅管理:本模块是整个系统的最核心部分,图书借阅管理系统的核心功能基本全部在该模块体现——“借书”、“续借”、“还书”、“罚款缴纳”。该模块对会员借阅图书的全过程进行管理。(3)数据查询:包括图书查询、会员查询、借阅超期查询、借阅记录查询。通过该模块能够实现对图书信息、会员信息、超过借阅期限而未归还的图书、每本图书及每个读者的历史借阅情况等的查询。(4)每日统计:包括统计当天借出的图书、续借的图书、归还的图书、到期该归还的图书和新入库的图书等。(5)系统维护:包括对系统数据库中全部数据信息的维护和系统数据的备份及还原。将上述模块设计图示化后我们便可以得到如图1所示的系统功能模块图:图1系统功能模块图图书借阅管理系统数据管理图书管理会员管理借书图书类别设置会员基本信息管理会员级别设置图书基本信息管理借阅管理还书续借罚款缴纳数据查询每日统计系统维护退出系统图书查询会员查询借阅超期查询借阅记录查询今日借出今日入库今日还书今日到期数据维护数据备份备份还原会员表数据维护图书表数据维护图书借阅表数据维护会员级别表数据维护图书类别表数据维护二、数据库分析与设计1.数据库数据结构分析通过对图书借阅管理的内容和数据分析,创建该管理系统数据库,名为“图书借阅管理系统.mdb”,主要包含的数据表有“会员表”、“会员级别表”、“图书表”、“图书类别表”、“图书借阅表”共五个表。这五个表之间存在着一定的关联关系,各表间的关系如图2所示:图2系统中各表间关系图2.数据库逻辑结构设计“图书借阅管理系统”的各个数据库表结构设计如表1~表5所示:表1“会员表”表结构字段名数据类型字段大小格式主键必填字段会员证编号文本12是是会员级别文本8是会员姓名文本8是会员性别文本2是身份证号文本18是单位名称文本50否单位地址文本50否联系电话文本15否办证日期日期/时间短日期是有效日期日期/时间短日期否照片OLE对象否备注备注否表2“会员级别表”表结构字段名数据类型字段大小格式主键必填字段会员级别文本8是是限借册数数字整型是表3“图书表”表结构字段名数据类型字段大小格式主键必填字段图书编号文本7是是图书分类号文本30是图书类别文本30是书名文本50是作者文本50是出版社文本30是出版日期日期/时间短日期是价格数字双精度型货币是存放位置文本50是入库时间日期/时间短日期是库存总数数字整型是在库数量数字整型是借出数量数字整型是新书入库数字整型否旧书出库数字整型否借出次数数字整型是备注备注否表4“图书类别表”表结构字段名数据类型字段大小格式主键必填字段图书类别文本30是是限借天数数字整型是超期罚款/天数字双精度型货币是表5“图书借阅表”表结构字段名数据类型字段大小格式主键必填字段默认值借阅编号自动编号长整型是图书编号文本7是会员证编号文本12是借阅日期日期/时间短日期是还书日期日期/时间短日期否罚款已缴文本2是“否”备注备注否3.创建数据库和表在数据库数据结构分析和数据库逻辑结构设计完成之后,接下来便可以用Access来创建数据库。一般步骤是首先创建数据库,再创建数据表,最后建立表间关系。(1)创建数据库的操作步骤:首先启动MicrosoftAccess2003,通过“文件”菜单中的“新建”命令,创建一个名为“图书借阅管理系统.mdb”的数据库,如图3所示:图3“新建数据库”文件对话框(2)创建表:在数据库“图书借阅管理系统.mdb”中通过“使用设计器创建表”如图4所示,分别创建“会员表”、“会员级别表”、“图书表”、“图书类别表”和“图书借阅表”,各表结构如表1~表5所示。其中“图书表”表的设计视图如图5所示:图4新建“表”对象用同样的方法在表设计视图中可以分别创建“会员表”、“会员级别表”、“图书类别表”和“图书借阅表”。(3)建立表间关系:单击“工具”菜单的“关系”按钮,从打开的关系窗口中建立表间的关系,得到如图2所示的关系图。至此,已完成了数据库结构的分析设计和表结构的创建。在各个表中输入相关记录,如图6~图10所示:图5“图书表”结构图6会员表信息图7会员级别表信息图8图书类别表信息图9图书表信息图10图书借阅表信息三、查询的设计与实现在本图书借阅管理系统中,要用到大量的查询功能。Access2003提供了5种查询:选择查询、参数查询、交叉表查询、操作查询和SOL查询。其中操作查询又包括生成表查询、更新查询、追加查询和删除查询4种查询。(1)生成表查询:这种查询可以根据一个或多个表中的全部或部分数据新建表。生成表查询有助于创建表以导出到其他MicrosoftAccess数据库或包含所有旧记录的历史表。(2)更新查询:这种查询可以对一个或多个表中的一个或一组记录作全局更改。使用更新查询可以更改已有表中的数据。(3)追加查询:追加查询将一个或多个表中的一组记录添加到一个或多个表的末尾。(4)删除查询:这种查询可以从一个或多个表中删除一组记录。(使用删除查询,通常会删除整个记录,而不只是记录中的部分字段。)该图书借阅管理系统中主要用到了选择查询、操作查询的更新查询和追加查询,下边我们以实例主要说明一下这几种查询在本系统中的实现方法与过程。1.选择查询的设计与实现分析:在实际图书馆图书借阅过程中,会员(借阅者)或者图书馆管理员经常需要对图书借阅情况进行查询,比如查看某本书是否已归还、某人是否未按期归还图书、某本书是否已到归还期或是某本书是否忘记归还了等等。为了解决上述这些问题,我们就需要设置一些相应的查询(一般都是以“选择查询”为居多)。这些查询能有效地帮我们解决这些问题。步骤:(以“图书借阅超期查询”为例)第一步:选择“在设计视图中创建查询”。(见图11)图11第二步:分别添加“会员表”、“图书表”、“图书借阅表”和“图书类别表”。(见图12)见图12第三步:选择“图书表”中的“图书编号”、“书名”、“作者”、“图书类别”;“会员表”中的“会员证编号”、“会员姓名”、“会员级别”;“图书借阅表”中的“借阅日期”、“还书日期”字段,然后再设立2个新字段——“超期天数”和“应还日期”。这两个新字段是原表中没有的,它们是以原表的部分字段为数据基础,通过数学表达式计算得出的新数据所组成的。(表达式的写入可以通过单击工具栏上的“生成器”按钮,打开“表达式生成器”对话框来完成——如图13)最后在“还书日期”字段的“条件”约束栏中写入约束条件“ISNULL”并在“超期天数”字段的“条件”约束栏中写入约束条件“0”(此处正值为有效值,负值是无效值,因为负值说明还未超期,在该查询中无实用意义,故舍去)。(见图14)下边给出这两个新字段的数学表达式:(1)超期天数:Date()-[借阅日期]-[限借天数];(2)应还日期:[借阅日期]+[限借天数]。图13图14第四步:保存查询。(见图15)图15第五步:运行该查询。(见图16)图16其他选择查询的设计可参照“图书借阅超期查询”的设计来进行,如“借阅历史记录查询”、“今日借出查询”、“今日到期查询”、“今日还书查询”、“今日入库查询”、“借书查询”、“还书查询”、“续借查询”、“罚款查询”等。下边给出上述这几个选择查询的主要设计视图供大家参考:⑴.“借阅历史记录查询”主设计视图:(见图17)图17⑵.“今日借出查询”主设计视图:字段“借阅日期”须以“Date()”(当前日期)作为约束条件。(见图18)图18⑶.“今日到期查询”主设计视图:须通过“表达式生成器”建立新字段“应还日期”且以“Date()”为约束条件,表达式为:应还日期:[借阅日期]+[限借天数]。(见图19)图19⑷.“今日还书查询”主设计视图:字段“还书日期”须以“Date()”作为约束条件。(见图20)图20⑸.“今日入库查询”主设计视图:字段“入库时间”须以“Date()”作为约束条件。(见图21)图21⑹.“借书查询”主设计视图:由于“借书查询”、“还书查询”、“续借查询”、“罚款查询”这4个选择查询是专门为“借书窗体”、“还书窗体”、“续借窗体”、“罚款窗体”的功能实现而量身打造的专用查询,故其设计上有别与上述几个一般选择查询。区别主要体现在在这些查询中要设计与相应窗体中控件的功能链接,如大家现在在图22——“借书查询1”和图23——“借书查询2”(此处将借书查询分为1和2两部分也是应借书窗体的功能要求而针对设计的)中看到的“图书编号”字段和“会员证编号”字段中的条件约束即为功能链接的一部分。例如“借书查询1”中的“图书编号”字段的条件“[Forms]![借书窗体]![Text13]”意为与“借书窗体”中的文本框“Text13”相链接,该条件其实起到了一个“指针”的作用(后边几个查询中的相似条件约束的功能与此相同,不再多作解释)。“借书查询1”中的字段“在库数量”的约束条件为“0”,表示某本书只有在有库存的情况下才允许借出。(见图22~图23)图22图23⑺.“还书查询”主设计视图:“还书日期”字段的约束条件要设置为“IsNull”,表示未还的书才会被列出。(见图24)图24⑻.“续借查询”主设计视图:(见图25)图25⑼.“罚款查询”主设计视图:须设立2个新字段——“超期天数”和“罚款数额”且“超期天数”字段的约束条件为“0”,另外“罚款缴纳”字段的约束条件为“否”,表示已欠费且未缴纳过罚款的会员才会被列出,未欠费或已缴纳过的会员不会再被列出。下边给出这两个新字段的数学表达式:(1)超期天数:[还书日期]-[借阅日期]-[限借天数];(2)罚款数额:([还书日期]-[借阅日期]-[限借天数])*[超期罚款/天]。(见图26)图262.操作查询的设计与实现分析:在“图书借阅管理系统”中,图书的借阅功能是该系统的核心功能,如何实现该功能便是设计该系统的核心问题。我们知道,图书在借出、归还、续借等过程发生后,数据表中的数据就应发生相应的改变(即更新),那么在系统中如何实现数据的自动更新或添加呢?答案是利用“操作查询”。步骤:(以“借书更新”和“借书追加”为例)第一步:在设计视图中创建查询,并添加“会员表”、“图书表”和“图书借阅表”。第二步:将“图书表”中的“图书编号”、“借出次数”、“借出数量”、“在库数量”字段;“会员表”中的“会员证编号”字段;“图书借阅表”中的“还书日期”字段添加进来。并将查询类型设置为“更新查询”(设置方法:在选中查询窗口的情况下在“查询设计菜单栏”
本文标题:Access应用实例――图书借阅管理系统
链接地址:https://www.777doc.com/doc-6315262 .html