版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辽 宁 工 业 大 学数据库应用技术课 程 设 计 说 明 书题目: 图书馆管理系统 学院(系): 软件学院 专业班级: 软件工程 学 号: 学生姓名: 指导教师: 教师职称: 副教授 起止时间:20-2012.12.31 辽宁工业大学课程设计(论文)任务书院(系):软件学院 教研室: 软件工程 学 号学生姓名专业班级软件工程设计题目图书馆管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:SQLSERVER2000。3 所使用的语言、工具:VB6.0+ SQLSERVER2000+WINDOWSXP。4 所采用的技术、系统结构:ADO数据库
2、联接技术,系统结构为C/S结构。设计要求1 教师布置实习任务和要求时,不得缺席,并做好记录。2 上机前预先把所有的源程序编写好。3 上机时不得迟到,不得缺席,爱护设备,认真调试程序。4 仔细查阅相关资料,认真完成思考题。5 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量一周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计大纲自编等指导教师评语该生在数据库系统概论课程设计期间:上机时不迟到,
3、不缺席,爱护设备,认真调试程序。仔细查阅相关资料,认真完成作业。听从指导教师安排。在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。系统界面友好,程序运行基本正常,功能完备。 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31 目录第一章 概述4第二章 问题定义5第三章 需求分析6第四章 数据库设计10第五章 界面设计13第六章 代码与注释16设计总结20参考文献21第一章 概述传统图书管理中,管理员首先把买来的图书资料登记到资料本上,再给每
4、本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。然后还需要对有学生(教师)证的学生(教师)的资料作一定的记录。在读者借书时,持证件者要先去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书。之后图书管理员登记持证件者的借还书时间和在书签条上写下借还书记录,借书证留下;还书的时候,相对应的消去出借记录。传统的图书管理模式有诸多缺点,比如操作手续繁琐、工作量大、效率低下、出错率高等。给对大量资料的查询、更新及维护都带来不少困难。目前,管理信息系统已在各类图书馆中得到了广泛应用。而几乎所有的图书管
5、理信息系统都包含了以下几个模块:图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。包含这几个模块的管理系统已经解决了传统图书管理管理模式所存在着的诸多问题与缺点,能使读者快速检索到自己需要的书籍,也极大减轻了图书管理员的日常工作量。在这四大模块的支持下
6、,图书管理系统能够满足基本的管理需要。第二章 问题定义随着信息技术的发展,当今社会已经发展成为一个高度信息化的社会,而图书馆是当今信息社会的一个重要组成部分。当前的图书馆信息量较以前更庞大,涉及业务更复杂。传统的图书馆管理方式已经不能满足当前图书馆管理的需要。因此需要制定一套合理,有效,规范和实用的图书馆管理系统,对图书资料进行有效地管理鉴于以上要求,现今需要的图书馆管理系统主要用以满足以下需求:能够对读者信息进行有效管理,能对读者的信息进行有效的储存,注销,查询,修改等能够对图书进行有效管理,能对图书进行适当分类,对图书馆类的相关图书信息储存,查询,修改能够高质高效地完成图书流通任务,主要包
7、括图书的借阅,归还,查询等具有一些实用的统计功能,如图书借阅排行,图书库存盘点具有查询功能,如借阅查询,未还图书查询,检索资料等第三章 需求分析数据库需求分析(1)、新书编号、登记、入库:将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库。(2)、检索查询:按照各种组合条件对书库图书进行查询,也可以进行模糊查询。(3)、图书资料统计:根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。(4)、旧书出库处理:通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。数据库概念的结构设计得到上面的数据想
8、和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。数据库的逻辑结构设计:将概念转化为SQL Sever2000数据库系统。三、数据字典(DD):数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。表3-1 图书信息数据项名数据项含义别名数据类型长度逻辑关系条形码图书的唯一标志TiaonoChar10主键图书编号图书编号信息Book
9、noChar10依赖条形码书名图书书名信息BooknameChar8依赖条形码库存数图书库存数KucunshuInteger依赖条形码出版地址图书出版社信息ChubansheChar20依赖条形码出版日期图书出版日期chubandate依赖条形码单价图书单价信息Pricefloat依赖条形码入库日期图书入库信息RukuDate依赖条形码出库日期图书借出信息chukudate依赖条形码表3-2 采购信息数据项名数据项含义别名数据类型长度逻辑关系采购人员编号采购人员的唯一标识CaihoubianhaoChar10主键姓名采购人员的姓名Caigounamechar10依赖采购人员编号性别采购人员的性
10、别Sexchar2依赖采购人员编号联系电话采购人员的联系电话caigouphoneChar20依赖采购人员编号表3-3 供货信息数据项名数据项含义别名数据类型长度逻辑关系供货单位编号供货单位的唯一标识DanweinoChar10主键单位名称供货单位名称DanweinameChar20依赖供货单位编号单位地址供货单位的地址DanweiaddressChar20依赖供货单位编号电话供货单位的电话danweiphonechar20依赖供货单位编号表3-4 借阅者信息数据项名数据项含义别名数据类型长度逻辑关系借阅者编号借阅者的唯一标识BorrownoChar10主键姓名借阅者的姓名Readername
11、Char10依赖借阅者编号性别借阅者的性别SexChar2依赖借阅者编号班级借阅者的班级信息ClassChar8依赖借阅者编号办证日期借阅证办证日期banzhengdateDate依赖借阅者编号表3-5 管理员信息数据项名数据项含义别名数据类型长度逻辑关系管理员编号管理员的唯一标识信息ManagernoChar10主键管理员姓名管理员的姓名信息ManagernameChar10依赖管理员编号性别管理员的性别信息sexChar2依赖管理员编号表3-6 罚款信息数据项名数据项含义别名数据类型长度逻辑关系借阅证号借阅证的唯一标识信息JieyuezhenghaoChar10主键管理员编号管理员的编号信
12、息ManagerbianhaoChar10依赖借阅证号序数罚款的序数信息Xushuinteger依赖借阅证号金额罚金的金额JineFloat依赖借阅证号日期罚款日期信息datedate依赖借阅证号表3-7 借书单信息数据项名数据项含义别名数据类型长度逻辑关系图书编号图书的唯一标识信息BooknoChar10主键图书名称图书的名称信息BooknameChar20依赖图书编号数量借书的数量信息Quantityinteger依赖图书编号人员编号管理员的编号信息RenyannoChar10依赖图书编号日期借书日期信息jieshudatedate依赖图书编号四、程序流程图:图4-1借书业务流程图读者查询
13、数据流程图,如图4-2所示图4-2 读者查询流程图五、功能结构图:图5-1 系统登录流程图图5-2 系统管理流程图第四章 数据库设计一、概念设计:系统ER图图书馆管理系统,总共含有三个实体:管理员,图书,读者,之间的关系如下图的E-R图如下:图4-1读者实体E-R图图4-2管理员实体E-R图4-3图书实体E-R图二、逻辑设计:下面列出几个主要的数据库表设计:读者信息表(reader)名称数据类型大小主 键外 键r_idvarchar8是r_namevarchar20sexchar2birthsmalldatetimedpartmentvarchar20telvarchar11regtdsmal
14、ldatetimedeadlinesmalldatetimert_novarchar2是bor_volint4r_statevarchar8表4-1 读者信息表管理员信息表(admain)名称数据类型大小主 键外 键a_idvarchar8是a_namevarchar20pwdvarchar6qxvarchar6表4-2 管理员信息表图书信息表(book)名称数据类型大小主 键外 键b_idvarchar10是b_namevarchar100writervarchar100pressvarchar50pricemoneyISBNvarchar30bt_novarchar4是in_timesma
15、lldatetimetotal_volint4remain_volint4bs_novarchar10是memovarchar200lend_timesint4b_statevarchar8表4-3图书信息表三、物理设计SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,
16、它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。以删除旧索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和重新创建两次。一旦删除聚集索引并再次重建该索引,就会发生这种情形。通过在一个步骤中重新创建索引,可以避免这一昂贵的做法。在一个步骤中重新创建索引时,会告诉 SQL Server 要重新组织现有索引,避免了删除和重新创建非聚集索引这些不必要的工作。该方法的另一个重
17、要优点是可以使用现有索引中的数据排序次序,从而避免了对数据重新排序。这对于聚集索引和非聚集索引都十分有用,可以显著减少重建索引的成本。另外,通过使用 DBCC DBREINDEX 语句,SQL Server 还允许对一个表重建一个或多个索引,而不必单独重建每个索引。 DBCC DBREINDEX 也可用于重建执行 PRIMARY KEY 或 UNIQUE 约束的索引,而不必删除并创建这些约束(因为对于为执行 PRIMARY KEY 或 UNIQUE 约束而创建的索引,必须先删除该约束,然后才能删除该索引)第五章 界面设计一、登陆窗口如下所示:系统登入后,首先出现用户登录窗体,用户首先等如用户名
18、然后输入密码。如果用户3次输入密码不正确,将退出程序。二、主界面单击主界面上的各个按钮,可以进入相应的界面中。三、密码管理用户可以修改自己的密码,选择菜单“系统修改密码”,如图窗体进入系统后,选择菜单“系统添加用户”就可以添加用户如图窗体。四、书架设置五、读者挂失第六章 代码与注释一、登录代码<link href="style.css" type="text/css" rel="stylesheet"><!-#include file="conn.asp"-><% if request
19、("login")<>"" then if request("usertype")<>"" then '用户类型不空,核实数据真实If Request("usertype")="user" Thensql = "select * from u where name='"&request("name")&"' and pwd='"&requ
20、est("pwd")&"'"Else sql = "SELECT * FROM admin 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
21、("usertype")="user" ThenIf rs("lock") Then response.Write"<script>alert('您已被锁定了!');window.location.href='login.asp'</script>"elseSession("usertype")="user"Session("userid")=rs("id")Session(&qu
22、ot;name")=rs("name")Response.Redirect("index.asp")end ifElseSession("usertype")="admin"Session("adminid")=rs("id")Session("name")=rs("name")Response.Redirect("index.asp")End IfElse response.Write"<
23、script>alert('输入错误!');window.location.href='login.asp'</script>"rs.close End if else'用户类型空 response.Write"<script>alert('没有选择用户类型!');window.location.href='login.asp'</script>" end ifend if二、图书查询代码<link href="style.css&qu
24、ot; type="text/css" rel="stylesheet"><!-#include file="conn.asp"-><%'定义记录集和变量set rs=server.createobject("adodb.recordset")bookname=trim(request("bookname")booktype=request("booktype")publishing=trim(request("publishing&
25、quot;)money1=trim(request("money1")money2=trim(request("money2")date1=trim(request("date1")date11=trim(request("date11")date2=trim(request("date2")date22=trim(request("date22")date3=trim(request("date3")date33=trim(request("d
26、ate33")date111=date1&"-"&date2&"-"&date3date222=date11&"-"&date22&"-"&date33'查询的实现sql="select * from book where 1 "if booktype<>"" thensql=sql+"and booktype like '%"&booktype&
27、amp;"%'"else if bookname<>"" thensql=sql+"and bookname like '%"&bookname&"%'"else if publishing<>"" thensql=sql+"and publishing like '%"&publishing&"%' "end ifend ifend ifsql=sql+&qu
28、ot;and bookmoney>='"&money1&"' and bookmoney<='"&money2&"' and pdate between '"&date111&"' and '"&date222&"' order by id desc"rs.open sql,db,1,3if rs.eof or rs.bof thenresponse.write &q
29、uot;对不起没有搜索到记录"response.endelse'页面显示dim pagenum,irs.pagesize=10pagecount1=rs.pagecountif request.querystring("pagenum")=0 or request.querystring("pagenum")="" thenpagenum=1elsepagenum=trim(request("pagenum")rs.absolutepage=trim(request("pagenum&q
30、uot;)end if%>三、个人信息查询代码修改密码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 + vbExclamation, "警告"txtPassword1(1).SetFocustxtPassword
31、2(1).Text = "a"Elsetxtsql = "select * from user_Info where user_ID=''' &User_PWD &'''"Set mrc = ExecuteSQL(txtsql, MsgText)mrc.Fields(1) = txtPassword1(1).Textmrc.Updatemrc.CloseMsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
32、Me.HideEnd IfEnd Subif request("query")="book_add" thensql="select * from booktype"set rs=db.execute(sql)%><%图书上架、添加 if request("active")="" then else if request("name")="" or request("money")="" or reque
33、st("num")="" or request("publishing")="" or request("select")="" then response.write "<script>alert('输入错误');history.go(-1)</script>" else set rs2=server.createobject("adodb.recordset") date1=request(&
34、quot;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"
35、)=trim(request("money") rs2("num")=trim(request("num") rs2("publishing")=trim(request("publishing") rs2("pdate")=date1&"-"&date2&"-"&date3 rs2("booktype")=trim(request("select") rs2.update response.write "<script>alert('添加图书成功');window.location.href('book.asp?query=all_book')</script>" end if end if %>设计总结通过数据库课程设计,我们从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 储能系统的智能监测与数据分析
- 施工现场防护措施实施方案
- 企业跨部门协作机制建设
- 农产品分拣中心自动化设备升级方案
- 2025-2030年麦秸板行业跨境出海战略分析研究报告
- 供热管网施工现场安全管理方案
- 废水预处理系统优化方案
- 关于留守儿童心理健康教育“守护未来行动”方案设计
- 2025年四川宜宾港信资产管理有限公司员工招聘笔试真题
- 2025年标准员岗位考试真题及答案解析
- GB/T 176-2025水泥化学分析方法
- 煤矿安全生产标准化建设管理图册
- 雨课堂学堂云在线《数字地形测量学(安徽理大 )》单元测试考核答案
- 梅毒病人相关知识培训
- 某网球俱乐部球网检测工作计划
- 销售团队绩效考核及提成计算模板
- 室内粉刷合同
- 棚架光伏电站施工方案
- 《道路勘测设计》课件-项目一:道路勘测设计基础
- 医疗设备采购相关知识培训课件
- 空间几何体外接球课件
评论
0/150
提交评论