《SQL数据库课程设计报告书.docx》由会员分享,可在线阅读,更多相关《SQL数据库课程设计报告书.docx(44页珍藏版)》请在三一文库上搜索。
1、数据库课程设计图书管理系统数据库设计:贺佳伟学号: 21513129 指导教师:童蔚苹一、数据库需求分析1.1 用户需求1.1.1 系统现状及主要解决问题近年来, 随着图书馆规模的不断扩大, 图书数量也相应的增加, 有关图书的各种信息量也成 倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题: (1)检索速度慢、效率低。因为图书馆的藏书种类多、数量多,将藏书准确地分门别类, 快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。 图书馆的规模越大,这个问题越突出。( 2)借书、还书工作量大。借书、还书频率越大,说明图书馆的作用越大,然而随之
2、而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之 大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错。(3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教 学工作的需要及时添加和更新, 然而由于藏书数量及图书种类越来越多, 加上自然损耗, 人 为破坏, 使图书的统计工作难以及时完成, 藏书的更新也就很难有针对性地进行, 藏书的知 识结构得不到良好地控制。因此必须制定一套合理、 有效、规和实用的图书管理系统, 对图书资料进行集中统一的管理。 系统开发的总的设计目标是实现图书管理的系统化、 规化和自动化, 实现对图书资料
3、的集中 统一的管理。 使图书管理者便于对图书和读者的管理。 本系统主要实现对图书馆信息的管理, 主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后, 图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某 位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握 图书的流通情况 。1.1.2 要达到的具体指标 (1)可随时查询书库中现有书籍的种类、数量与存放位置。所有各类书籍均可由书号唯一 标识。( 2)可随时查询书籍借还情况。包括借书人单位、 、借书证号、借书日期和还书日期。任何 人可借多种书,任何一种书可为多个人
4、所借,借书证号具有唯一性。(3)当需要时,可通过数据库中保存的、邮编及地址等信息向有关书籍的增购有关书籍。 一个可出版多种书籍,同一本书仅为一个出版,名具有唯一性。1.2 业务流程分析1.2.1 系统的业务流程 对于图书管理系统,其部数据应该包括图书信息,读者信息,系统用户信息,借阅情况的信 息。这些数据对于图书管理系统来说,缺一不可。其中,图书信息应该包括图书名称,图书 的作者,图书编码,查询该图书的关键词等;读者信息应该包括读者,读者单位,读者的借 书证号,读者的借书数量等;系统用户信息包括用户名,密码等,借阅情况信息包括图书的 借书日期,图书证号,图书编码等。有了该系统, 读者可以通过书
5、籍的名称、 作者或关键字等条件查找到自己想要的书籍, 包括 书籍编号、出版时间、书籍数量、剩余数量等。然后到图书馆进行借阅就可以了,也可以通过该系统进行预借。 图书管理员通过该系统可以对图书进行3 大操作: 删除、增加以及查询;而对学生的管理中就有 4 项:借书、还书、增加和删除记录、查询等。结束图 1-1 系统业务流程图1.3 功能需求分析便于身份验证,1、安全性管理: 给每个管理员一个用户名和密码, 以登录图书馆管理系统,管理员可以拥有最高权限对数据库进行所有操作。同样拥有一个用户名和密码,但普通 用户只能进行查询操作,看个人信息和图书馆中图书信息不可修改它们。 1)管理员:增加、删除、查
6、询、修改图书信息; 增加、删除、查询、修改读者信息; 图书借出、图书归还、逾期还书处理、图书注销2)读者: 查询图书信息、查看借书情况、查询个人信息、历史借书情况、超期还书警告。2、读者信息管理 :该功能模块用于管理相关的读者信息,包括的子功能模块如下图所示“读者类型”用于设置读者的类型及相关的信息,容包括读者的身份、可借册数,可续借次 数等。“读者档案管理”用于设置读者相关的信息,容包括编号、 、身份、读者性别、联系方式、 登记日期、有效期至、违规次数、现借图书数、是否挂失。“借书证挂失与恢复”用于挂失和恢复读者的借书证,挂失后该编号的读者不能再借书。3、图书管理 :该功能模块用于管理图书相
7、关的信息包含的功能模块如下图所示图 1 3“图书管理”功能模块“图书基本信息设置”用于设置图书的类型及相关的信息,容包括 ISBN 、书名、版次、类 型、作者、价格、现存量、库存总量。“图书档案管理”用于设置图书相关信息,容包括编号、 ISBN 、入库时间。 “图书征订”用于订购新图书,容包括征订编号、 ISBN 、订购数量、订购日期。 “图书注销”用于注销图书,被注销的图书不可以再借出,并且应将图书信息进行修改。 “图书查看”用于查看某本书的情况。“图书盘点”输出图书的在库清单供盘点使用。4、图书流通管理 :此功能模块用于管理图书流通环节的相关的操作,包括如下图所示的功 能模块。图书馆流通管
8、理图 1 4图书流通管理”功能模块“图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记容包括借阅编号、 图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态等。图书馆管理员作为借 阅者的代操纵借书和还书者。 借书时只要输入借阅的书刊编号就可以, 然后输入借阅者的借 阅卡号,完成后提交,系统验证借阅者是否有效,若有效借阅请求被接收并处理,系统将库 存中图书数量减一,同时将读者信息中借书量加一。“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记容包括归还编号、 图书编号、 读者编号、 归还时间等。 系统查询借阅此书的人的信息以及该书被借日期判断是 否过期,若过期将进
9、行罚款,并将该书刊的借阅记录改为已还。“图书丢失”用于报失图书,容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间 等。“图书罚款”用于对图书超期、丢失等情况的罚款管理,容包括罚款编号、图书编号、读者 编号、罚款日期、罚款金额、是否交款、备注等。5、系统功能层次图如图 15 所示:图 1-5 系统总流程图、数据库概念设计2.1 ERD的四条原则及相应得出的实体、联系、属性以及实体的标识特征根据 ERD 的四条原则:原则 1:能独立存在的事物,在其有多个由基本项描述的特征需要关注时,就应把它作为实 体。在系统中,可得知有“图书” 、“读者”、“” 3 个实体。原则 2:两个或多个实体间的关联
10、与结合,当需要予以关注时,应作为联系。在系统中,可 以得知有“借阅图书”和“购买图书”两个联系。原则 3:实体的属性是实体的本质特征;联系的属性是联系的结果或状态。原则 4:信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性得出。在系统中,可以得出: 图书信息(图书编号,书名,作者, ,种类)读者信息(读者学号, ,专业与班级,学院与年级,已借书数,允许借书数) 管理员信息(管理员编号, ,管理员密码,管理员权限) 借阅图书(读者学号,图书编号,书名,借阅日期,归还日期) 归还图书(读者学号,图书编号,书名,借阅日期,归还日期) (名,联系人, ,邮编,地址)书架(图书编号,书名,
11、位置)2.2 画出并改进 ERD如图 2-1 所示为改进后的整 体 E-R 图。管理员经办学号上次借期姓名学院与年级借还书登记表清点采购盘目单盘存书架供书单所借还借还所盘读者是否借满已借书数实际数盈余数专业与班级允许借书数图书供应位置书名出版社图书编号地址电话邮编联系人出版社名图 2-1 改进后的整体 E-R 图三、数据库逻辑设计3.1 一般逻辑模型设计3.1.1 由 ERD导出一般关系模型的四条原则:原则一: 每一个独立实体变换为一个关系, 其属性变为关系的属性, 其主标识变为关系的主 码。原则二:从实体及响应的“的”联系变换为一个关系,从实体的属性加上主实体关系的主码 构成这个关系的属性。
12、如果“的”联系是1: 1 的,则以实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:N 的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以互相区分的属性组, 组成该关系的 主码。原则三: 1:N 联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“ 1”实体主码为外来码。原则四: N :N 联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系 本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。3.1.2 数据库初步构思的关系框架基本框架如下:表 3-1 图书信息表图书编号书名作者种类主码表 3-2
13、 读者信息表读者学号专业与班级学院与年级已借书数允许借书数主码表 3-3 管理员信息表管理员编号管理员密码管理员权限主码表 3-4 借阅图书表读者学号图书编号书名借阅日期归还日期外码外码主码主码表 3-5 归还图书表读者学号图书编号书名借阅日期归还日期外码外码主码主码表 3-6 关系表名联系人邮编地址主码表 3-7 书架关系表图书编号书名位置主码3.2 具体逻辑模型设计表的具体结构表名字段名字段类型关键字约束说明图书信息图书编号8 个字符是书名20 个字符不允许空值作者10 个字符20 个字符种类8 个字符读者信息读者学号8 个字符是10 个字符专业与班级20 个字符学院与年级20 个字符已借
14、书数整数允许借书数整数管理员信息管理员编号8 个字符是10 个字符管理员密码10 个字符管理员权限4 个字符取值为“删除” 、“增加” 、 “查询”借阅图书读者学号8 个字符参照读者信息表的读者学号,不允许空值图书编号8 个字符参照图书信息表的图书编号,不允许空值书名20 个字符借阅日期10 个字符归还日期10 个字符归还图书读者学号8 个字符参照读者信息表的读者学号,不允许空值图书编号8 个字符参照图书信息表的图书编号,不允许空值书名20 个字符借阅日期10 个字符归还日期10 个字符名20 个字符唯一值联系人10 个字符8 个字符邮编6 个字符地址10 个字符书架图书编号8 个字符参照图书
15、信息表的图书编号,不允许空值书名20 个字符位置8 个字符四、数据库物理设计4.1 设计表间关系在图书管理系统中,存在着参照关系和被参照关系书架表 参照关系外部关键字图书编号书名位置bj01001基础会计学一楼 A 格bj01002中国大历史二楼 A 格bj01003我在回忆里等你三楼 B 格bj01004杜拉拉升职记四楼 A 格bj01005视听说教程一楼 B 格主关键字图书信息表 被参照关系图书编号书名作者种类bj01001基础会计学卉华南理工大学教科书bj01002中国大历史黄仁宇中国发展历史书bj01003我在回忆里等你辛夷坞文艺文学作品bj01004杜拉拉升职记可文艺小说bj0100
16、5视听说教程秀白外语教育教科书图 4-1 参照关系与被参照关系4.2 完整性设计现实世界中的实体之间存在着某种联系, 而在关系模型中实体是用关系描述的, 实体之间的 联系也是用关系描述的, 这样就自然存在着关系和关系之间的参照或引用。 图书管理系统参 照完整性表如下:读者学号姓名专业与班级学 4 院与年已借书数允许借书数读者 图 4-2 说明关联和参照关五、数据库系统的实现5.1 数据库及其表结构的建立图表 1“图书管理系统”数据库基本表图表 2 图书数据库的创建图表 3 建立图书信息表图表 4 建立读者信息表图表 5 建立管理员信息表图表 6 建立借阅图书表图表 7 建立归还图书信息表图表
17、8 建立信息表图表 9 建立书架信息表5.2 数据输入图书信息表的数据读者信息表的数据:管理员信息表的数据:借阅图书表的数据:归还图书表的数据:信息表的数据:书架信息表的数据:六、典型的 SQL语句查询1 Distinct 语句图表 10Distinct 语句2.选择表中的若干列图表 11 选择表中的若干列3.字符匹配图表 12 字符匹配4.带有 ANY 或 ALL 谓词的查询图表 13 带有 ANY 或 ALL 谓词的查询5.带有 EXIST 谓词的子查询图表 14 带有 EXIST 谓词的子查询图表 15 新建视图查询7集合查询图表 16 集合查询8.嵌套查询图表 17 嵌套查询9.对查询结果分组图表 18 对查询结果分组图表 19 使用集函数11.空值查询图表 20 空值查询12.查询后排序图表 21 查询后排序13.多重条件图表 22 多重条件图表 23 大于或小于15.确定集合图表 24 确定集合