1、图书管理系统数据库课程设计报告书31337宁县和盛公曹小学图书管理系统一、背景资料:1) 图书馆有各种图书若干册.2) 每种图书都有书名、图书编号、作者 图书借阅.为有借书证地读者办理借阅登记,登记地内容包括借书证编号、图书编号、借阅日期. 2)图书归还.在适当位置登记,这个适当位置应该由借书证编号和图书编号决定. 3)编制催还图书通知单.对借阅图书超过60天者打印催还图书通知单,其内容包括借书证编号、读者姓名、电话号码、图书编号、名称、作者、出版社、借阅日期等信息.RTCrpUDGiT 4)借书证办理与退还.本系统只提供对借书证发放办理)和回收读者姓名 C(8工作单位 C(30电话号码 C(
2、11家庭住址 C(20办证日期 D退证日期 D2) 图书登记表booker.dbf.图书编号 C(8图书名称 C(30作者 C(8出版社 C(30图书类别 C(8图书价格 N(5,1内容提要 M库存数量 I在库数量 I3) 图书类型表typer.dbf 图书类别 C(84) 借书登记表brower.dbf借书证编号C(8图书编号 C(8借阅日期 D归还日期 D5) 借书视图brower为了打印催还通知书单地需要,设计了一个借书视图文件,该视图从 reader.dbf等3个表中提取了7个字段地数据:reader.借书证编号reader.姓名reader.电话号码brower.图书编号brower
3、.借阅日期booker.图书名称booker.作者其视图关系可由以下SQL语句定义:Select reader.借书证编号,reader.姓名,reader.电话号码,brower.图书编号,。jLBHrnAILgbrower.借阅日期,booker.图书名称,booker.作者。from book!reader inner join book!brower。inner join book!booker。on brower.图书编号=booker.图书编号on reader.借书证编号= brower.借书证编号;where brower.借阅日期-60。and data(-brower.归还
4、日期=0;order by reader.借书证编号3、总体模块设计: 该系统地全部功能由一个主控界面两个表单)、一个报表以及相关地四个表单组成,其总体模块框图如下:五、模块设计:1、欢迎界面和主控界面表单地设计:图书馆信息管理系统地主界面由“欢迎表单”和“主控表单”组成,主控表单上安排六个命令按钮,分别实现总体框图中地五部分功能和退出系统模块.每个命令按钮触发地结果均执行一条命令,运行一个表单,或启动一个报表文件地运行,或者退回到visual foxpro系统状态.xHAQX74J0X欢迎表单标签地caption属性为“欢迎使用河南理工大学图书管理系统!”,并设置“进入”和“退出”两个按钮,
5、通过“进入”按钮借书证管理表单设计:此表单地数据源是reader.dbf表,在其支持下完成用户要进行地图书证地发放和退回工作.用户从“借书证编号”文本框中输入一个借书证编号,如果该借书证在reader.dbf表中已存在,系统会在下面地表格对象中显示与之对应地读者情况,否则显示为空.当单击“办理借书证”按钮后,系统会在表格中添加一行空记录,等待用户输入新读者地资料,并自动把办证日期赋值为系统当前日期,用户退出表单时系统将新数据存入与表单对应地reader.dbf表中;当用户单击“退还借书证”按钮后,系统把当前日期赋值给换证日期字段,表述该读者已归还借书证.Zzz6ZB2Ltk与表单对应地各种对象
6、地属性值和事件代码说明如下:(1“借书证编号”文本框地属性值和事件代码:Name属性text1Format属性XXXXXXXXXXInteractivechange事件代码:thisform.dataenvironment.cursor1.filter=借书证编号=+trim(this.value+dvzfvkwMI1thisform.refreshreturnLostfocus事件代码:thisform.dataenvironment.cursor1.filter=借书证编号=+trim(this.value+rqyn14ZNXIthisform.refreshreturn(2“办理借书证”
7、按钮地click事件代码:append blankreplace 借书证编号 with thisform.text1.value,办证日期 with date(EmxvxOtOcothisform.dataenvironment.cursor1.filter=借书证编号=+trim(thisform.text1.value+SixE2yXPq5thisform.refreshreturn (3“退还借书证”按钮地click事件代码:thisform.gird1.column6.text1.value=data(return(4“退出”按钮地click事件代码:CLOSE ALLThisform
8、.release 其他表单地“退出”按钮地代码完全相同,以后不再进行说明.2借书证登记表单地设计:此表单是整个系统地一个主要菜单,共涉及到reader.dbf,booker.dbf,brower.dbf,typer.dbf等四个表.用户在左上角地组合框对象中选择“借书证编号”,文本框中地“读者姓名”与“电话号码”是系统自动显示地.在“选择图类型”组合框中选择要借阅地图类型,表格中显示图书地库存信息,在单击“借阅”按钮后,系统自动进行借阅登记,表单下半部分显示该读者现在未归还地图书及借阅日期.6ewMyirQFL下面对有关对象地属性及代码进行说明:(1) 数据环境.数据环境中包含了四个表,其中地
9、cuosor对象与表地对应关系如下:Cuosor1typer.dbf 图书类型表Cuosor2booker.dbf 图书登记表Cuosor3reader.dbf 借书证登记表Cuosor4brower.dbf 借书登记表(2“借书证编号”组合框地属性和事件代码:Constrolsource属性reader.借书证编号Interactivechange代码:thisform.dataenvironment.cursor3.filter=借书证编号=+this.value+kavU42VRUsthisform.dataenvironment.cursor4.filter=借书证编号=+。y6v3A
10、LoS89this.value+and data(-brower.归还日期=0thisform.refreshlostfocus代码:thisform.dataenvironment.cursor3.filter=借书证编号=+this.value+M2ub6vSTnPthisform.dataenvironment.cursor4.filter=借书证编号=+。0YujCfmUCwthis.value+and data(-brower.归还日期=0thisform.refresh(3“图书类型选择”组合地属性:Rowsource属性typer.图书类别(4显示姓名地文本框:Controlso
11、urcereader.读者姓名(5显示电话号码地文本:Controlsourcereader.电话号码(6表单上半部分地表格对象,由表格对象生成器生成即可,该表格对象以booker.dbf表为数据源.(7表单下半部分地表格对象,由表格对象生成器生成即可,该表格对象以brower.dbf表为数据源.(8“借书”按钮地click事件代码如下:if booker.图书编号=trim(bo2.value replace booker.在库数量 with booker.在库数量-1endifif used(browerselect browergo bottomappend blankendifif b
12、ooker.图书编号=trim(bo2.valuereplace brower.图书编号 with booker.图书编号replace brower.借阅日期 with data(endifif used(readerselect readerreplace brower.借书证编号 with reader.借书证编号endifthisform.refreshreturn3 还书登记表单地设计: 该表单共涉及reader.dbf,brower.dbf和booker.dbf等三个数据表,当用户在借书证编号地组合框内选择一个借书证编号后,系统会自动在后面地文本框中现实与该编号对应地读者姓名和联系
13、电话,并在表格对象中显示该读者尚未归还地书,然后由用户在表格中用鼠标选择其要归还地书,选中后单击“还书”按钮.eUts8ZQVRd有关对象地属性及代码说明如下: (1数据环境.该数据环境包含三个表,数据环境中cursor对象与表地对应关系是:Cursor1reader.dbfCursor2brower.dbfCursor3booker.dbf(2“借书证编号”组合框地属性和事件代码:Rowsource属性reader.借书证编号Gotfocus事件代码:Thisform.dataenvironment.cursor1.filter=thisform.refreshInteractivechan
14、ge代码:thisform.dataenvironment.cursor1.filter=借书证编号=+this.value+sQsAEJkW5Tthisform.dataenvironment.cursor2.filter=借书证编号=+this.value+and data(-归还日期=0GMsIasNXkAthisform.refresh(3读者姓名文本框属性.Control属性reader.读者姓名Enable属性.F.4读者电话文本框属性.Control属性reader.电话号码Enable属性.F.(5表格对象.表格对象由表格生成器生成,数据源为brower. Dbf表,并在生成后
15、表格地列对象地enabled属性设为.F.(6“还书”按钮地click事件代码:TIrRGchYzgtdbf=alias(select(thisform.dataenvironment.cursor2.aliasreplace 归还日期 with data(select(thisform.dataenvironment.cursor3.aliasreplace 在库数量 with 在库数量+1select &tdbfthisform.refreshreturn4“图书入库与报废”表单地设计:该表单左上角地“图书编号”文本框供用户输入要登记入库和要报废地图书编号,后面地册数文本框输入对应地或报废
16、地图书册数,如果所输入地图书编号是一个booker.dbf表中已存在地编号“新书入库登记”按钮click事件代码:thisform.dataenvironment.cursor1.filter=图书编号=+trim(thisform.text1.value+lzq7IGf02Eif eof(append blankreplace 图书编号 with thisform.text.valuethisform.refreshthisform.grid1.column1.enable=.t.thisform.grid1.column2.enable=.t.thisform.grid1.column3.
17、enable=.t.thisform.grid1.column4.enable=.t.thisform.grid1.column5.enable=.t.endif thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value+val(thisform.text2.valuezvpgeqJ1hk thisform.grid1.column9.text1.value=thisform.grid1.column9.text1.value+val(thisform.text2.valueNrpoJac3v1 thisform
18、.refreshreturn(5“图书报废登记”按钮地click事件代码: thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value-val(thisform.text2.value1nowfTG4KI thisform.grid1.column9.text1.value=thisform.grid1.column9.text1.value-val(thisform.text2.valuefjnFLDa5Zo thisform.refresh return3、“催还图书通知”报表设计:“催还图书通知”报表地设计过
19、程说明如下:报表数据源 brower.vue视图,该视图已在前面做了说明.报表分组条件 reader.读者姓名报表排序条件 reader.借书证编号该报表由向导程序生成,其后进行了一些格式美化地调整修改工作,关键问题是要先定义好作为数据源地试图文件.tfnNhnE6e5六、总结:任何一个社会组织和企业公司在发展过程中都会产生大量地数据,这些数据地组织存储、分析统计有利于提高企业地发展,有利于提高企业地效率.这些数据地组织和存储就是数据模型,就是数据库应用系统开发地任务.HbmVN777sL数据库应用系统开发地过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段.根据数据库应用系统地复杂程度,不一定完全刻板地遵守上述步骤,但是,可行性研究、需求分析、系统设计、程序编码、程序调试是不可缺少地.V7l4jRB8Hs本次课程设计制作了一个简单地图书馆管理系统,实现了一些图书管理和借阅功能,但与实际系统还是有很大差别地.首先是对应用情况做了简单地理想化处理,因而难以反映实际工作中可能遇到地实际问题;其次,未考虑用户操作中可能出现地错误地处理,而实际上这种错误地处理程序可能占应用系统地很大一部分.如本系统在需求分析和程序健全性方面均存在一些问题,为了解决这些不完善之处,需要在今后地进一步学习中,逐步深入,不断积累经验,不但提高.83lcPA59W9
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1