图书管理系统数据库课程设计报告书.doc
《图书管理系统数据库课程设计报告书.doc》由会员分享,可在线阅读,更多相关《图书管理系统数据库课程设计报告书.doc(12页珍藏版)》请在咨信网上搜索。
图书管理系统数据库课程设计报告书 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 电子商务数据库技术课程设计报告 题目: 图书管理系统 院 系: 专业班级: 学 号: 学生姓名: 指导教师: 说 明 1、 内容要求: 整个课程设计分为五部分,分别为需求分析,数据库系统设计,数据库详细设计,数据库实现和应用程序的设计与实现。每部分按要求完成设计任务,并将结果体现在报告中. 2、排版: 一级标题四号字,宋体,加粗,段前段后0。5行;二级标题小四号字,宋体,加粗,行距20磅;正文小四号字,宋体,行距20磅;参考文献五号字,宋体,行距20磅;。 采用A4纸打印,页面设置:上、下2.54厘米,左、右3。17厘米,左侧两钉装订.页码从第一部分设计内容开始,居中标注。参考文献等以附录形式出现。 2、 成绩评定: 每部分的完成情况分别为15分,报告说明的清晰度和排版等15分,创新性10分。 一、系统功能需求: 1)图书馆借阅书籍于归还书籍的登记。也就是为读者建立一个台账,应用该台账,工作人员能方便地掌握某位读者借了哪些书,借了多长时间. 2)编著催还图书通知单。图书馆对所借书籍的最长借阅时间限制为60天,对逾期未还的读者下达催还图书通知单,促其尽快还书,以加快图书的流通。 3)提供快速的图书查询功能,方便读者尽快插大所需要的书。 4)系统提供的全部功能要简单、直观、实用。 二、系统数据库关系的E—R图: 系统所涉及到的实体及关联关系比较简单,主要的实体只有读者和图书两个,他们通过读者的借阅活动而发生联系,其E-R图如下: 读者姓名 联系电话 工作单位 内容提要号 在库数量 库存数量 读者 图书 图书类别 作者 出版社 图书名称 图书编号 价格 借阅 住址 读者编号 三、系统设计: 1、功能设计: 1) 图书借阅。为有借书证的读者办理借阅登记,登记的内容包括借书证编号、图书编号、借阅日期. 2)图书归还。在适当位置登记,这个适当位置应该由借书证编号和图书编号决定。 3)编制催还图书通知单。对借阅图书超过60天者打印催还图书通知单,其内容包括借书证编号、读者姓名、电话号码、图书编号、名称、作者、出版社、借阅日期等信息。 4)借书证办理与退还。本系统只提供对借书证发放(办理)和回收(退还)两个过程的支持。 5)图书入库预报废。新采购书的入库登记和废旧图书的报废登记。对于新书入库有两种不同的情况:其一是新采购的图书在以前登记过,这次属于补充库存; 其二是图书馆以前没有登记过。 2、数据库设计: 根据E—R图,将其转化为如下数据实体,数据库:book.dbc,包括如下的表和视图: 1) 借书证发放登记表——reader.dbf。 借书证编号 C(8) 读者姓名 C(8) 工作单位 C(30) 电话号码 C(11) 家庭住址 C(20) 办证日期 D 退证日期 D 2) 图书登记表-—booker.dbf. 图书编号 C(8) 图书名称 C(30) 作者 C(8) 出版社 C(30) 图书类别 C(8) 图书价格 N(5,1) 内容提要 M 库存数量 I 在库数量 I 3) 图书类型表——typer。dbf 图书类别 C(8) 4) 借书登记表——brower.dbf 借书证编号 C(8) 图书编号 C(8) 借阅日期 D 归还日期 D 5) 借书视图-—brower 为了打印催还通知书单的需要,设计了一个借书视图文件,该视图从 reader.dbf等3个表中提取了7个字段的数据: reader.借书证编号 reader。姓名 reader.电话号码 brower。图书编号 brower.借阅日期 booker.图书名称 booker.作者 其视图关系可由以下SQL语句定义: Select reader。借书证编号, reader。姓名, reader.电话号码, brower。图书编号,; brower.借阅日期,booker。图书名称,booker。作者; from book!reader inner join book!brower; inner join book!booker; on brower.图书编号=booker.图书编号 on reader. 借书证编号= brower. 借书证编号; where brower。借阅日期<data()-60; and data()—brower.归还日期=0; order by reader。借书证编号 3、总体模块设计: 该系统的全部功能由一个主控界面(两个表单)、一个报表以及相关的四个表单组成,其总体模块框图如下: 图书馆信息管理系统 借书证管理 (表单) 借书登记 (表单) 还书登记 (表单) 图书库存管理 (表单) 催还通知 (报表) 四、模块设计: 1、欢迎界面和主控界面表单的设计: 图书馆信息管理系统的主界面由“欢迎表单”和“主控表单”组成,主控表单上安排六个命令按钮,分别实现总体框图中的五部分功能和退出系统模块。每个命令按钮触发的结果均执行一条命令,运行一个表单,或启动一个报表文件的运行,或者退回到visual foxpro系统状态。 欢迎表单标签的caption属性为“欢迎使用河南理工大学图书管理系统!”,并设置“进入”和“退出”两个按钮,通过“进入"按钮(设计代码为:do form 主控表单.scx)进入主控界面,通过“退出”按钮退出系统. 主控表单的设计代码如下: “借书证管理”按钮的click事件代码:do form 借书证管理。scx “借书登记”按钮的click事件代码:do form借书登记。scx “还书登记" 按钮的click事件代码:do form还书登记.scx “图书入库与报废” 按钮的click事件代码:do form图书入库与报废.scx “催还书通知” 按钮的click事件代码:report form催还书通知。frx “退出系统”按钮的click事件代码: Release thisform Close all Quit 2、其他表单的设计: 1)借书证管理表单设计: 此表单的数据源是reader。dbf表,在其支持下完成用户要进行的图书证的发放和退回工作.用户从“借书证编号”文本框中输入一个借书证编号,如果该借书证在reader.dbf表中已存在,系统会在下面的表格对象中显示与之对应的读者情况,否则显示为空。当单击“办理借书证”按钮后,系统会在表格中添加一行空记录,等待用户输入新读者的资料,并自动把办证日期赋值为系统当前日期,用户退出表单时系统将新数据存入与表单对应的reader。dbf表中;当用户单击“退还借书证”按钮后,系统把当前日期赋值给换证日期字段,表述该读者已归还借书证。 与表单对应的各种对象的属性值和事件代码说明如下: (1)“借书证编号"文本框的属性值和事件代码: Name属性——text1 Format属性—-‘XXXXXXXXXX’ Interactivechange事件代码: thisform。dataenvironment.cursor1。filter=’借书证编号=’+””+trim(this.value)+”" thisform.refresh return Lostfocus事件代码: thisform.dataenvironment。cursor1.filter='借书证编号='+”"+trim(this.value)+”" thisform。refresh return (2)“办理借书证”按钮的click事件代码: append blank replace 借书证编号 with thisform。text1。value,办证日期 with date() thisform.dataenvironment.cursor1.filter='借书证编号=’+”"+trim(thisform.text1。value)+"" thisform。refresh return (3)“退还借书证"按钮的click事件代码: thisform。gird1.column6。text1。value=data() return (4)“退出"按钮的click事件代码: CLOSE ALL Thisform。release 其他表单的“退出”按钮的代码完全相同,以后不再进行说明. 2) 借书证登记表单的设计: 此表单是整个系统的一个主要菜单,共涉及到reader。dbf,booker。dbf,brower。dbf,typer.dbf等四个表.用户在左上角的组合框对象中选择“借书证编号”,文本框中的“读者姓名”与“电话号码"是系统自动显示的.在“选择图类型”组合框中选择要借阅的图类型,表格中显示图书的库存信息,在单击“借阅”按钮后,系统自动进行借阅登记,表单下半部分显示该读者现在未归还的图书及借阅日期。 下面对有关对象的属性及代码进行说明: (1) 数据环境。数据环境中包含了四个表,其中的cuosor对象与表的对应关系如下: Cuosor1—typer。dbf 图书类型表 Cuosor2—booker.dbf 图书登记表 Cuosor3-reader。dbf 借书证登记表 Cuosor4—brower。dbf 借书登记表 (2)“借书证编号”组合框的属性和事件代码: Constrolsource属性——reader。借书证编号 Interactivechange代码: thisform.dataenvironment。cursor3.filter='借书证编号='+""+this。value+"" thisform。dataenvironment。cursor4。filter='借书证编号=’+”"+; this.value+""+'and data()—brower.归还日期=0’ thisform.refresh lostfocus代码: thisform。dataenvironment。cursor3。filter=’借书证编号='+"”+this。value+"” thisform。dataenvironment.cursor4.filter=’借书证编号='+""+; this。value+"”+’and data()-brower。归还日期=0' thisform.refresh (3)“图书类型选择”组合的属性: Rowsource属性-—typer.图书类别 (4)显示姓名的文本框: Controlsource——reader。读者姓名 (5)显示电话号码的文本: Controlsource——reader。电话号码 (6)表单上半部分的表格对象,由表格对象生成器生成即可,该表格对象以booker。dbf表为数据源。 (7) 表单下半部分的表格对象,由表格对象生成器生成即可,该表格对象以brower。dbf表为数据源。 (8)“借书”按钮的click事件代码如下: if booker.图书编号=trim(thisform。combo2。value) replace booker。在库数量 with booker.在库数量—1 endif if used(”brower") select brower go bottom append blank endif if booker.图书编号=trim(bo2。value) replace brower。图书编号 with booker。图书编号 replace brower。借阅日期 with data() endif if used("reader”) select reader replace brower.借书证编号 with reader.借书证编号 endif thisform。refresh return 3) 还书登记表单的设计: 该表单共涉及reader。dbf,brower.dbf和booker.dbf等三个数据表,当用户在借书证编号的组合框内选择一个借书证编号后,系统会自动在后面的文本框中现实与该编号对应的读者姓名和联系电话,并在表格对象中显示该读者尚未归还的书,然后由用户在表格中用鼠标选择其要归还的书,选中后单击“还书"按钮。 有关对象的属性及代码说明如下: (1)数据环境.该数据环境包含三个表,数据环境中cursor对象与表的对应关系是: Cursor1—-reader。dbf Cursor2——brower.dbf Cursor3——booker.dbf (2)“借书证编号”组合框的属性和事件代码: Rowsource属性——reader。借书证编号 Gotfocus事件代码: Thisform。dataenvironment.cursor1。filter=”” thisform.refresh Interactivechange代码: thisform。dataenvironment.cursor1。filter='借书证编号=’+"”+this。value+”" thisform。dataenvironment。cursor2。filter='借书证编号=’+""+this.value+”"+’and data()—归还日期=0' thisform。refresh (3)读者姓名文本框属性。 Control属性—-reader.读者姓名 Enable属性——。F。 4)读者电话文本框属性. Control属性—-reader。电话号码 Enable属性—-.F. (5)表格对象。表格对象由表格生成器生成,数据源为brower。 Dbf表,并在生成后表格的列对象的enabled属性设为。F。 (6)“还书”按钮的click事件代码: tdbf=alias() select(thisform。dataenvironment。cursor2。alias) replace 归还日期 with data() select(thisform.dataenvironment.cursor3.alias) replace 在库数量 with 在库数量+1 select &tdbf thisform。refresh return 4)“图书入库与报废”表单的设计: 该表单左上角的“图书编号”文本框供用户输入要登记入库和要报废的图书编号,后面的册数文本框输入对应的或报废的图书册数,如果所输入的图书编号是一个booker.dbf表中已存在的编号(这表示是进行图书报废登记),下面的表格对象中会显示该图书的其他信息,反之,表示一种新书要入库登记,实质是要将这种图书信息添加到booker.dbf数据表中。 对表单中有关对象的属性与代码说明如下: (1) 数据环境。表单中只包含一个booker。dbf表。 (2) “图书编号”与“册数”文本框。Name属性分别为text1和text2。 (3) 表格对象,由表格生成器生成。 (4)“新书入库登记”按钮click事件代码: thisform.dataenvironment.cursor1。filter=’图书编号=’+”"+trim(thisform.text1。value)+"” if eof() append blank replace 图书编号 with thisform。text。value thisform。refresh thisform.grid1.column1。enable=。t. thisform.grid1。column2。enable=.t。 thisform.grid1.column3.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。value) thisform.grid1。column9.text1.value=thisform.grid1。column9.text1。value+val(thisform.text2.value) thisform.refresh return (5)“图书报废登记”按钮的click事件代码: thisform.grid1。column8.text1.value=thisform。grid1.column8.text1.value—val(thisform.text2。value) thisform。grid1.column9。text1.value=thisform.grid1。column9.text1。value-val(thisform.text2。value) thisform.refresh return 3、“催还图书通知”报表设计: “催还图书通知”报表的设计过程说明如下: 报表数据源 brower.vue视图,该视图已在前面做了说明. 报表分组条件 reader.读者姓名 报表排序条件 reader.借书证编号 该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的试图文件。 五、总结: 任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。 数据库应用系统开发的过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段。根据数据库应用系统的复杂程度,不一定完全刻板地遵守上述步骤,但是,可行性研究、需求分析、系统设计、程序编码、程序调试是不可缺少的。 本次课程设计制作了一个简单的图书馆管理系统,实现了一些图书管理和借阅功能,但与实际系统还是有很大差别的。首先是对应用情况做了简单的理想化处理,因而难以反映实际工作中可能遇到的实际问题;其次,未考虑用户操作中可能出现的错误的处理,而实际上这种错误的处理程序可能占应用系统的很大一部分。如本系统在需求分析和程序健全性方面均存在一些问题,为了解决这些不完善之处,需要在今后的进一步学习中,逐步深入,不断积累经验,不但提高。 - 12 -- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 数据库 课程设计 报告书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文