数据库课程设计报告---图书馆管理系统.doc_第1页
数据库课程设计报告---图书馆管理系统.doc_第2页
数据库课程设计报告---图书馆管理系统.doc_第3页
数据库课程设计报告---图书馆管理系统.doc_第4页
数据库课程设计报告---图书馆管理系统.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 报 告课程名称 数据库设计与管理课程设计 课题名称 图书馆管理系统 专 业 班 级 学 号 姓 名 指导教师 2011年 12 月 4 日湖南工程学院课 程 设 计 任 务 书课程名称 数据库设计与管理课程设计课 题 图书馆管理系统 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011 年 12 月 3 日任务完成日期 2011 年 12 月 17 日一、设计内容与设计要求1设计内容:图书馆管理系统系统功能分析图书馆管理系统应具备借书、还书、图书查询和图书管理(如增加、修改和删除)等基本管理功能,具体如下:(1)凭借书证借书时,对借书证的有效性、最大借书数和目前能借书数,借书期限进行判断,并记录借书信息。(2)在还书时,更改借书信息记录,并检查该书是否超期,如超期应计算出罚款金额。(3)能查询读者基本信息和借书的历史记录。(4)能对所有图书按分类查询(如作者、书名、出版社等)。(5)能对图书进行基本管理(如增加、修改和删除)。(6)能管理读者的基本信息(如增加、修改和删除)数据库中表的参考结构(注:仅供参考)表名:DZXX说明:读者基本信息表字段名字段类型字段长度是否为空说明BHChar8F编号(关键字)XMChar8F姓名BJChar50T班级XBChar50F系别LXHChar3F类型YXXChar1F有效性YJSSIntF已借书数表名:TSXX说明:图书信息表字段名字段类型字段长度是否为空说明BHChar8F编号(关键字)SMChar50F书名ZZChar50F作者CBSChar50F出版社DJMoneyF定价SLIntF数量表名:JHJL说明:借还书记录字段名字段类型字段长度是否为空说明IDBigintF记录序号(关键字)DZBHChar8F读者编号TSBHChar8F图书编号JSRQSmallDatatimeF借书日期HSRQSmallDatatimeT还书日期CQTSIntT超期天数CFJEMoneyT处罚金额表名:DZLX说明:读者类型表字段名字段类型字段长度是否为空说明LXHChar3F类型号(关键字)LXMChar20F类型名ZDJSQIntF最大借书天数ZDJSSIntF最大借书数量CQCFMoneyF超期处罚(元/天)二、进度安排第一周:星期六 上午8:0012:00, 下午2:006:00 星期一 下午2:006:00第二周:星期三 上午8:0012:00, 星期五 上午8:0012:00,下午2:006:00 目录1.系统需求分析71.1问题描述71.2 功能要求72.概要设计82.1系统的总体设计82.2各功能的具体实现92.3数据库表格103.详细设计113.1欢迎界面和几个服务界面113.1借还书功能的实现123.2读者信息管理功能的实现164.课程设计小结225.参考文献238. 评分表241.系统需求分析1.1问题描述 图书馆管理系统应具备借书、还书、图书查询和图书管理(如增加、修改和删除)等基本管理功能。1.2 功能要求(1)凭借书证借书时,对借书证的有效性、最大借书数和目前能借书数,借书期限进行判断,并记录借书信息。(2)在还书时,更改借书信息记录,并检查该书是否超期,如超期应计算出罚款金额。(3)能查询读者基本信息和借书的历史记录。(4)能对所有图书按分类查询(如作者、书名、出版社等)。(5)能对图书进行基本管理(如增加、修改和删除)。(6)能管理读者的基本信息(如增加、修改和删除)2.概要设计2.1系统的总体设计欢迎界面本馆概况读者服务文献服务读者培训联系我们读者登陆界面主服务界面读者信息图书信息读者类型借还书功能退出图书查询 图2.1系统的总体设计2.2各功能的具体实现(1)读者基本信息功能读者基本信息分类查找读者信息修改读者信息信息查看读者类型信息调取dzxx表分类查找向dzxx表写入数据调取dzLx表 图2.2读者基本信息功能(2)借还书功能借还图书窗口向jsjl表写入记录修改dzxx表借书数修改tsxx表此书数目 图2.3借还书功能2.3数据库表格(1)读者基本信息表(dzxx)字段名字段类型字段长度是否为空说明BHChar8F编号(关键字)XMChar8F姓名BJChar50T班级XBChar50F系别LXHChar3F类型YXXChar1F有效性YJSSIntF已借书数(2)图书信息表(TSXX)字段名字段类型字段长度是否为空说明BHChar8F编号(关键字)SMChar50F书名ZZChar50F作者CBSChar50F出版社DJMoneyF定价SLIntF数量(3)借还书记录(JHJL)字段名字段类型字段长度是否为空说明IDBigintF记录序号(关键字)DZBHChar8F读者编号TSBHChar8F图书编号JSRQSmallDatatimeF借书日期HSRQSmallDatatimeT还书日期CQTSIntT超期天数CFJEMoneyT处罚金额3.详细设计3.1欢迎界面和几个服务界面图3-1主界面与几个服务界面3.1借还书功能的实现“确认”按钮的clicked事件代码(实现借、还书功能,可向读者信息加入借书数量,向借书记录加入借、还书记录,并在还书时提示处罚金额)int i,j,f,t,s,ddouble qlong odatetime shijian,jieshurilong mchar lxhshijian= datetime(today()bh=nr_1.texttsbh=nr_2.textif bh= or tsbh= thenmessagebox(提示信息,输入错误,请重新输入)returnend ifselect yjss,lxhinto :i,:lxhfrom DZxXwhere BH=:bh;select zdjssinto :sfrom DZlXwhere lxh=:lxh;d=s+(-1)if a=1 and i=s then messagebox(提示信息,已借最大书数目,不可继续借书!)update DZXX setyxx=无效where BH=:bh;elseif a=2 thenselect jsrqinto :jieshurifrom jhjlwhere DZBH=:nr_1.text and TSBH=:nr_2.text;select zdjsq,cqcfinto :t,:qfrom DZlXwhere lxh=:lxh;o=DaysAfter(date(shijian),date(jieshuri)MessageBox(提示信息,请交罚款:+string(o)+元)MessageBox(提示信息,请交罚款:+string(q)+元)if o0 thenUPdateOrNot=messagebox(保存修改,您修改了数据窗口中的数据,现在是否保存?,Question!,YesNoCancel!)if UPdateOrNot=1 thenif update(w_tj.dw_1,true,false)=1 thenw_tj.dw_1.resetupdate()commit;elserollback;messagebox(错误!,数据保存失败)end ifclose(w_tj)elseif UPdateOrNot=2 thenrollback;close(w_tj)end ifend if(2)查询dw_1.settransobject(sqlca)dw_1.retrieve()dw_1.object.datawindow.readonly = yes (w_cx)图4.6查询的代码:string oldsql,newsqlint total_rowif sle_1.text= thenMessageBox(注意,请输入内容!)elseoldsql=dw_1.getsqlselect()/*choose case ddlb_1.textcase 读者编号newsql=oldsql+ where BH=+sle_1.text+case 姓名newsql=oldsql+ where XM=+sle_1.text+case 班级newsql=oldsql+ where BJ=+sle_1.text+case 系别newsql=oldsql+ where XB=+sle_1.text+end choose*/ newsql=oldsql+ where 编号=+sle_1.text+dw_1.setsqlselect(newsql)dw_1.retrieve()dw_1.setsqlselect(oldsql) total_row=dw_1.rowcount()if total_row=0 thenMessageBox(注意,没有符合条件的内容)end ifend if退出的代码:close(w_cx)(3)修改dw_1.settransobject(sqlca)dw_1.retrieve()dw_1.object.datawindow.readonly = yes (w_xg)图4.7修改的代码:string oldsql,newsqlint total_rowdw_1.object.datawindow.readonly = NOdw_1.Object.类型.Protect=1 if sle_1.text= thenMessageBox(注意,请输入内容!)elseoldsql=dw_1.getsqlselect() newsql=oldsql+ where 编号=+sle_1.text+dw_1.setsqlselect(newsql)dw_1.retrieve()dw_1.setsqlselect(oldsql) total_row=dw_1.rowcount()if total_row=0 thenMessageBox(注意,没有符合条件的内容)end ifend if删除的代码:long current_rowif sle_1.text= thenMessageBox(注意,请输入内容!)elsecurrent_row=dw_1.getrow()deleterow(dw_1,current_row)end if保存的代码:if update(dw_1,true,false)=1 thendw_1.resetupdate()commit;messagebox(,数据保存成功)elserollback;messagebox(错误!,数据保存失败)end if退出的代码:int MCountint UPdateOrNotMCount=w_xg.dw_1.ModifiedCount()if MCount=0 thenclose(w_xg);elseif MCount0 thenUPdateOrNot=messagebox(保存修改,您修改了数据窗口中的数据,现在是否保存?,Question!,YesNoCancel!)if UPdateOrNot=1 thenif update(w_xg.dw_1,true,false)=1 thenw_xg.dw_1.resetupdate()commit;elserollback;messagebox(错误!,数据保存失败)end ifclose(w_xg)elseif UPdateOrNot=2 thenrollback;close(w_xg)end ifend if4.课程设计小结在设计过程中首先要对PowerBuilder编程环境和编程方法有一个全面的了解。首先掌握PowerBuilder数据库的建立和连接,其中要特别注意的是配置ODBC数据源和配置PB Profile。在配置是要注意所默认的数据库,本次设计中默认数据库为tushuguan。其次,要熟悉窗口的选择扭、组合框、多行编程框等常用控件的基本使用方法和编程方法。经过一个多月的努力,课程设计基本完成了。在整个课程设计的实践中,我学到很多有用的知识,也积累了不少宝贵的开发经验。比如用ADO操作数据库,SQL语句的应用等。本设计通过自己的努力,基本满足了图书管理的基本需要,实现了用户使用的方便以及管理员管理的方便,在界面上力求做到简单实用,在操作方面尽量做到满足用户使用的习惯,但由于自己的水平有限和时间的不足,在很多方面还不完善,有些功能没有在全局上把握好,比如一些功能函数可以在一个文件中定义,具体页面需要用到再直接引用,SQL语句的执行效果也存在效率不高的问题,关于图书管理的所有操作集中在一个页面实现,出现了一些混淆,程序更改,测试时很不好等。在今后的学习当中将继续完善此系统,使其功能更加强大,满足用户的更多需求。5.参考文献1 王珊 萨师煊. 数据库系统概论(第四版).北京:高等教育出版社.2 求是科技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论