数据库课程设计图书管理系统.doc
《数据库课程设计图书管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计图书管理系统.doc(28页珍藏版)》请在咨信网上搜索。
目录 1.序言 3 2.系统分析功能设计 4 2.1需求分析 4 2.2功能设计 6 2.3系统整体框架 6 3.数据库设计 7 3.1数据流程分析 7 3.2概念结构设计 14 3.3逻辑结构设计 15 4.详细设计 17 5.设计总结 23 6.参考文献 24 附录 25 摘要 图书馆作为社会文化服务部门,提供给社会的是文献服务,作为社会的重要文化信息部门,也需要一套有效的图书管理系统来提高管理效率。图书管理信息系统的目标是:信息收集制度化,信息加工标准化,信息传递规范化,信息内容系统化,信息储存档案化以及图书馆信息工作专业化。这样不仅可以提高图书馆的工作效率,减少图书管理员的负担,还可以为想要借书和还书的人提供更好的服务。本次利用微软SQL SERVER 2000建立的图书管理信息系统,可用于各种大学图书馆的管理业务。 关键字: 图书管理信息系统 数据库 1.序言 目前,在高校系部图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。另外,有的系部因图书数量有限,必须对图书实行限量借阅,因此,要实施弹性借书方法是件很困难的事。 为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。 这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,且能让图书管理员以最高的效率办理借阅手续。 2.系统分析功能设计 2.1需求分析 本系统是一个图书管理系统,本系统用户分为读者用户和管理员用户两类,管理员用户负责系统的维护,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。读者用户只具有查询书籍和自己信息的权限。系统的开发主要目的是实现图书馆信息管理的系统化、规范化和自动化。 图书馆借阅的业务流程图见下: 图书条码 读者条码 读者 借书 图书 管理员 是否允许借阅 借阅成功 不能借阅 图2.1 借书流程 读者条码 图书条码 读者 管理员 是否可以续借 续借 不能续借 续借成功 是 否 图2.2 续借流程 图书条码 读者条码 是否超过期限 读者 管理员 管理员 还书 罚款 罚款金额 还书成功 否 是 图2.3 还书流程 2.2功能设计 图书管理信息系统应具备的功能有: (1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。 (2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 (3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 (4) 书籍类别信息的查询、修改,包括类别编号、类别名称。 (5) 书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 (6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 (7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 (8) 借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等。 (9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。 (10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 (11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。 (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层图(书籍管理) 图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 出版社 字符型(50) V14 出版日期 日期型 V15 预约号 数值型 预约完成系统自动生成的编号 V16 预约时间 日期型 V17 预约数目 数值型 V18 借阅号 数值型 借阅完成系统自动生成的编号 V19 借阅日期 日期型 V20 借阅天数 数值型 可以借阅的天数 V21 借阅数目 数值型 借阅完成系统自动统计的数目 V22 续借日期 日期型 V23 还书号 数值型 还书完成系统自动生成的编号 V24 还书日期 日期型 表3.2 数据结构 编号:D01 名称:读者 别名: 简述:读者的基本信息 组成:读者编号+姓名+年龄+性别+院系+班级+读者类别+电话 编号:D02 名称:图书 别名: 简述:图书的基本信息 组成:书号+书名+作者+出版社+出版日期 编号:D03 名称:预约 别名: 简述:读者预约图书的相关信息 组成:预约号+预约日期+预约数目+书号 编号:D04 名称:借阅 别名: 简述:读者借阅图书生成的记录信息 组成:借阅号+借阅日期+书号+借阅数目 编号:D05 名称:续借 别名: 简述:读者续借图书生成的记录信息 组成:续借号+续借日期+书号 编号:D06 名称:还书 别名: 简述:读者还书图书生成的记录信息 组成:还书号+还书日期+书号 表3.3 数据流 编号:F101 名称:读者相关信息 别名: 简述:读者的基本信息 组成:D01 D02 D03 若为数据流 来源:读者相关信息 去向:预约处理 编号:F102 名称:预约相关信息 别名: 简述:预约的基本信息 组成:D01 D02 D03 若为数据流 来源:预约处理 去向:预约记录的相关信息 编号:F103 名称:预约记录相关信息 别名: 简述:预约完成形成的基本信息 组成:D01 D03 DO2 若为数据流 来源:预约记录的相关信息 去向:借书处理 编号:F104 名称:借书处理相关信息 别名: 简述:借书的基本信息 组成:D01 D03 DO2 D04 若为数据流 来源:预约记录的相关信息 去向:借书处理 编号:F105 名称:读者相关信息 别名: 简述:读者的基本信息 组成:D01 D03 D04 若为数据流 来源:读者相关信息 去向:借书处理 编号:F106 名称:借书相关信息 别名: 简述:借书的基本信息 组成:D01 D02 D03 D04 若为数据流 来源:借书处理 去向:续借处理 编号:F107 名称:续借过程的相关信息 别名: 简述:续借的基本信息 组成:D01 D02 D04 若为数据流 来源:续借处理 去向:借书记录 编号:F108 名称:续借的相关信息 别名: 简述:续借的基本信息 组成:D01 D02 D03 D04 若为数据流 来源:续借处理 去向:还书处理 编号:F109 名称:续借形成的相关信息 别名: 简述:续借完成形成的基本信息 组成:D01 D02 D04 若为数据流 来源:还书处理 去向:借书记录 编号:F110 名称:还书相关信息 别名: 简述:还书的基本信息 组成:D01 D02 D04 D06 若为数据流 来源:图书 去向:还书处理 编号:F111 名称:还书形成相关信息 别名: 简述:还书完成形成的基本信息 组成:D01 D02 D03 D04 若为数据流 来源:还书处理 去向:借书记录 编号:F112 名称:已有借书记录后再借书信息 别名: 简述:借书形成的基本信息 组成:D01 D04 若为数据流 来源:借书记录 去向:借书处理 编号:F113 名称:已有借书记录后续借书信息 别名: 简述:借书形成的基本信息 组成:D01 D04 D05 若为数据流 来源:借书记录 去向:续借处理 编号:F114 名称:预约图书信息 别名: 简述:预约图书的基本信息 组成:D01 D02 D03 若为数据流 来源:图书基本信息 去向:预约处理 编号:F115 名称:借阅图书信息 别名: 简述:借书图书的基本信息 组成:D01 D02 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逻辑结构设计 读者(读者编号,性别,年龄,性别,院系,班级,读者类别) 图书(图书编号,书名,作者,出版社,出版日期,图书种类,图书状态) 借阅(借阅号,借阅时间,借阅数目,借阅天数,续借时间,图书编号,读者编号) 表3.4 读者表 表3.5 图书表 表3.6 借阅表 4. 详细设计 详细设计包括登录界面,用户主界面,管理员界面。登录界面可以选择用户登录,管理员登录,注册新用户,修改密码;用户登录进去后,可以查找图书,借书,查看借书记录等;管理员登录进去后可以修改书籍信息,删除书籍信息,新增书目等。 图4.1 登录界面 图4.2 用户主界面 图4.3 书名查找 图4.4 借书 图4.5 查看借书记录 图4.6 管理员界面 图4.7 修改书籍信息 图4.10 注册新用户 5. 设计总结 这次课程设计深有感触,老师下达设计任务之后大家都开始积极准备。按照书上介绍的数据库设计的步骤,我首先进行需求分析,得到了图书管理员详细的回答后,我想的是这些细节的东西应该应用到我们具体哪些步骤中。开始时没有头绪的,思路渐渐有所清晰后,我就进行概念结构设计。在画数据流程图和完成数据字典的时候,其实遇到很多困难,主要集中在数据字典中,数据项的填写很乱,我们觉得我们完成的结果中应该存在很多问题。在画E-R图时,按自己大脑的过期思维去想,应该是我们所体现出来的上述E-R图,但是预约和借阅,借阅和续借,和还书之间的关系没有体现,这又是一大漏洞。总之,我认为这个系统需要改进的地方还有很多很多。 通过这次的数据库课程设计,开始对数据库的应用有了初步的了解,知道了怎么通过编程建立一个具有一定功能的系统。在设计的期间,遇到的问题很多,好多知识根本就不懂,然后经过查书没上网搜索和问老师和同学,最后终于慢慢的完成了这个课程设计。在此谢谢老师和同学的帮忙,顺利完成了课程设计。谢谢大家!谢谢老师! 6.参考文献 1. 逯燕玲等.《网络数据库技术》.北京:电子工业出版社,2007 2.李存斌.《数据库应用技术》——SQL Server简明教程.水利水电出版社 3.周绪.《SQL Server2000中文版入门与提高》.清华出版社 4.宋振会.《SQL Server2000》中文版基础教程.清华出版社 附录 借书: long Is_bookid,Is_cert_id,Il_i,Il_m,Il_n,Il_v date Is_returndates datetime Is_loandates,Il_j,Il_k integer Is_flag,Il_a,Il_b,Il_d,Il_f,Il_w if sle_cert_id.text=""or iSNull(sle_cert_id.text)then messagebox("缺少数据","请输入借书证书ID") sle_cert_id.setfocus() return elseif sle_bookid.text=""or iSNull(sle_bookid.text)then messagebox("缺少数据","请输入图书编号") sle_bookid.setfocus() return end if Is_bookid=long(sle_bookid.text) Is_cert_id=long(sle_cert_id.text) Is_loandates=datetime(today()) Is_returndates=relativedate (today(),30) Is_flag=0//自定义为0 select loan.returndates into:Il_j from loan where loan.cert_id=:Is_cert_id and loan.returndates<:Is_loandates and loan.flag=0; if Il_j<Is_loandates and Il_j>Il_k then messagebox("提示信息","所借书在"+string(datetime(Il_j))+ "已超期,请你还书!") sle_cert_id.setfocus() return end if select CertificateInfo.flag into:Il_a from CertificateInfo where CertificateInfo.cert_id=:Is_cert_id; select count(flag) into: Il_i from loan where loan.cert_id=:Is_cert_id and flag=0; if Il_a=1 and Il_i>=10 then //说明:如果Il_a=1时则可以借10本书。 messagebox("信息错误","所借书已超10本,请先还书!") sle_cert_id.setfocus() elseif Il_a<>1 and Il_i>=6 then //说明:Il_a<>1则可以借6本书。 messagebox("信息错误","所借书已超6本,请先还书!") sle_cert_id.setfocus() return end if select bookinfo.bookid into:Il_m from bookinfo where bookinfo.bookid=:Is_bookid; if Il_m <>Is_bookid then messagebox("信息错误","数据库内没有此图书信息!") sle_cert_id.setfocus() return end if select CertificateInfo.cert_id into:Il_n from CertificateInfo where CertificateInfo.cert_id=:Is_cert_id; if Il_n <>Is_cert_id then messagebox("信息错误","数据库内不存在此证!") sle_cert_id.setfocus() return end if //说明如果flags=2时则此证已被挂失,如果flags=0则没有挂失 select certificateinfo.flags into:Il_d from certificateinfo where certificateinfo.cert_id=:Is_cert_id; if Il_d=2 then messagebox("信息错误","此证已被挂失!") return end if //说明如果flag=1时则此书已被借出,如flag=0则没有借出 select bookinfo.flag1 into:Il_b from bookinfo where bookinfo.bookid=:Is_bookid; if Il_b=1 then messagebox("信息错误","此书已被借出!") return end if insert into loan values(:Is_bookid, :Is_cert_id, :Is_loandates, :Is_returndates, :Is_flag); select loan.cert_id into:Il_v from loan where loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; select loan.flag into:Il_f from loan where loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; if Il_f=0 and Il_v=Is_cert_id then dw_1.retrieve(Is_cert_id,Is_flag) end if messagebox("提示信息","图书编号为"+string(long(Is_bookid))+"的图书已借成功") update bookinfo set flag1=1 where bookinfo.bookid=:Is_bookid;//借书后将本书的flag1置1 sle_bookid.text="" sle_cert_id.text="" sle_cert_id.setfocus() 查看借书记录: long Is_cert_id,Il_d,Il_a,Il_b,Il_v datetime Is_loandates,Is_returndates,Il_j,Il_k integer Is_flag,Il_f Is_loandates=datetime(today()) Is_cert_id=long(sle_1.text) //Is_returndates=relativedate(today(),30) select loan.returndates into:Il_j from loan where loan.cert_id=:Is_cert_id and loan.returndates<:Is_loandates and loan.flag=0; if Il_j<Is_loandates and Il_j>Il_k then messagebox("提示信息","所借书在"+string(datetime(Il_j))+ "已超期,请你还书!") sle_cert_id.setfocus() end if if sle_1.text="" then messageBox("数据不全","请输入借书证号") return end if select certificateinfo.flags into:Il_d from certificateinfo where certificateinfo.cert_id=:Is_cert_id; if Il_d=2 then messagebox("信息错误","此证已被挂失!") end if select certificateinfo.cert_id into:Il_a from certificateinfo where certificateinfo.cert_id=:Is_cert_id; if Il_a=0 then messagebox("信息错误","不存在此证件!") return end if select loan.cert_id into:Il_b from loan where loan.cert_id=:Is_cert_id; if Il_b=0 then messagebox("信息错误","此证件无借书信息!") return end if select loan.cert_id into:Il_v from loan where loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; select loan.flag into:Il_f from loan where loan.cert_id=:Is_cert_id and loan.flag=:Is_flag; if Il_f=0 and Il_v=Is_cert_id then dw_1.retrieve(Is_cert_id,Is_flag) end if- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 图书 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文