纷纭教育
您的当前位置:首页数据库课程设计——图书管理系统

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

来源:纷纭教育


数据库课程设计——

图书管理系统

------------------------------------------作者 ------------------------------------------日期

大厦白蚁预防工程承包合同合同签订版

数据库系统原理课程设计

课题名称:图书信息管理系统 姓名:

 班级:

 学号:

 指导老师:



年月日



大厦白蚁预防工程承包合同合同签订版

目录

绪论

背景介绍 开发背景的选用及介绍

需求分析

系统分析 系统目标 总体需求

概念设计阶段

实体图 数据流程图



大厦白蚁预防工程承包合同合同签订版 图书馆管理员 还录借录图书归还处理 检查读者身份 填写归还记录借阅库 修改图录 图书库 有效检查图书是否可借 填写借阅库,修改图书库 可借 填写借阅记录 借阅库 

借阅信息修改 图书库 逻

辑结构设计阶段

图转换为关系模型 数据字典

.物理结构设计阶段

物理设计阶段的目标和任务 数据存储方面

数据库实施与维护

创建数据库,数据表 创建视图

大厦白蚁预防工程承包合同合同签订版 创建索引 创建触发器 数据表的初始化 初始表的显示

.数据库界面实现

系统总的功能模块图 系统的实现

心得体会

绪论

背景介绍

随着社会的发展,人们对于知识的需求也在不断地增长。书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充分利用。这时图书馆就特别需要开发一套书刊租借管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本。

一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中。

开发背景的选用及介绍

❖的简介

是英文()的缩写,意思为结构化查询语言。语言的主要功能就是同各种数据库建立联系,进行沟通。被作为关系型数据库管理系统的标准语言。语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如

❖等都采用了语言标准。

语言有以下几个优点: 非过程化语言

是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。允 许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有语 句接受集合作为输入,返回集合作为输出。的集合特性允许一条语句的结果作为另 一条语句的输入。

不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;



大厦白蚁预防工程承包合同合同签订版 所有语句使用查询优化器,它是的一部分,由它决定对指定数据存取的最快速 度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表 是否有索引、有什么类型的索引。 统一的语言

可用于所有用户的活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的命令只需很少时间就能学会,最高级的命令在几天内便可掌握。

所有关系数据库的公共语言

由于所有主要的关系数据库管理系统都支持语言,用户可将使用的技能从一个关系数据库管理系统转到另一个,所有用编写的程序都是可以移植的。 ❖简介

❖是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由

公司于年月推出的☺❖程序设计语言和☺❖平台(即☺❖☺❖☺❖)的总称。☺❖技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,☺❖更具备了显著优势和广阔前景。

需求分析

系统分析

书刊租借系统(以高校的图书管理系统为例)是典型的信息管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备易使用等特点。

在数据库应用系统开发之前,对开发数据库的基本概念,数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。

系统目标

 用户方便进行图书查询,图书浏览和图书分类浏览,进行图书借阅并了解自己的借书情况和个人情况。  用户在借书超期的情况下得到来自管理员的提醒。

 管理员可以方便进行图书管理,用户管理,管理员管理。图书管理包括图书信息以及图书分类的添加,

修改,删除。用户管理包括用户信息的添加,删除,修改和锁定(用户的正常使用功能,使其无法登陆)。管理员管理包括管理员信息的添加,删除,修改等。

 用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。 未注册用户读者也可以浏览所有的图书信息和分类信息,但是无法借阅。

 考虑程序执行操作时可能出现的情况,比如删除图书分类时该分类下存在图书,程序自动跳转该分类图

书查看。删除某个用户,如果存在借录则不允许删除,跳转到该用户的借录。等待管理员确认该用户所借图书已经全部归还之后才允许删除该用户信息。

总体需求

书刊租借系统(以高校图书馆为例)是一项复杂系统工程,要从实际出发,对实际情况进行客观的分析,深入了解需求。系统利用❖与数据库结合的技术建立数据库管理系统,采用交互式的图形用户界面()来实现。需求调查是为了研究系统设计的开发途径和方法。同时它也是进行概要设计和详细设计的基础,是进行内部维护和测试的依据。



大厦白蚁预防工程承包合同合同签订版 具体分析如下: 添加操作:在执行操作时首先都要先检查是否已经输入以及数据库中是否已经存在输入的数据,如果存在会报错,程序返回上个页面,不执行添加操作。

删除操作:考虑到了字段在不同表中可能会同时存在的情况,比如:删除图书分类时候该分类下有书或者删除用户时该用户有借录,这样的情况下程序会给出提醒并跳转到该分类下的所有图书查看或者是该用户的全部借书查看。直到这种关联取消掉之后才允许进行删除这样的危险操作。

查询操作:考虑到了模糊查询的实现,语句中用“”,还有组合查询,通过对用户输入情况的判断来确定语句的最终形式,比如用户查询时并未输入图书名字,就是名字匹配任意字符,那么程序给数据库的语句就会是。组合查询的实现也是程序判断用户所做的选择或者输入,在语句中实现的。

超期统计:假定借书超期的是三十天,借录中的所有数据的借书时间如果不在当前服务器时间减去三十天和当前服务器时间之间,那么这条借录就属于超期记录了。由用户借录中的用户编号到用户表中查找该用户。

发送消息:往消息表中添加数据,该数据包含用户名,用户超期的图书,超期时间,罚金等相关警告信息。当用户正常登陆主页后,程序自动检查消息表中是否存在该用户的记录,如果有要给出提示,但是没有强制用户必须查看。

数据库备份和还原操作:程序只要告诉服务器执行备份和还原语句就可以实现,在还原时程序还在使用系统数据库,此时执行还原操作会因为没有排它使用权出现错误,所以应告诉服务器使用另外的一个数据库,程序中用的是:。还原操作时用组件首先检查备份数据库文件是否存在,如果不存在则给出提示回到上个页面。所有条件都允许后则执行还原操作,如果数据库数据比较多,备份和还原的时间都可能会比较长。

概念设计阶段

实体图

书刊租借系统有书籍类别实体,书籍实体,读者实体,还录实体,借录实体,罚款金额实体等。

.书籍种类实体图

种类编号 种类名

称 书籍种类

书籍实体图

书籍名

书籍编号

书籍种

类 借阅情况

书籍 作者

单价

 出版社 大厦白蚁预防工程承包合同合同签订版 出版日期

读者实体图

借书证号 姓名 性别

读者

读者类别 注册日期

借录实体图 书籍编姓名 书籍名 号 称

借录

应还时 借书证号 间 借阅时间

还录实体图

书籍编借书证

姓名 号 号

还录

归还时间  大厦白蚁预防工程承包合同合同签订版 借阅时 间

还录实体图

借书证号 书籍编 号

罚款信息

书籍名称 超期时

总的图(略去实体属性)

书籍名姓名 罚款金额

还录 书籍种类 归还 书籍 信息登记 读者 借阅 借录 罚款 罚款信息 

大厦白蚁预防工程承包合同合同签订版

数据流程图

图书馆管理员 还录借录图书归还处理 检查读者身份 填写归还记录修改图录有效检查图书是否可借 可借借阅库 图书库 填写借阅库,修改图书库 填写借阅记录借阅信息修改借阅库 图书库 逻辑

结构设计阶段

图转换为关系模型

书籍种类(种类编号,种类名称)

书籍(书籍编号,书籍名称,书籍种类,作者,出版社,出版时间,单价,是否可借) 读者(借书证号,姓名,性别,读者类别,注册日期)

借录(姓名,书籍编号,书籍名称,借书证号,借阅时间,应还时间) 还录(姓名,书籍编号,书籍名称,借书证号,借阅时间,归还时间)



大厦白蚁预防工程承包合同合同签订版 罚款信息(书籍编号,书籍名称,借书证号,姓名,超期时间,罚款金额) 数据字典

表书籍种类信息表 表中列名 数据类型及长度  种类编号 种类名称 () 表中列名 书籍编号 书籍名称 书籍种类 作者 出版社 出版日期 单价 是否可借 表中列名 借书证号 姓名 性别 读者类别 注册日期 表中列名 姓名 书籍编号 书籍名称 借书证号 借阅时间 应还时间 表中列名 姓名 书籍编号 书籍名称 借书证号 借阅时间 归还时间 表中列名 书籍编号 借书证号 姓名 书籍名称 超期时间 罚款金额 数据种类及长度         数据种类及长度      数据种类及长度       数据种类及长度       数据种类及长度       

可否为空   可否为空         可否为空      可否为空       可否为空       可否为空       表

书籍信息表

读者种类信息表

借录信息表

还录信息表

罚款信息表

.物理结构设计阶段

物理设计阶段的目标和任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在

这个阶段中要

大厦白蚁预防工程承包合同合同签订版 完成两大任务: )

确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

)对物理结构进行评价,评价的重点是时间和空间效率。

数据存储方面

为数据库中各基本表建立的索引如下:

 由于基本表,的主码借书证号,书籍编号经常

在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;

 借阅信息基本表的一属性借书证号,书籍编号,经常在查询条

件中出现,考虑在其之上建立聚簇索引;

 还书信息基本表的一属性借书证号,书籍编号,经常在查询条

件中出现,考虑在其之上建立聚簇索引;

数据库实施与维护

创建数据库,数据表

创建数据库

  

 



  

 

 



  

创建表

 

种类编号 种类名称❖ )

创建表





大厦白蚁预防工程承包合同合同签订版  借书证号

姓名❖ 性别男 读者类别❖ 注册日期 

创建表

 

书籍编号❖ 书籍名称❖

作者 出版社❖ 出版日期

单价 借阅情况❖ 

创建表

 

姓名❖ 书籍编号❖ 书籍名称❖ 借书证号 借阅时间 应还时间

书籍编号书籍编号

借书证号

借书证号

创建表

 

姓名❖ 书籍编号❖ 书籍名称❖ 借书证号 借阅时间

书籍编号书籍编号



大厦白蚁预防工程承包合同合同签订版 借书证号借书证号

创建表

 

书籍编号❖ 借书证号

姓名❖ 书籍名称❖ 超期时间 罚款金额 书籍编号

书籍编号

借书证号

借书证号

创建视图

用于查询图书基本信息的视图定义如下:

❖❖借阅证号书籍编号作者出版社借阅情况



借阅证号书籍编号作者出版社借阅情况 

用于读者基本信息查询的视图定义如下:

❖❖姓名借书证号注册日期 

姓名借书证号注册日期 

用于显示当前借阅基本信息的视图定义如下:

❖❖借书证号书籍名称作者借阅日期应还日期



借书证号

书籍名称作者借阅日期应还日期

 书籍编号书籍编号

用于借阅历史信息查询的视图定义如下:



大厦白蚁预防工程承包合同合同签订版 ❖❖借书证号书籍名称借阅日期归还日期



借书证号书籍名称借阅日期归还日期 

用于查询罚款信息的视图定义如下:

❖❖姓名书籍名称超期时间罚款金额 

姓名书籍名称超期时间罚款金额 

创建索引

借书证号

书籍编号

借书证号书籍编号

借书证号书籍编号

创建触发器

当删除表中某一读者基本信息时,触发表,删除相应的记录

   

 借书证号 

 借书证号

当在表中增加一条借阅记录时,使该图书的状态由“可借”变为“不可借”

   

 书籍编号 



大厦白蚁预防工程承包合同合同签订版  借阅情况不可借

书籍编号

数据表的初始化

表的初始化

❖人文艺术类

❖自然科学类

❖工程技术类

❖文学类

❖政治经济类

❖社会科学类

❖语言技能类

表的初始化

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖中国大历史人文艺术类黄仁宇人民文学出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖中国近现代史纲要人文艺术类高等教育出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖计算机操作系统自然科学类汤小丹梁红兵等西安电子大学出版社不可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖计算机网络自然科学类谢希仁电子工业出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖计算机网络自然科学类谢希仁电子工业出版社不可借



大厦白蚁预防工程承包合同合同签订版 书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖线性代数工程技术类高等教育出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖计算方法工程技术类李信真车刚明等西北工业大学出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖百年孤独文学类马尔克斯著,闫瑞译北京燕山出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖分成两半的伯爵文学类卡尔维诺著,吴正仪译译林出版社不可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖当代世界经济与政治政治经济类李景治中国人民大学出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖经济学原理政治经济类高鸿业中国人民大学出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖马克思主义基本原理概论社会科学类高等教育出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖思想道德修养与法律基础社会科学类高等教育出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖大学英语语言技能类郑树棠外语教学与研究出版社可借

书籍编号书籍名称书籍种类作者出版社出版日期单价借阅情况

❖大学英语语言技能类郑树棠外语教学与研究出版社可借

表的初始化

借书证号姓名性别读者类别注册日期

❖王鑫男学生



大厦白蚁预防工程承包合同合同签订版 借书证号姓名性别读者类别注册日期

❖王永胜男学生 借书证号姓名性别读者类别注册日期

❖张倩女学生

借书证号姓名性别读者类别注册日期

❖程辉男教师

借书证号姓名性别读者类别注册日期

❖肖萌男职工

表的初始化

姓名书籍编号书籍名称借书证号借阅时间应还时间

❖王鑫计算机操作系统



姓名书籍编号书籍名称借书证号借阅时间应还时间

❖王永胜分成两半的伯爵



表

姓名书籍编号书籍名称借书证号借阅时间归还时间

❖王鑫线性代数



姓名书籍编号书籍名称借书证号借阅时间归还时间

❖王永胜经济学原理



表

书籍编号书籍名称借书证号姓名超期时间罚款金额

❖计算机网络王永胜 书籍编号书籍名称借书证号姓名超期时间罚款金额

❖中国大历史王永胜

初始表的显示

查询表



大厦白蚁预防工程承包合同合同签订版

查询表

查询表

查询表



大厦白蚁预防工程承包合同合同签订版

查询表

 数据库关系图

.数据库界面实现



大厦白蚁预防工程承包合同合同签订版 系统总的功能模块图 

系统的实现

系统主界面

图

书刊租借信息管理系统 馆藏查询 图

借阅查询 欠费查询 借书登记 还书登记 退出

馆藏查询模块

 进入系统主界面后,点击“馆藏查询”按钮,进入“查询系统”界面,如下图:



大厦白蚁预防工程承包合同合同签订版

图

 在文本框中输入你需要查询的书籍名称,当我们什么也不输入时,会有提示框出现,如下图:

 在文本框中输入你需要查询的书籍名称,比如我们输入《计算机网络》,点击“检索”按钮,会得到如

下结果 图

查询结果显示,图书馆有两本《计算机网络》,一本已借出

 当图书馆没有我们查询的图书时,查询结果如下图:

图



大厦白蚁预防工程承包合同合同签订版

借阅登记模块

 进入系统主界面后,点击“借书登记”按钮,进入“借书登记”界面,如下图:

图

 在文本框中输入你需要借阅的书籍名称和你的借书证号,比如我们输入《计算机网络》的书籍编号

“”和“”(王鑫的借书证号),点击“确定”按钮,会得到如下结果: 图

 此时说明你已借书成功,我们来验证一下,如,先进入“馆藏查询”模块,在“查询系统”

中,如图,在文本框中输入《计算机网络》,结果如下:

图



大厦白蚁预防工程承包合同合同签订版

现在可以看到图书馆里的两本《计算机网络》的“借阅情况都变为“不可借”

借阅查询模块

 进入系统主界面后,点击“借阅查询”按钮,进入“借阅查询”界面,如下图:

图

 在文本框中输入你的名字,比如我们输入“王鑫”,他刚才借了《计算机网络》这本书,结果如下:

图



大厦白蚁预防工程承包合同合同签订版

还书登记模块

 进入系统主界面后,点击“还书登记”按钮,进入“还书系统”界面,如下图:

图

 此时输入你要归还的书籍名称和你的借书证号,比如我们输入《计算机网络》的书籍编号

“”和王鑫的借书证号“”,得到以下结果: 图

 我们对上述结果进行验证,进入“馆藏查询”模块和“借阅查询”模块,在“查询系统”和“借阅查

询”分别输入《计算机网络》和“王鑫”,操作如上,得到结果如下:

图



大厦白蚁预防工程承包合同合同签订版

图

由上述结果可知,当还书成功后,《计算机网络》的借阅情况又变回“可借”,而王鑫的对《计算机网络》的借阅信息已被删除

欠费查询模块

 进入系统主界面后,点击“欠费查询”按钮,进入“欠费查询”界面,如下图:

图

 在文本框中输入你的名字,比如我们输入“王鑫”,因为他未欠费,会出现如下结果,如下图:

图



大厦白蚁预防工程承包合同合同签订版

 如果我们在文本框中输入“王永胜”,因为他有欠费,会出现如下结果,如下图:

图

退出系统模块

 进入系统主界面后,点击“退出系统”按钮,便退出本系统

心得体会

 这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑

设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。  这次课程设计加深了我对数据库系统概论相关知识和❖相关功能的理

解。例如对建立基本表、视图、索引、存储过程、触发器等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在上课时,对触发器的理解不是很深,在完成课程设计时,查找了很多关于触发器的资料,对触发器有了比较详细的理解。  我进一步掌握了相关的语句方面的知识。不但纠正了以前的错误认识和理解,而且学会了

建立存储过程和触发器。通过查阅资料,我还明白了存储过程是编译后放在服务器端的程序,它可以被别的模块调用,且不需要重新编译,这样就大大减轻了客户端的负担,且有效的提高了系统执行的效率。  当然,在实习的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的

设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。

我们做任何事,无论是课程设计还是其他的一些事,都会遇到一些困难,在这时候,千万不能有退却

的想法,一定要迎难而上,只要你坚持做下去,困难终会被克服,这是本次课程设计给我的最大体会。



大厦白蚁预防工程承包合同合同签订版 参考文献

萨师煊王珊,数据库系统概论第三版;北京高教出版社,

赵文涛,数据库系统原理;中国矿业大学出版社

❖实用技术及案例系统开发;清华大学出版社,



郑莉王行言,☺❖语言程序设计;清华大学出版社



因篇幅问题不能全部显示,请点此查看更多更全内容