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