C图书馆管理系统(共21页).doc

上传人:飞****2 文档编号:5342927 上传时间:2022-01-03 格式:DOC 页数:21 大小:327KB
返回 下载 相关 举报
C图书馆管理系统(共21页).doc_第1页
第1页 / 共21页
C图书馆管理系统(共21页).doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《C图书馆管理系统(共21页).doc》由会员分享,可在线阅读,更多相关《C图书馆管理系统(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上辽 宁 工 业 大 学数据库应用技术课 程 设 计 说 明 书题目: 图书馆管理系统 学院(系): 软件学院 专业班级: 软件工程 学 号: 学生姓名: 指导教师: 教师职称: 副教授 起止时间:2011.12.19-2012.12.31 辽宁工业大学课程设计(论文)任务书院(系):软件学院 教研室: 软件工程 学 号学生姓名专业班级软件工程设计题目图书馆管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:SQLSERVER2000。3 所使用的语言、工具:VB6.0+ SQLSERVER2000+WINDOWSXP

2、。4 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。设计要求1 教师布置实习任务和要求时,不得缺席,并做好记录。2 上机前预先把所有的源程序编写好。3 上机时不得迟到,不得缺席,爱护设备,认真调试程序。4 仔细查阅相关资料,认真完成思考题。5 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量一周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计大纲自编等指导教师评语该生在

3、数据库系统概论课程设计期间:上机时不迟到,不缺席,爱护设备,认真调试程序。仔细查阅相关资料,认真完成作业。听从指导教师安排。在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。系统界面友好,程序运行基本正常,功能完备。 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31专心-专注-专业 目录第一章 概述传统图书管理中,管理员首先把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放

4、置在文件柜里。然后还需要对有学生(教师)证的学生(教师)的资料作一定的记录。在读者借书时,持证件者要先去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书。之后图书管理员登记持证件者的借还书时间和在书签条上写下借还书记录,借书证留下;还书的时候,相对应的消去出借记录。传统的图书管理模式有诸多缺点,比如操作手续繁琐、工作量大、效率低下、出错率高等。给对大量资料的查询、更新及维护都带来不少困难。目前,管理信息系统已在各类图书馆中得到了广泛应用。而几乎所有的图书管理信息系统都包含了以下几个模块:图书检索模块:是图书管理系统的重要模块之一,是读

5、者快速查询图书的途径。图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。包含这几个模块的管理系统已经解决了传统图书管理管理模式所存在着的诸多问题与缺点,能使读者快速检索到自己需要的书籍,也极大减轻了图书管理员的日常工作量。在这四大模块的支持下,图书管理系统能够满足基本的管理需要。第二章 问题定义随着信息技术的发展,当今社

6、会已经发展成为一个高度信息化的社会,而图书馆是当今信息社会的一个重要组成部分。当前的图书馆信息量较以前更庞大,涉及业务更复杂。传统的图书馆管理方式已经不能满足当前图书馆管理的需要。因此需要制定一套合理,有效,规范和实用的图书馆管理系统,对图书资料进行有效地管理鉴于以上要求,现今需要的图书馆管理系统主要用以满足以下需求:能够对读者信息进行有效管理,能对读者的信息进行有效的储存,注销,查询,修改等能够对图书进行有效管理,能对图书进行适当分类,对图书馆类的相关图书信息储存,查询,修改能够高质高效地完成图书流通任务,主要包括图书的借阅,归还,查询等具有一些实用的统计功能,如图书借阅排行,图书库存盘点具

7、有查询功能,如借阅查询,未还图书查询,检索资料等第三章 需求分析数据库需求分析(1)、新书编号、登记、入库:将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库。(2)、检索查询:按照各种组合条件对书库图书进行查询,也可以进行模糊查询。(3)、图书资料统计:根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。(4)、旧书出库处理:通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。数据库概念的结构设计得到上面的数据想和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面

8、的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。数据库的逻辑结构设计:将概念转化为SQL Sever2000数据库系统。三、数据字典(DD):数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。表3-1 图书信息数据项名数据项含义别名数据类型长度逻辑关系条形码图书的唯一标志TiaonoChar10主键图书编号图书编号信息BooknoChar10依赖条形码书名图书书名信息BooknameChar8依赖条形码库

9、存数图书库存数KucunshuInteger依赖条形码出版地址图书出版社信息ChubansheChar20依赖条形码出版日期图书出版日期chubandate依赖条形码单价图书单价信息Pricefloat依赖条形码入库日期图书入库信息RukuDate依赖条形码出库日期图书借出信息chukudate依赖条形码表3-2 采购信息数据项名数据项含义别名数据类型长度逻辑关系采购人员编号采购人员的唯一标识CaihoubianhaoChar10主键姓名采购人员的姓名Caigounamechar10依赖采购人员编号性别采购人员的性别Sexchar2依赖采购人员编号联系电话采购人员的联系电话caigouphon

10、eChar20依赖采购人员编号表3-3 供货信息数据项名数据项含义别名数据类型长度逻辑关系供货单位编号供货单位的唯一标识DanweinoChar10主键单位名称供货单位名称DanweinameChar20依赖供货单位编号单位地址供货单位的地址DanweiaddressChar20依赖供货单位编号电话供货单位的电话danweiphonechar20依赖供货单位编号表3-4 借阅者信息数据项名数据项含义别名数据类型长度逻辑关系借阅者编号借阅者的唯一标识BorrownoChar10主键姓名借阅者的姓名ReadernameChar10依赖借阅者编号性别借阅者的性别SexChar2依赖借阅者编号班级借阅

11、者的班级信息ClassChar8依赖借阅者编号办证日期借阅证办证日期banzhengdateDate依赖借阅者编号表3-5 管理员信息数据项名数据项含义别名数据类型长度逻辑关系管理员编号管理员的唯一标识信息ManagernoChar10主键管理员姓名管理员的姓名信息ManagernameChar10依赖管理员编号性别管理员的性别信息sexChar2依赖管理员编号表3-6 罚款信息数据项名数据项含义别名数据类型长度逻辑关系借阅证号借阅证的唯一标识信息JieyuezhenghaoChar10主键管理员编号管理员的编号信息ManagerbianhaoChar10依赖借阅证号序数罚款的序数信息Xush

12、uinteger依赖借阅证号金额罚金的金额JineFloat依赖借阅证号日期罚款日期信息datedate依赖借阅证号表3-7 借书单信息数据项名数据项含义别名数据类型长度逻辑关系图书编号图书的唯一标识信息BooknoChar10主键图书名称图书的名称信息BooknameChar20依赖图书编号数量借书的数量信息Quantityinteger依赖图书编号人员编号管理员的编号信息RenyannoChar10依赖图书编号日期借书日期信息jieshudatedate依赖图书编号四、程序流程图:图4-1借书业务流程图读者查询数据流程图,如图4-2所示图4-2 读者查询流程图五、功能结构图:图5-1 系统

13、登录流程图图5-2 系统管理流程图第四章 数据库设计一、概念设计:系统ER图图书馆管理系统,总共含有三个实体:管理员,图书,读者,之间的关系如下图的E-R图如下:图4-1读者实体E-R图图4-2管理员实体E-R图4-3图书实体E-R图二、逻辑设计:下面列出几个主要的数据库表设计:读者信息表(reader)名称数据类型大小主 键外 键r_idvarchar8是r_namevarchar20sexchar2birthsmalldatetimedpartmentvarchar20telvarchar11regtdsmalldatetimedeadlinesmalldatetimert_novarch

14、ar2是bor_volint4r_statevarchar8表4-1 读者信息表管理员信息表(admain)名称数据类型大小主 键外 键a_idvarchar8是a_namevarchar20pwdvarchar6qxvarchar6表4-2 管理员信息表图书信息表(book)名称数据类型大小主 键外 键b_idvarchar10是b_namevarchar100writervarchar100pressvarchar50pricemoneyISBNvarchar30bt_novarchar4是in_timesmalldatetimetotal_volint4remain_volint4bs_

15、novarchar10是memovarchar200lend_timesint4b_statevarchar8表4-3图书信息表三、物理设计SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存

16、在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。以删除旧索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和重新创建两次。一旦删除聚集索引并再次重建该索引,就会发生这种情形。通过在一个步骤中重新创建索引,可以避免这一昂贵的做法。在一个步骤中重新创建索引时,会告诉 SQL Server 要重新组织现有索引,避免了删除和重新创建非聚集索引这些不必要的工作。该方法的另一个重要优点是可以使用现有索引中的数据排序次序,从而避免了对数据重新排序。这对于聚集索

17、引和非聚集索引都十分有用,可以显著减少重建索引的成本。另外,通过使用 DBCC DBREINDEX 语句,SQL Server 还允许对一个表重建一个或多个索引,而不必单独重建每个索引。 DBCC DBREINDEX 也可用于重建执行 PRIMARY KEY 或 UNIQUE 约束的索引,而不必删除并创建这些约束(因为对于为执行 PRIMARY KEY 或 UNIQUE 约束而创建的索引,必须先删除该约束,然后才能删除该索引)第五章 界面设计一、登陆窗口如下所示:系统登入后,首先出现用户登录窗体,用户首先等如用户名然后输入密码。如果用户3次输入密码不正确,将退出程序。二、主界面单击主界面上的各

18、个按钮,可以进入相应的界面中。三、密码管理用户可以修改自己的密码,选择菜单“系统修改密码”,如图窗体进入系统后,选择菜单“系统添加用户”就可以添加用户如图窗体。四、书架设置五、读者挂失第六章 代码与注释一、登录代码% if request(login) then if request(usertype) then 用户类型不空,核实数据真实If Request(usertype)=user Thensql = select * from u where name=&request(name)& and pwd=&request(pwd)&Else sql = SELECT * FROM adm

19、in WHERE name=&Request(name)& and pwd=&Request(pwd)&End IfSet rs=db.execute(sql)If not rs.EOF Or Not rs.BOF Then 输入数据存在If Request(usertype)=user ThenIf rs(lock) Then response.Writealert(您已被锁定了!);window.location.href=login.aspelseSession(usertype)=userSession(userid)=rs(id)Session(name)=rs(name)Respo

20、nse.Redirect(index.asp)end ifElseSession(usertype)=adminSession(adminid)=rs(id)Session(name)=rs(name)Response.Redirect(index.asp)End IfElse response.Writealert(输入错误!);window.location.href=login.asprs.close End if else用户类型空 response.Writealert(没有选择用户类型!);window.location.href=login.asp end ifend if二、图

21、书查询代码%定义记录集和变量set rs=server.createobject(adodb.recordset)bookname=trim(request(bookname)booktype=request(booktype)publishing=trim(request(publishing)money1=trim(request(money1)money2=trim(request(money2)date1=trim(request(date1)date11=trim(request(date11)date2=trim(request(date2)date22=trim(request(

22、date22)date3=trim(request(date3)date33=trim(request(date33)date111=date1&-&date2&-&date3date222=date11&-&date22&-&date33查询的实现sql=select * from book where 1 if booktype thensql=sql+and booktype like %&booktype&%else if bookname thensql=sql+and bookname like %&bookname&%else if publishing thensql=sql+

23、and publishing like %&publishing&% end ifend ifend ifsql=sql+and bookmoney=&money1& and bookmoney三、个人信息查询代码修改密码Private Sub cmdOK_Click(Index As Integer)Dim txtsql, MsgText As StringDim mrc As ADODB.RecordsetIf Trim(txtPassword1(1).Text) Trim(txtPassword2(2).Text) ThenMsgBox 输入密码不正确!, vbOKOnly + vbEx

24、clamation, 警告txtPassword1(1).SetFocustxtPassword2(1).Text = aElsetxtsql = select * from user_Info where user_ID= &User_PWD &Set mrc = ExecuteSQL(txtsql, MsgText)mrc.Fields(1) = txtPassword1(1).Textmrc.Updatemrc.CloseMsgBox 密码修改成功!, vbOKOnly + vbExclamation, 修改密码Me.HideEnd IfEnd Subif request(query)=

25、book_add thensql=select * from booktypeset rs=db.execute(sql)%图书上架、添加 if request(active)= then else if request(name)= or request(money)= or request(num)= or request(publishing)= or request(select)= then response.write alert(输入错误);history.go(-1) else set rs2=server.createobject(adodb.recordset) date1

26、=request(date1) date2=request(date2) date3=request(date3) qdate=date1&-&date2&-&date3 sql=select * from book rs2.open sql,db,1,3 rs2.addnew rs2(bookname)=trim(request(name) rs2(bookmoney)=trim(request(money) rs2(num)=trim(request(num) rs2(publishing)=trim(request(publishing) rs2(pdate)=date1&-&date2

27、&-&date3 rs2(booktype)=trim(request(select) rs2.update response.write alert(添加图书成功);window.location.href(book.asp?query=all_book) end if end if %设计总结通过数据库课程设计,我们从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。我还充分体会了从事数据库开发工作需要特别严谨认真的态度

28、和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。课程设计中,设计了一个图书馆管理系统,其中包含了对图书基本信息的管理,借阅和还书信息管理等,上包含了图书馆管理所要求的信息,能够完成一定的数据管理功能。但总之在设计当中我们学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里。 课程设计中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本

29、功的,这就表明学好基础知识是理论付诸实践的前提。在这次课程设计中,由于我们有些知识掌握的还不是很透彻,所以犯了许多的错误,但是在老师的帮助下,我们不但把错误都改正过来了,而且我们对不扎实的知识又有了新的提高,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平使我们收益匪浅,成为我们以后学习和工作的榜样。在此向老师表示深深的感谢和由衷的敬意,实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。 感谢这次课程设计,我们把书本上学到的理论知识应用到实际操作中,不仅加深了对知识的了解,还在操作中学到了很多知识。在这一个动手操作的过程中,我们还学习了

30、合作精神这都对以后的工作生活产生深远的影响。在本次课程设计中,我们也得感谢很多同学的热心帮助,他们给了我们很多好的提议,耐心的为我们讲解他们的经验,使我们能比较顺利地解决了一些问题。同时,感谢学校给我们一次次的上机机会。在此,我对学校从事这项工作的老师们也表示最诚挚的谢意。参考文献1 王珊.数据库系统概论 北京:高等教育出版社,20112 张龙祥.数据库原理与设计 北京:人民邮电出版社,20103 李红.数据库原理与应用 北京:高等教育出版社,20024 王能斌.数据库系统原理 北京:电子工业出版社,20085 张玲.软件工程M 北京:清华大学出版社,20076 卢潇.软件工程M 北京:清华大学出版社,20097 林宁.软件测试实用指南M 北京:清华大学出版社,20048 赛奎春.Visual Basic精彩编程200例 北京:机械工业出版社,20119 夏邦贵.Visual Basic 6.0数据库开发经典实例精解 北京:机械工业出版社,200510 姚巍. Visual Basic数据库开发及工程实例 北京:人民邮电出版社,200311 王珊 萨师煊. 数据库系统概论(第四版).北京:高等教育出版社,201012 求是科技. ASP数据库开发技术与工程实践M .北京:人民邮电出版社,2009

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁