图书管理系统数据库课程设计_第1页
图书管理系统数据库课程设计_第2页
图书管理系统数据库课程设计_第3页
图书管理系统数据库课程设计_第4页
图书管理系统数据库课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库课程设计 图书管理系统专业 学号 姓名 小组 目 录引言31.需求分析41.1 分析41.2 系统功能分析52.数据库功能流图53.数据库ER图设计64.数据库的建立65个人主要负责部分75.1数据库前台设计和前台与sql server连接75.2 数据库存储过程,触发器,游标的建立115.2.2 触发器166总结16引言随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之

2、有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中

3、。本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。1.需求分析1.1 分析图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护。 图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅

4、者加入借书记录或是还书记录。对用户开放的图书查询借阅者查看个人借阅情况信息根据借阅情况对数据库进行操作根据还书情况对数据库进行操作查询及统计各种信息维护图书信息维护管理员信息维护借阅者信息处理信息的完整性对借阅过期的图书生成报表1.2 系统功能分析读者种类信息的修改、查询等读者基本信息的输入读者基本信息的查询、修改书籍类别标准的制定、类别信息的输入书籍类别信息的查询、修改书籍信息的输入书籍信息的查询、修改借书信息的查询、修改2.数据库功能流图3.数据库ER图设计4.数据库的建立数据库共建立了6个表:读者类别表(读者类别,允许借阅图书最大数,最长借书时间,借书证期限)管理员信息表(管理员编号,管

5、理员姓名,管理员性别,管理员密码,管理员 )借书卡信息表(读者编号,读者姓名,性别,读者类型, ,学院,专业,借书数量,办证日期)借阅信息表(图书编号,读者编号,借书时间,归还时间,应还时间,是否超期,罚款金额,管理员编号)图书分类表(存放楼层,图书类别)图书基本信息表(图书编号,书名,作者,出版社,出版日期,价格,存放楼层,库存数量)5个人主要负责部分5.1数据库前台设计和前台与sql server连接数据库前台使用实现,设计前台时考虑了学生的借书,还书,查询书籍,查询借书记录的功能。教师的借书,还书,查询书籍,查询借书记录的功能。管理员的管理维护功能。由于时间有限最终实现了学生的借书,还书

6、,查询书籍,查询借书记录的功能。前台的登入界面登入学生入口可进行以下操作借书点提交同时数据库借阅信息表为还书点击提交后同时借阅信息表为查询书籍有三种方式可选1书籍编号2 书籍名称3 书籍作者查询借阅记录5.2 数据库存储过程,触发器,游标的建立5.2.1建立了7个存储过1 dbo.bnaIndexBook通过输入图书的书名来查询书籍源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.bnaIndexBook bname nchar(20)asselect 图书编号,书名,出版社,作者,出版日期,库存数量from 图

7、书基本信息表where 书名=bname2 dbo.bnoIndexBook 通过输入图书的编号查询书籍源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.bnoIndexBook bno nchar(20)asselect 图书编号,书名,出版社,作者,出版日期,库存数量from 图书基本信息表where 图书编号=bno3 dbo.naIndexBook 通过输入作者名字查询源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.naI

8、ndexBook na nchar(20)asselect 图书编号,书名,出版社,作者,出版日期,库存数量from 图书基本信息表where 作者=na4 dbo.Readhistory 通过输入用户的编号查询借阅记录 源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.Readhistory rno nchar(12)asselect 借书卡信息表.读者编号,借书卡信息表.读者姓名,图书基本信息表.书名,借阅信息表.借书时间,借阅信息表.应还时间,借阅信息表.归还时间,借阅信息表.是否超期from 借书卡信息表

9、,借阅信息表,图书基本信息表where 借书卡信息表.读者编号=rno and 借书卡信息表.读者编号=借阅信息表.读者编号and 借阅信息表.图书编号=图书基本信息表.图书编号5 dbo.ReturnBook 通过输入用户编号与书名编号实现还书源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.ReturnBook rno nchar(20),prno nchar(12)asdeclare retime datetime,rbtime datetimeset retime =(select getdate()se

10、t rbtime=(select 应还时间from 借阅信息表where rno=图书编号and prno=读者编号)update 借阅信息表set 归还时间=retimewhere rno=图书编号and prno=读者编号update 图书基本信息表set 库存数量=库存数量+1 where rno=图书编号update 借书卡信息表set 借书数量=借书数量-1where prno=读者编号if (datediff(hh,rbtime,retime)<0)begin update 借阅信息表 set 是否超期='否' where rno=图书编号and prno=读

11、者编号 print '学号为:'+str(prno)+'在'+convert(varchar(30),getdate(),111)+'成功归还图书编号为:'+str(rno)+'的图书,且未超时'endelse begin update 借阅信息表 set 是否超期='是' where rno=图书编号and prno=读者编号 print'学号为:'+str(prno)+'在'+convert(varchar(30),getdate(),111)+'成功归还图书编号为:&#

12、39;+str(rno)+'的图书,但已超时'end6 dbo.StuBorrowBook 通过输入读者的编号和书籍的编号实现学生借书 源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.StuBorrowBook bno nchar(20),pbno nchar(12)asdeclare btime datetime,rbtime datetimeset btime =(select getdate()set rbtime=(dateadd(day,10,btime)- 学生最大借书时间为10天,

13、最大借书数量为10if (exists(select * from 图书基本信息表,借书卡信息表,读者类别表where 图书编号=bno and 库存数量>0 and 借书卡信息表.借书数量<10 ) begin insert into 借阅信息表(图书编号,读者编号,借书时间,应还时间,是否超期) values(bno,pbno,btime,rbtime,'否') update 图书基本信息表 set 库存数量=库存数量-1 where 图书编号=bno update 借书卡信息表 set 借书数量=借书数量+1 where 读者编号=pbno print 

14、9;学号为:'+str(pbno)+'在'+convert(varchar(30),getdate(),111)+'成功借阅图书编号为:'+str(bno)+'的图书,请及时归还' endelsebeginif (exists(select * from 图书基本信息表,借书卡信息表,读者类别表where 图书编号=bno and 库存数量=0)print '借书失败,已经没有库存'elsebeginif (exists(select * from 图书基本信息表,借书卡信息表,读者类别表where 图书编号=bno an

15、d 借书卡信息表.借书数量=10)print '借书失败,您的借书数量已达上限'elseprint '借书失败'endend 7 dbo.TeaBorrowBook 通过输入读者的编号和书籍的编号实现学生借书源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure dbo.TeaBorrowBook bno nchar(20),pbno nchar(12)as declare btime datetime,rbtime datetimeset btime =(select getdate()set

16、 rbtime=(dateadd(day,20,btime)if (exists(select * from 图书基本信息表,借书卡信息表where 图书编号=bno and 库存数量>0 and 借书卡信息表.借书数量<20) begin insert into 借阅信息表(图书编号,读者编号,借书时间,应还时间,是否超期) values(bno,pbno,btime,rbtime,'否') update 图书基本信息表 set 库存数量=库存数量-1 where 图书编号=bno update 借书卡信息表 set 借书数量=借书数量+1 where 读者编号=

17、pbno print '学号为:'+str(pbno)+'在'+convert(varchar(30),getdate(),111)+'成功借阅图书编号为:'+str(bno)+'的图书,请及时归还'endelse beginif (exists(select * from 图书基本信息表,借书卡信息表,读者类别表where 图书编号=bno and 库存数量=0)print '借书失败,已经没有库存'elsebeginif (exists(select * from 图书基本信息表,借书卡信息表,读者类别表whe

18、re 图书编号=bno and 借书卡信息表.借书数量=20)print '借书失败,您的借书数量已达上限'elseprint '借书失败'end end5.2.2 触发器 Warn 触发器功能是当借阅信息表更新时触发,并列出已还书籍中超期的借阅信息,以便管理员做出处罚。 源代码set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER trigger warn on dbo.借阅信息表for updateasselect 图书编号,读者编号,借书时间,应还时间,归还时间from 借阅信息表where 是否超期='是

19、'print '这些书已经超期了' 公司印章管理制度一、目的 公司印章是公司对内对外行使权力的标志,也是公司名称的法律体现, 因此,必须对印章进行规范化、合理化的严格管理,以保证公司各项业务的正常运作,由公司指定专人负责管理。二、印章的种类1、 公章,是按照政府规定,由主管部门批准刻制的代表公司权力的印章。2、 专用章,为方便工作专门刻制的用于某种特定用途的印章,如:合同专用章、财务专用章、业务专用章、仓库签收章等。 3、手章(签名章),是以公司法人代表名字刻制的用于公务的印章。三、印章的管理规定1、 印章指定专人负责保管和使用,保管印章的地方(桌、柜等)要牢固加锁,印

温馨提示

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

评论

0/150

提交评论