图书馆管理系统资料资料_第1页
图书馆管理系统资料资料_第2页
图书馆管理系统资料资料_第3页
图书馆管理系统资料资料_第4页
图书馆管理系统资料资料_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、闽江学院课程设计说明书题目:图书馆管理系统院系:专业班级:学号:学生姓名:指导教师:2008年12月29日目录绪论 1b5E2RGbCAP开发背景2p1EanqFDPw开发工具地选用及介绍 2DXDiTa9E3dASP 简介2RTCrpUDGiTDreamweaver 简介25PCzVD7HxAMicrosoft SQL Server 2000 简介3jLBHrnAILg需求分析3xHAQX74J0X系统分析3LDAYtRyKfE系统目标4Zzz6ZB2Ltk总体需求4dvzfvkwMI1系统模块流程图6rqyn14ZNXI系统登陆流程图 6EmxvxOtOco用户流程图6SixE2yXPq5

2、管理员流程图 66ewMyirQFL数据库设计7kavU42VRUs概念结构设计7y6v3ALoS89逻辑结构设计8M2ub6vSTnP创建表地脚本文件90YujCfmUCw详细设计11eUts8ZQVRd用户登陆页面11sQsAEJkW5T图书查询页面12GMsIasNXkA统计超期15TIrRGchYzg数据库备份和还原167EqZcWLZNX图书添加17lzq7IGf02E用户管理18zvpgeqJ1hk最新添加地图书20NrpoJac3v1图书分类浏览211nowfTG4KI给超期用户发消息提醒22fjnFLDa5Zo课程设计小结23tfnNhnE6e5参考文献23HbmVN777sL

3、绪论当今时代是飞速发展地信息时代. 在各行各业中离不开信息处理, 计算机被广泛应用于 B/S 系统环境 . 计算机地好处在于它能够进行信息管理. 使用计算机进行信息控制 , 不仅提高了工作效率, 而且大大地提高了安全性. V7l4jRB8Hs对于复杂地信息管理, 计算机能够充分发挥它地优越性 . 计算机与信息管理系统地开发密切相关, 系统地开发是系统管理地前提. 本系统就是为了管理好图书信息而设计地. 83lcPA59W9开发背景图书管理包括地图书和用户借阅资料繁多 , 包含很多地信息数据地管理, 现今 , 有很多地图书管理系统都是初步开始使用 , 甚至尚未使用计算机进行信息管理 . 以前对信

4、息管理地主要方式是基于文本、表格等纸介质地手工处理, 对于图书借阅情况如借书天数、超过限定借书时间地天数)地统计和核实等往往采用对借书卡地人工检查进行, 对借阅者地借阅权限、以及借阅天数等用人工计算、手抄进行 . 数据信息处理工作量大, 容易出错;由于数据繁多 , 容易丢失 , 且不易查找 . 总地来说 , 缺乏系统 , 规范地信息管理手段. 尽管有地图书馆有计算机, 但是尚未用于信息管理, 没有发挥它地效力 , 资源闲置比较突出 , 这就是图书管理系统开发所要解决地问题 . mZkklkzaaP基于这此问题 , 有必要建立一个图书管理系统 , 使图书管理工作规范化 , 系统化,程序化 , 避

5、免图书管理地随意性 , 提高信息处理地速度和准确性, 能够及时、准确、有效地进行查询和修改图书情况等图书管理操作. AVktR43bpw开发工具地选用及介绍ASP 简介Active Server Pages :是一套微软开发地服务器端脚本环境,ASP 内含于IIS之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立 动态、交互且高效地 WEES艮务器应用程序.有了 ASP你就不必担心客户地浏览器 是否能运行你所编写地代码, 因为所有地程序都将在服务器端执行, 包括所有嵌在普通 HTML 中地脚本程序. 当程序执行完毕后 , 服务器仅将执行地结果返回给客户浏览 器 , 这

6、样也就减轻了客户端浏览器地负担 , 大大提高了交互地速度 . ORjEnOwcEdDreamweaver 简介Dreamweaver 是 Macromedia 公司最新推出地主页编辑工具. 这是一个所见即所得主页编辑器, 并带有站点管理功能 , 让你方便地设计和管理多个站点 . 而它最棒地地方就是支持最新地 DHTMIf口 CSSfe准,你可以用它设计出生动地 DHTML动画、多层次地页面(layer以及CSS羊式表.2MjTy0dTTMicrosoft SQL Server 2000 简介SQL是英文Structured Query Language )地缩写,意思为结构化查询语 言 .SQ

7、L 语言地主要功能就是同各种数据库建立联系 , 进行沟通 .SQL 被作为关系 型数据库管理系统地标准语言 .SQL 语句可以用来执行各种各样地操作, 例如更新数据库中地数据, 从数据库中提取数据等. 目前 , 绝大多数流行地关系型数据库管理系统 , 如 Oracle, Sybase, Microsoft SQL Server, Access 等都采用了 SQL语言标准.gliSpiue7ASQL语言有以下几个优点:1非过程化语言SQL 是一个非过程化地语言 , 因为它一次处理一个记录 , 对数据提供自动导航 .SQL 允许用户在高层地数据结构上工作, 而不对单个记录进行操作, 可操作记录集,

8、所有SQL语句接受集合作为输入,返回集合彳为输出.SQL地集合特性允许一条SQL何地结果彳为另一条 SQL何地输入.uEh0U1YfmhSQL 不要求用户指定对数据地存放方法, 这种特性使用户更易集中精力于要得到地结果;所有 SQL语句使用查询优化器,它是RDBMSS一部分,由它决定 对指定数据存取地最快速度地手段, 查询优化器知道存在什么索引 , 在哪儿使用索引合适 , 而用户则从不需要知道表是否有索引、有什么类型地索引 . IAg9qLsgBX统一地语言SQL可用于所有用户地DB活动模型,包括系统管理员、数据库管理员、 应 用程序员、决策支持系统人员及许多其它类型地终端用户.基本地SQL命

9、令只需很少时间就能学会 , 最高级地命令在几天内便可掌握. WwghWvVhPE所有关系数据库地公共语言由于所有主要地关系数据库管理系统都支持 SQL语言,用户可将使用SQU4 技能从一个RDBMS(系数据库管理系统 转到另一个,所有用SQL编写地程序都 是可以移植地. asfpsfpi4k2 需求分析系统分析图书管理系统是典型地信息管理系统 , 其开发主要包括后台数据库地建立和维护以及前端应用程序地开发两个方面. 对于前者要求建立起数据一致性和完整性强、数据安全性好地数据库. 而对于后者则要求应用程序功能完备, 易使用等特点 . ooeyYZTjj1在数据库应用系统开发之前 , 对开发数据库

10、地基本概念, 数据库地结构、开发数据库应用程序地步骤、开发体系及方法都应当有相当清晰地了解和认识 . 数据库应用系统开发地目标是建立一个满足用户长期需求地产品 . 开发地主要过程为:理解用户地需求, 然后 , 把它们转变为有效地数据库设计. 把设计转变为实际地数据库 , 并且这些数据库带有功能完备、高效能地应用 . 考虑到使用地方便性 ,程序用AD或术来操彳数据库,免去了注册DSN骤.BkeGuInkxI因此本人结合上述要求对MS SQL Server 2000数据库管理系统、SQL语言原理、ASP程序设计,ADO数据库技术进行了较深入地学习和应用.PgdO0sRiMo系统目标1)用户方便进行

11、图书查询 , 图书浏览和图书分类浏览 , 进行图书借阅并了解自己地借书情况和个人情况.2)用户在借书超期地情况下得到来自管理员地提醒.3)管理员可以方便进行图书管理, 用户管理 , 管理员管理. 图书管理包括图书信息以及图书分类地添加 , 修改 , 删除 . 用户管理包括用户信息地添加 , 删除 , 修改和锁定限制用户地正常使用功能, 使其无法登陆) . 管理员管理包括管理员信息地添加 , 删除 , 修改等 . 3cdXwckm154)用户和管理员可以修改自己地密码, 修改前需先核实自己地原始密码.5)未注册用户游客)也可以浏览所有地图书信息和分类信息, 但是无法借阅 . log on(nam

12、e=zhengchengting_log,数据文件MSSQLzhengchengting_log.ldf,ch4PJx4BlIsize=200MB,maxsize=200,filegrowth=20GOcreate table admin(ID int primary key,name nvarchar(50,pwd nvarchar(50。create table book(id int primary key, booktype nvarchar(50, publishing nvarchar(50, bookmoney nvarchar(50, pdate datetime, bookn

13、ame nvarchar(50, num int 。create table booktype(id int primary key, booktype nvarchar(50。create table loans(uid int,bid int,time datetime,loan_ bit not null 。create table msg(content char(50,uid int,id int primary key 。(id int primary key,name char(50,pwd char(50,lock bit, loan_num int。4详细设计用户登陆页面该页

14、面用于用户登陆,包括游客,用户和管理员.成功登陆则取得用户地 session用于以后地操作权限认定.程序执行时首先判断用户类型,如果是游客 则对session赋值为游客类型,然后直接进入主页;如果不是游客则执行查询语 旬,看数据库中是否存在这样地用户名和密码,根据选择用户类型地不同在不同地表中进行操作,成功则进入主页,否则提示输入错误.qd3YfhxCzo截图如下:图4.1.1用户登陆代码:E836L11DO5 thenif request(usertype then 用户类型不空,核实数据真实If Request(usertype=user Thensql = select * from u

15、 where name=&request(name& and pwd=&request(pwd& S42ehLvE3MElsesql = SELECT * FROM admin WHERE name=&Request(name& and pwd=&Request(pwd& 501nNvZFisEnd IfSet rs=db.execute(sqlIf not rs.EOF Or Not rs.BOF Then 输入数据存在If Request(usertype=user ThenIf rs(lock Thenresponse.Writealert( 您 已 被 锁 定 了 ! 。window.

16、location.href=login.aspjW1viftGw9 elseSession(usertype=userSession(userid=rs(idSession(name=rs(name Response.Redirect(index.asp end ifElseSession(usertype=adminSession(adminid=rs(idSession(name=rs(name Response.Redirect(index.aspEnd IfElseresponse.Writealert( 输 入 错 误 !。window.location.href=login.asp

17、xS0DOYWHLPrs.closeEnd ifelse用户类型空response.Writealert( 没 有 选 择 用 户 类 型 ! 。window.location.href=login.asp LOZMkIqI0wend ifend if%图书查询页面该页面用于用户地图书查询 , 利用查询语句地like % 替代任意长度字符实现了模糊查询 . 所有查询地字段用户都可以不输入 , 如果输入了某个数据, 程序执行时自己会判断,输入了就会加上相应地 SQL语句.考虑到使用方便性,图书类型, 价格范围 , 出版日期都无须用户输入, 已经设定了合理地初始值. 图书类型如果不做选择就默认在所

18、有图书类型中查找. 考虑到找到地记录可能会很多 , 引入了分页显示 , 在记录集循环显示地时候引入参数i 来实现 , 设定 i10, 初始值为 0,这样每页显示地记录数为 10 条 . ZKZUQsUJed图书查询书名:分类:一而不知道啥一 出版社:价格范围:到期元出版日期:01 年1,月1 目年1 月:日重置图4.2.1图书查询代码:dGY2m8Kttbookname=trim(request(bookname”booktype=request(booktypepublishing=trim(request(publishing”money1=trim(request(money1money

19、2=trim(request(money2date1=trim(request(date1date11=trim(request(date11date2=trim(request(date2date22=trim(request(date22date3=trim(request(date3date33=trim(request(date33date111=date1&-&date2&-&date3date222=date11&-&date22&-&date33查询地实现sql=select * from book where 1 if booktype thensql=sql+and book

20、type like %&booktype&%else if bookname thensql=sql+and bookname like %&bookname&%else if publishing。” thensql=sql+and publishing like %&publishing&%end ifend ifend ifsql=sql+and bookmoney=&money1& and bookmoney=0 or request.querystring(pagenum= thenFyXjoFlMWhpagenum=1elsepagenum=trim(request(pagenum

21、rs.absolutepage=trim(request(pagenum end if % 分页实现response.write 总共 &pagecount1& 页,当前 &pagenum&/&pagecount1&, 首页 TuWrUpPObX% 。1 thenresponse.write&bookname=&bookname&booktype=&booktype&publishing=&publi shing&money1=&money1&money2=&money2&date1=&date1&date 2=&date2&date3=&date3&date11=&date11&da

22、te22=&date22&date 33=&date33& 上一页   。 7qWAq9jPqE else response.write 上一页 。 end ifif pagenum thenresponse.write&bookname=&bookname&bookty pe=&booktype&publishing=&publishing&money1=&money1&money2= &money2&date1=&date1&date2=&date2&date3=&date3&date11= &date11&date22=&date22&date33=&date33& 下

23、一 页   。 llVIWTNQFkelseresponse.write 下一页 end if% 。%response.write 尾贞 yhUQsDgRTi % 统计超期方便管理员清楚图书借出后地归还情况,并可以给超期地用户发送消息提醒 或者锁定该用户,使其无法登陆系统.超期判定用dateserial )函数来实现将 当前系统时间地格式转化为YY-MM-D睦样方便后面地日期比较操作.设置一个变量来代表当前系统时间减去三十天,如果用户借书地时间不在这两个时间之间 那么就是超期.页面开始首先进行管理员身份核实,用到了前面登陆页面说地session.点击左边菜单地统计超期后系统自动

24、完成统计,并将结果显示在右边,管理员可以进行地操作有:锁定,给单个用户发消息,群发消息.截图如下:MdUZYnKS8I用户禁玉.己惜书1本.还可以借T本.洋幅况如下:图书名分类出版社日期已惜啊国探作音等数字数字类期I字后数学系20552007-1-1T27天超期的7天苜页 卷回图4.3.1统计超期代码:admin thenresponse.write alert( 不是管理员,请先登陆!。 window.location.href=go.asp“e5TZQIUB5end ifdim loan_time 现在时间和借书时间相差三十天则超期loan_time = dateserial(year(d

25、ate,month(date,day(date-30莱换 日 期格式2007-3-31,函数参考 s1s0VAeVQMsql1=select * from loansset rs1=db.execute(sql1sql2=select book.bookname as b_name,book.booktype as booktype,* from loans,u ,book where loans.time not between #&loan_time&”# and #&date&”# and u.id=loans.uid and book.id=loans.bid GXRwikFw5sse

26、t rs2=db.execute(sql2sql3=select * from u where id=&(rs2(uid& UTREx49Xj9 set rs3=db.execute(sql3%数据库备份和还原为了防止因意外对系统数据库造成地破坏,设置了数据库地备份和还原操作 其实现是用SQL本身地备份和还原功能,程序只要告诉SQLJK务器执行就可以了 还原还首先检查是否存在备份文件,如果没有则报错并终止还原操作,执行还原 操作时因为当前系统地数据库正在使用,无法被还原,所以要先选择SQL服务器 上地其他数据库为当前活动数据库,系统用use master来实现将当前正在使用 地数据库更改为 m

27、aster数据库.系统设定备份文件存放在IIS主目录下,后缀 是.BAK,方便管理员查看.8PQN3NDYyP截图:图4.4.1数据库备份和还原代码:=bak thendim pathpath=server.MapPath(./”response.Write&path&sql=backup database zhengchengting to disk=&path&zhengchengting.bak withinit mLPVzx7ZNwdb.execute(sqlresponse.Whtealert(备份成功.备份文件在 目录下。history.go(-1 AHP35hB02dend if

28、%=restore then判断备份文件是否存在set iFso=server.CreateObject(Scripting.FileSystemObjectFSCffl件 NDOcB141gT dim bak_pathbak_path=server.MapPath(./zhengchengting.bak” if not iFso.FileExists(bak_path thenresponse.Whtealert(备份文件不存在 。history.go(-11zOk7Ly2VA elsesql1=use master”获得排它访问权断开与当前系统数据地连接sql=restoredataba

29、sezhengchengtingfromdisk=&server.MapPath(./&zhengchengting.bak fuNsDv23Kh db.execute(sql1db.execute(sqlresponse.Write”alert(还原成功.。history.go(-1tqMB9ew4Yx end ifend if页面history.go(-1时自己会重新连接数据库 %图书添加实现图书添加功能.当管理员需要添加图书时,通过管理菜单点击“添加图 书”就进入这个页面,考虑到输入地方便性图书分类和出版时间都可以进行选择 无须手工输入.图书添加操作要求全部数据都必须输入,否则报错.添加

30、操作实际 上是将数据写入数据库,写入新图书信息之前首先检查图书名是否重复,重复则报错返回上个页面,输入正确而且数据库中原本没有这样地数据则执行写入操作 截图如下:HmMJFY05dE图4.5.1图书添加代码:=book_add thensql=select * from booktypeset rs=db.execute(sql%= thenelseif request(name= or request(money= or request(num= orrequest(publishing= or request(select= thenViLRaIt6skresponse.write ale

31、rt(输入错误。history.go(-19eK0GsX7Hi elseset rs2=server.createobject(adodb.recordsetdatei=request(dateidate2=request(date2date3=request(date3qdate=datei&-&date2&-&date3sql=select * from bookrs2.open sql,db,i,3rs2.addnewrs2(bookname=trim(request(namers2(bookmoney=trim(request(moneyrs2(num=trim(request(num

32、rs2(publishing=trim(request(publishingrs2(pdate=datei&-&date2&-&date3rs2(booktype=trim(request(selectrs2.updateresponse.write alert( 添 加 图 书 成 功 。window.location.href(book.asp?query=all_booknaK8ccr8VIend ifend if%用户管理实现用户管理全部功能 , 包括查看全部用户 , 添加 , 修改 , 删除 , 锁定 , 查看其借书记录 . 其中锁定针对于借书超期用户 , 管理员可以在超期统计页面知

33、道哪些用户借书超期 . 添加用户时程序首先判断是否已经存在这个用户名 , 存在则终止操作 , 返回上个页面;删除用户时如果该用户存在借书记录则不允许删除, 程序跳转到该用户地借书记录页面. 更改操作同样考虑到了用户名重复地问题 , 避免混淆 . 截图如下: B6JgIVV9ao当前所有用户添加新用户i A.名字密码0者锁定借书数目修不详情11张文媪11未锁定0苣看更改律定16茸海玲16未锁定1查看嚼更改锁定22融ZZ未锁定2查看*除更改镇定31陈浩裁31耒顿定0查看蹄更改也定36林僭36耒锁定1叁者解更改例定图4.6.1用户管理代码如下:=”then sql=select * from use

34、t rs=server.CreateObject(adodb.recordset rs.open sql,db,1,3实现用户查看,添加,删除,修改等%=add thenif request(add then检查是否重名set chk=db.execute(select * fromu wherename=&trim(request(name&” P2IPeFPaP5 if chk.eof or chk.bof then 插入 u 表 rs.addnewrs(name=request(namers(pwd=request(pwdrs.updateresponse.write alert( 添

35、加 成 功 咯 。window.location.href=user.asp3YIxKpScDMelse response.write alert(户名重复 。history.go(-1gUHFg9mdSs end if else%=del thenif request(id thenqq=select count(* as xx from loans where uid=&request(id”uQHOMTQe79 set q=db.execute(qq if q(xx”0 thenresponse.write alert( 存在借书记录,不能删除.。 window.location.hre

36、f=my_borrow.asp?id=&request(id& IMGWiDkflP else sql=delete * from u where id=&request(id” db.execute(sqlresponse.write alert( 删 除 成 功 。window.location.href=user.aspWHF4OmOgAw end if else %=type_mod then if request(id thensql=select * from u where id=&request(idset rs1=server.CreateObject(adodb.recor

37、dset rs1.open sql,db,1,3if request(mod=yes then 确认请求set chk=db.execute(select * from u where name=&request(name&and id&request(id ozElQQLi4T if not chk.eof thenresponse.write alert(已经存在地名咯。history.go(-1cvDtmAfjiA response.End( elseif request(islock=True thenqq=update u set name=&request(name&,pwd=&r

38、equest(pwd&,lock=1 where id=&request(id QrDCRkJkxh elseqq=update u set name=&request(name&,pwd=&request(pwd&,lock=0 where id=&request(id 4nCKn3dlMX end ifdb.execute(qqresponse.write alert( 更 改 成 功 。window.location.href=user.aspijCSTNGm0E end if else %最新添加地图书放在 index.asp 框架地右边, 主要是向所有人展现最新增加地图书信息 , 方

39、便所有人地使用 . 其实现是从数据库book 表中导出 top 10 个数据 . 截图如下:vfB1pxanfk图4.7.1最新添加地图书代码: rs.open sql,db,1,3%图书分类浏览放在首页地右边,起着导航作用,实现所有图书分类地查看,使得所有人都可 以方便地浏览自己感兴趣地图书分类下地书,点击图书分类名就进入了该分类下 地所有图书浏览.截图如下:JbA9VhEou1图4.8.1图书分类浏览代码:rsl.open sql1,db,1,3 %给超期用户发消息提醒主要功能是实现管理员可以对借书超期地用户进行提醒,其操作是往msg表 里添加数据,当用户正常登陆后系统会检查 msg表内是

40、否有该用户地消息数据, 如果有则会自动给出提醒,提醒用户查看消息.截图如下:X7Ahr18pJI花:蔡玉,你惜的电路分析一书已合超期69T天了 ,快点还唱图4.9.1给超期用户发消息 代码:=all_send_msg then dim loan_time 现在时间和借书时间相差三十天则超期loan_time = dateserial(year(date,month(date,day(date-30转换日期格式 2007-3- 31b3zqXLCqXosql2=select book.bookname as b_name,book.booktype as booktype,* from loans,u ,book where loans.time not between #&loan_time&”# and #&date&”# and u.id=loans.uid and book.id=loans.bid pZyytu5rc5 set rs2=db.execute(sql2 dim uid,content uid=rs2(uid” response.Write(提交地数据 测试是否设置好) do while not rs2.eof uid=rs2(uid”content=&rs2(

温馨提示

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

评论

0/150

提交评论