收藏 分销(赏)

数据库课程设计图书管理系统.doc

上传人:快乐****生活 文档编号:4929792 上传时间:2024-10-20 格式:DOC 页数:28 大小:742.61KB
下载 相关 举报
数据库课程设计图书管理系统.doc_第1页
第1页 / 共28页
数据库课程设计图书管理系统.doc_第2页
第2页 / 共28页
数据库课程设计图书管理系统.doc_第3页
第3页 / 共28页
数据库课程设计图书管理系统.doc_第4页
第4页 / 共28页
数据库课程设计图书管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、目录1.序言32.系统分析功能设计4 2.1需求分析4 2.2功能设计6 2.3系统整体框架63.数据库设计7 3.1数据流程分析7 3.2概念结构设计14 3.3逻辑结构设计154.详细设计175.设计总结236.参考文献24附录25摘要 图书馆作为社会文化服务部门,提供给社会的是文献服务,作为社会的重要文化信息部门,也需要一套有效的图书管理系统来提高管理效率。图书管理信息系统的目标是:信息收集制度化,信息加工标准化,信息传递规范化,信息内容系统化,信息储存档案化以及图书馆信息工作专业化。这样不仅可以提高图书馆的工作效率,减少图书管理员的负担,还可以为想要借书和还书的人提供更好的服务。本次利

2、用微软SQL SERVER 2000建立的图书管理信息系统,可用于各种大学图书馆的管理业务。关键字: 图书管理信息系统 数据库1.序言 目前,在高校系部图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。另外,有的系部因图书数量有限,必须对图书实行限量借阅,因

3、此,要实施弹性借书方法是件很困难的事。 为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,且能让图书管理员以最高的效率办理借阅手续。2.系统分析功能设计2.1需求分析本系统是一个图书管理系统,本系统用户分为读者用户和管理员用户两类,管理员用户负责系统的维护,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。读者用户只具有查询书籍和自己信息的权限。系统的开发主要目的是实现图书馆信息管理的系统化、规范化和自动化。图书馆借阅的业务流程图见下:图书条码读者条码读者借

4、书图书管理员是否允许借阅借阅成功不能借阅图2.1 借书流程读者条码图书条码读者管理员是否可以续借续借不能续借续借成功是否图2.2 续借流程图书条码读者条码是否超过期限读者管理员管理员还书罚款罚款金额还书成功否是图2.3 还书流程 2.2功能设计图书管理信息系统应具备的功能有:(1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。(2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 (3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 (4) 书籍类别信息的查询、修改,包括类别编号、类别名称。 (5) 书籍库存信息的输入,包括书籍编号、书籍名称

5、、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 (6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 (7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。(8) 借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等。 (9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。 (10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 (11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

6、(12) 超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等。 (13) 管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。 (14) 超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。 2.3系统整体框架图2.4 系统整体框架3 数据库设计3.1数据流程分析3.1.1数据流程图 数据流程图是关羽各种数据和处理的关系,数据流程分析是系统分析的基础环节,图书管理信息系统数据流程图如图3.1-3.5所示。图3.1 顶层图图3.2 0层图图3.3 1层图(书籍管理

7、)图3.4 1层图(读者管理)图3.5 1层图(借阅管理)3.1.2 数据字典表3.1 数据项序号数据项名数据类型值域范围说明V01读者编号字符型(10)学生学号或教职工编号V02姓名字符型(20)V03年龄数值型V04性别字符型(10)男,女V05院系字符型(20)读者所在的院系V06班级字符型(20)教职工不填此项V07读者类别字符型(20)本科生,硕博生或在校教职工V08图书编号字符型(50)V09书名字符型(100)V10图书种类字符型(10)文艺书,科技书,工具书V11图书状态字符型(10)未借,已借图书已被预约或借阅均属于已借状态,其他状态未借状态V12作者字符型(20)V13出版

8、社字符型(50)V14出版日期日期型V15预约号数值型预约完成系统自动生成的编号V16预约时间日期型V17预约数目数值型V18借阅号数值型借阅完成系统自动生成的编号V19借阅日期日期型V20借阅天数数值型可以借阅的天数V21借阅数目数值型借阅完成系统自动统计的数目V22续借日期日期型V23还书号数值型还书完成系统自动生成的编号V24还书日期日期型表3.2 数据结构编号:D01 名称:读者 别名:简述:读者的基本信息组成:读者编号+姓名+年龄+性别+院系+班级+读者类别+电话编号:D02 名称:图书 别名:简述:图书的基本信息组成:书号+书名+作者+出版社+出版日期编号:D03 名称:预约 别名

9、:简述:读者预约图书的相关信息组成:预约号+预约日期+预约数目+书号编号:D04 名称:借阅 别名:简述:读者借阅图书生成的记录信息组成:借阅号+借阅日期+书号+借阅数目编号:D05 名称:续借 别名:简述:读者续借图书生成的记录信息组成:续借号+续借日期+书号编号:D06 名称:还书 别名:简述:读者还书图书生成的记录信息组成:还书号+还书日期+书号表3.3 数据流编号:F101 名称:读者相关信息 别名:简述:读者的基本信息组成:D01 D02 D03若为数据流来源:读者相关信息去向:预约处理编号:F102 名称:预约相关信息 别名:简述:预约的基本信息组成:D01 D02 D03若为数据

10、流来源:预约处理去向:预约记录的相关信息编号:F103 名称:预约记录相关信息 别名:简述:预约完成形成的基本信息组成:D01 D03 DO2若为数据流来源:预约记录的相关信息去向:借书处理编号:F104 名称:借书处理相关信息 别名:简述:借书的基本信息组成:D01 D03 DO2 D04若为数据流来源:预约记录的相关信息去向:借书处理编号:F105 名称:读者相关信息 别名:简述:读者的基本信息组成:D01 D03 D04若为数据流来源:读者相关信息去向:借书处理编号:F106 名称:借书相关信息 别名:简述:借书的基本信息组成:D01 D02 D03 D04若为数据流来源:借书处理去向:

11、续借处理编号:F107 名称:续借过程的相关信息 别名:简述:续借的基本信息组成:D01 D02 D04若为数据流来源:续借处理去向:借书记录编号:F108 名称:续借的相关信息 别名:简述:续借的基本信息组成:D01 D02 D03 D04若为数据流来源:续借处理去向:还书处理编号:F109 名称:续借形成的相关信息 别名:简述:续借完成形成的基本信息组成:D01 D02 D04若为数据流来源:还书处理去向:借书记录编号:F110 名称:还书相关信息 别名:简述:还书的基本信息组成:D01 D02 D04 D06若为数据流来源:图书去向:还书处理编号:F111 名称:还书形成相关信息 别名:

12、简述:还书完成形成的基本信息组成:D01 D02 D03 D04若为数据流来源:还书处理去向:借书记录编号:F112 名称:已有借书记录后再借书信息 别名:简述:借书形成的基本信息组成:D01 D04若为数据流来源:借书记录去向:借书处理编号:F113 名称:已有借书记录后续借书信息 别名:简述:借书形成的基本信息组成:D01 D04 D05若为数据流来源:借书记录去向:续借处理编号:F114 名称:预约图书信息 别名:简述:预约图书的基本信息组成:D01 D02 D03若为数据流来源:图书基本信息去向:预约处理编号:F115 名称:借阅图书信息 别名:简述:借书图书的基本信息组成:D01 D

13、02 D04若为数据流来源:图书基本信息去向:借书处理编号:F116 名称:续借图书信息 别名:简述:续借图书的基本信息组成:D01 D02 D05若为数据流来源:图书基本信息去向:续借处理3.2概念结构设计 根据需求分析中得出的数据字典可以设计出满足系统需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。图3.6 读者信息E-R图图3.7 管理员信息E-R图图3.8 图书信息E-R图图3.9 图书借阅E-R图图3.10 总的E-R图3.3逻辑结构设计读者(读者编号,性别,年龄,性别,院系,班级,读者类别)图书(图书编号,书名,作者,出版社,出版日期,图书种类,图书状态)借阅(借

14、阅号,借阅时间,借阅数目,借阅天数,续借时间,图书编号,读者编号)表3.4 读者表表3.5 图书表表3.6 借阅表 4. 详细设计详细设计包括登录界面,用户主界面,管理员界面。登录界面可以选择用户登录,管理员登录,注册新用户,修改密码;用户登录进去后,可以查找图书,借书,查看借书记录等;管理员登录进去后可以修改书籍信息,删除书籍信息,新增书目等。图4.1 登录界面图4.2 用户主界面 图4.3 书名查找图4.4 借书图4.5 查看借书记录图4.6 管理员界面图4.7 修改书籍信息图4.10 注册新用户5. 设计总结这次课程设计深有感触,老师下达设计任务之后大家都开始积极准备。按照书上介绍的数据

15、库设计的步骤,我首先进行需求分析,得到了图书管理员详细的回答后,我想的是这些细节的东西应该应用到我们具体哪些步骤中。开始时没有头绪的,思路渐渐有所清晰后,我就进行概念结构设计。在画数据流程图和完成数据字典的时候,其实遇到很多困难,主要集中在数据字典中,数据项的填写很乱,我们觉得我们完成的结果中应该存在很多问题。在画E-R图时,按自己大脑的过期思维去想,应该是我们所体现出来的上述E-R图,但是预约和借阅,借阅和续借,和还书之间的关系没有体现,这又是一大漏洞。总之,我认为这个系统需要改进的地方还有很多很多。通过这次的数据库课程设计,开始对数据库的应用有了初步的了解,知道了怎么通过编程建立一个具有一

16、定功能的系统。在设计的期间,遇到的问题很多,好多知识根本就不懂,然后经过查书没上网搜索和问老师和同学,最后终于慢慢的完成了这个课程设计。在此谢谢老师和同学的帮忙,顺利完成了课程设计。谢谢大家!谢谢老师!6.参考文献1 逯燕玲等网络数据库技术北京:电子工业出版社,20072李存斌.数据库应用技术SQL Server简明教程.水利水电出版社3周绪.SQL Server2000中文版入门与提高.清华出版社4宋振会.SQL Server2000中文版基础教程.清华出版社附录借书: long Is_bookid,Is_cert_id,Il_i,Il_m,Il_n,Il_vdate Is_returnda

17、tes datetime Is_loandates,Il_j,Il_kinteger Is_flag,Il_a,Il_b,Il_d,Il_f,Il_wif sle_cert_id.text=or iSNull(sle_cert_id.text)thenmessagebox(缺少数据,请输入借书证书ID) sle_cert_id.setfocus() returnelseif sle_bookid.text=or iSNull(sle_bookid.text)thenmessagebox(缺少数据,请输入图书编号) sle_bookid.setfocus() returnend ifIs_boo

18、kid=long(sle_bookid.text)Is_cert_id=long(sle_cert_id.text)Is_loandates=datetime(today()Is_returndates=relativedate (today(),30)Is_flag=0/自定义为0select loan.returndatesinto:Il_jfrom loanwhere loan.cert_id=:Is_cert_id and loan.returndates:Is_loandates and loan.flag=0;if Il_jIl_k thenmessagebox(提示信息,所借书在

19、+string(datetime(Il_j)+ 已超期,请你还书!) sle_cert_id.setfocus()returnend ifselect CertificateInfo.flaginto:Il_afrom CertificateInfowhere CertificateInfo.cert_id=:Is_cert_id;select count(flag)into: Il_ifrom loanwhere loan.cert_id=:Is_cert_id and flag=0;if Il_a=1 and Il_i=10 then /说明:如果Il_a=1时则可以借10本书。messa

20、gebox(信息错误,所借书已超10本,请先还书!) sle_cert_id.setfocus()elseif Il_a1 and Il_i=6 then /说明:Il_a1则可以借6本书。messagebox(信息错误,所借书已超6本,请先还书!) sle_cert_id.setfocus()returnend ifselect bookinfo.bookidinto:Il_mfrom bookinfowhere bookinfo.bookid=:Is_bookid;if Il_m Is_bookid thenmessagebox(信息错误,数据库内没有此图书信息!) sle_cert_id

21、.setfocus()returnend ifselect CertificateInfo.cert_idinto:Il_nfrom CertificateInfowhere CertificateInfo.cert_id=:Is_cert_id;if Il_n Is_cert_id thenmessagebox(信息错误,数据库内不存在此证!) sle_cert_id.setfocus()returnend if/说明如果flags=2时则此证已被挂失,如果flags=0则没有挂失select certificateinfo.flagsinto:Il_dfrom certificateinf

22、owhere certificateinfo.cert_id=:Is_cert_id;if Il_d=2 thenmessagebox(信息错误,此证已被挂失!)returnend if/说明如果flag=1时则此书已被借出,如flag=0则没有借出select bookinfo.flag1into:Il_bfrom bookinfowhere bookinfo.bookid=:Is_bookid;if Il_b=1 thenmessagebox(信息错误,此书已被借出!)returnend ifinsert into loanvalues(:Is_bookid, :Is_cert_id, :

23、Is_loandates, :Is_returndates, :Is_flag);select loan.cert_idinto:Il_vfrom loanwhere loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; select loan.flaginto:Il_ffrom loanwhere loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; if Il_f=0 and Il_v=Is_cert_id thendw_1.retrieve(Is_cert_id,Is_flag)end ifmessa

24、gebox(提示信息,图书编号为+string(long(Is_bookid)+的图书已借成功)update bookinfoset flag1=1where bookinfo.bookid=:Is_bookid;/借书后将本书的flag1置1sle_bookid.text=sle_cert_id.text=sle_cert_id.setfocus()查看借书记录:long Is_cert_id,Il_d,Il_a,Il_b,Il_vdatetime Is_loandates,Is_returndates,Il_j,Il_kinteger Is_flag,Il_fIs_loandates=da

25、tetime(today()Is_cert_id=long(sle_1.text)/Is_returndates=relativedate(today(),30)select loan.returndatesinto:Il_jfrom loanwhere loan.cert_id=:Is_cert_id and loan.returndates:Is_loandates and loan.flag=0;if Il_jIl_k thenmessagebox(提示信息,所借书在+string(datetime(Il_j)+ 已超期,请你还书!) sle_cert_id.setfocus()end

26、ifif sle_1.text= thenmessageBox(数据不全,请输入借书证号)returnend ifselect certificateinfo.flagsinto:Il_dfrom certificateinfowhere certificateinfo.cert_id=:Is_cert_id;if Il_d=2 thenmessagebox(信息错误,此证已被挂失!)end ifselect certificateinfo.cert_idinto:Il_afrom certificateinfowhere certificateinfo.cert_id=:Is_cert_id

27、;if Il_a=0 thenmessagebox(信息错误,不存在此证件!)returnend ifselect loan.cert_idinto:Il_bfrom loanwhere loan.cert_id=:Is_cert_id;if Il_b=0 thenmessagebox(信息错误,此证件无借书信息!)returnend ifselect loan.cert_idinto:Il_vfrom loanwhere loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; select loan.flaginto:Il_ffrom loanwhere loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; if Il_f=0 and Il_v=Is_cert_id thendw_1.retrieve(Is_cert_id,Is_flag)end if

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服