图书管理系统数据库课程设计报告书.doc
- 文档编号:1283043
- 上传时间:2022-10-20
- 格式:DOC
- 页数:9
- 大小:50.94KB
图书管理系统数据库课程设计报告书.doc
《图书管理系统数据库课程设计报告书.doc》由会员分享,可在线阅读,更多相关《图书管理系统数据库课程设计报告书.doc(9页珍藏版)》请在冰豆网上搜索。
图书管理系统
一、背景资料:
1)图书馆有各种图书若干万册。
2)每种图书都有书名、图书编号、作者(译者)、出版社、定价和内容简介。
3)借书证记录有借阅者的姓名、工作单位、住址、联系电话等。
4)凭借书证借书,每次最多能借5本书,借书期限最长为60天。
二、系统功能需求:
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语句定义:
Selectreader.借书证编号,reader.姓名,reader.电话号码,brower.图书编号,;
brower.借阅日期,booker.图书名称,booker.作者;
frombook!
readerinnerjoinbook!
brower;
innerjoinbook!
booker;
onbrower.图书编号=booker.图书编号
onreader.借书证编号=brower.借书证编号;
wherebrower.借阅日期 anddata()-brower.归还日期=0; orderbyreader.借书证编号 3、总体模块设计: 该系统的全部功能由一个主控界面(两个表单)、一个报表以及相关的四个表单组成,其总体模块框图如下: 图书馆信息管理系统 借书证管理 (表单) 借书登记 (表单) 还书登记 (表单) 图书库存管理 (表单) 催还通知 (报表) 五、模块设计: 1、欢迎界面和主控界面表单的设计: 图书馆信息管理系统的主界面由“欢迎表单”和“主控表单”组成,主控表单上安排六个命令按钮,分别实现总体框图中的五部分功能和退出系统模块。 每个命令按钮触发的结果均执行一条命令,运行一个表单,或启动一个报表文件的运行,或者退回到visualfoxpro系统状态。 欢迎表单标签的caption属性为“欢迎使用河南理工大学图书管理系统! ”,并设置“进入”和“退出”两个按钮,通过“进入”按钮(设计代码为: doform主控表单.scx)进入主控界面,通过“退出”按钮退出系统。 主控表单的设计代码如下: “借书证管理”按钮的click事件代码: doform借书证管理.scx “借书登记”按钮的click事件代码: doform借书登记.scx “还书登记”按钮的click事件代码: doform还书登记.scx “图书入库与报废”按钮的click事件代码: doform图书入库与报废.scx “催还书通知”按钮的click事件代码: reportform催还书通知.frx “退出系统”按钮的click事件代码: Releasethisform Closeall 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事件代码: appendblank replace借书证编号withthisform.text1.value,办证日期withdate() thisform.dataenvironment.cursor1.filter=’借书证编号=’+""+trim(thisform.text1.value)+"" thisform.refresh return (3)“退还借书证”按钮的click事件代码: thisform.gird1.column6.text1.value=data() return (4)“退出”按钮的click事件代码: CLOSEALL 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+""+'anddata()-brower.归还日期=0' thisform.refresh lostfocus代码: thisform.dataenvironment.cursor3.filter='借书证编号='+""+this.value+"" thisform.dataenvironment.cursor4.filter='借书证编号='+""+; this.value+""+'anddata()-brower.归还日期=0' thisform.refresh (3)“图书类型选择”组合的属性: Rowsource属性——typer.图书类别 (4)显示姓名的文本框: Controlsource——reader.读者姓名 (5)显示电话号码的文本: Controlsource——reader.电话号码 (6)表单上半部分的表格对象,由表格对象生成器生成即可,该表格对象以booker.dbf表为数据源。 (7)表单下半部分的表格对象,由表格对象生成器生成即可,该表格对象以brower.dbf表为数据源。 (8)“借书”按钮的click事件代码如下: ifbooker.图书编号=trim(bo2.value) replacebooker.在库数量withbooker.在库数量-1 endif ifused("brower") selectbrower gobottom appendblank endif ifbooker.图书编号=trim(bo2.value) replacebrower.图书编号withbooker.图书编号 replacebrower.借阅日期withdata() endif ifused("reader")
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 数据库 课程设计 报告书
