软件工程专业数据库原理及应用课程设计开发报告设计题目:图书管理系统设计年级:计HR06-6学号:0620010617姓名:孙胜男摘要数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库及其应用系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不尽有利于软件的快速开发,而且有利于以后对软件的维护。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。系统在IBMDB2平台上用SQL语言来编写实现。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。关键词:SQL语言;数据库设计;图书管理系统目录1需求分析........................................................11.1需求分析过程..................................................11.2数据字典......................................................22概念模式设计....................................................32.1实体..........................................................32.2局部视图.....................................................32.3视图集成......................................................43逻辑模式设计....................................................63.1将E-R图转化为关系模式........................................63.2数据模型的优化................................................64检验是否满足用户需求............................................84.1调查用户需求..................................................85其它数据库对象(物理数据库设计)的考虑............................95.1建表..........................................................95.2合法用户名字、权限、角色.......................................105.3视图.........................................................105.4触发器.......................................................115.5索引.........................................................116备份及恢复策略.................................................116.1备份策略.....................................................116.2恢复策略.....................................................11数据库原理及应用课程设计1图书管理系统1需求分析1.1需求分析过程(1)流程读者到图书借阅处查询图书,看看是否有满足读者要求的图书。如果有满足读者要求的图书,查看该图书是否在馆,如果在馆,则图书管理员在系统记录读者信息并记录借出图书信息,如果不在馆,通知读者。如果读者要求的图书无法提供,则通知读者无法满足。(2)功能:实现图书的查询,借入和归还功能,而且能保存记录。(3)流程图:读者借阅图书,系统查询图书是否在馆。图书已借出,显示已借出;未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。读者借阅图书判断图书是否在馆图书管理员管理所借图书借阅孙胜男:图书管理系统21.2数据字典:(1)数据项:表1.1数据项名含义说明数据类型长度与其他数据项的逻辑关系读者编号读者相关信息整型10决定了要借阅的图书读者姓名读者相关信息字符型6读者性别读者相关信息字符型2联系电话读者相关信息整型7所在系读者相关信息字符型10书名图书相关信息字符型20作者图书相关信息字符型6出版社图书相关信息字符型20管理员工作号管理员相关信息整型10管理图书的借出和归还管理员姓名管理员相关信息字符型6管理员性别管理员相关信息字符型2借书日期借书相关信息整型10还书日期借书相关信息整型10(2)数据结构:表1.2数据结构名含义说明组成图书信息表定义了图书的相关信息ISBN,书名,作者,出版社,出版日期,简介读者信息表定义了读者有关信息读者编号,姓名,性别,联系电话,系别管理员信息表定义了管理员有关信息工作号,姓名,性别,电话,工资借阅关系表定义了借阅图书的有关信息工作号,ISBN,读者编号,借书日期,还书日期,是否续借管理员_书籍表定义了管理员与书籍的有关信息工作号,ISBN,添加时间,是否在馆管理员_读者表定义了管理员与学生的有关信息工作号,读者编号,借还确认,违章状况,累计借书(3)数据流:表1.3数据流名来源去向读者信息读者图书管理员的管理处图书信息图书图书管理员的管理处借阅信息借阅图书图书管理员的管理处数据库原理及应用课程设计3(4)数据存储:表1.4(5)处理过程:表1.52概念模式设计2.1实体:读者信息,图书信息,图书管理员信息2.2局部视图:(1)读者—借阅—图书图2-1借阅关系E-R图事务规则:一个读者可以借阅多本图书(1:n)一本图书可以被一个读者借阅(1:n)数据存储名含义说明组成读者信息存储了读者的相关信息读者编号,姓名,性别,联系电话,系别图书信息存储了图书的相关信息ISBN,书名,作者,出版社,出版日期,简介借阅信息存储了借阅图书的有关信息工作号,ISBN,读者编号,借书日期,还书日期,是否续借处理过程名含义说明输入输出借书过程查看图书是否被借出图书信息借阅信息还书过程查看借阅图书的信息读者信息图书信息图书读者借阅编号姓名性别所在系违章数累计借书还书日期借书日期书名出版社出版日期ISBN简介作者nn孙胜男:图书管理系统4管理员读者管理编号姓名性别所在系违章数累计借书借还确认姓名电话工作号工资性别(2)管理员—管理—读者图2-2管理员_读者关系E-R图事务规则:一个图书管理员可以管理多个读者信息(1:n)一个读者信息只能被一个图书管理员管理(1:1)(3)管理员—管理—图书图2-3管理员_书籍关系E-R图事务规则:一本图书可以被多个图书管理员管理(1:n)一个图书管理员可以管理多本图书(1:n)2.3视图集成所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。工作号图书管理员管理姓名性别工资电话借书是否在馆添加时间书名出版社出版日期ISBN简介作者n1nn数据库原理及应用课程设计51)确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部ER模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。4)全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。综上所述,“图书管理系统”的全局ER模式如下图所示。图2.4系统全局ER图图2-4系统全局ER图孙胜男:图书管理系统63逻辑模式设计3.1将E-R图转化为关系模式由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。将图2-4总体概念结构E-R图转化成关系模型。1、读者(读者编号,读者姓名,读者性别,联系电话,所在系,违章状况,累计借书)2、书籍(ISBN,书名,作者,出版社,出版日期,简介)3、管理员(工作号,姓名,性别,电话,工资)4、借阅(读者编号,ISBN,是否续借,借书日期,还书日期)5、管理员_书籍(工作号,ISBN,添加时间,是否在馆)6、管理员_读者(工作号,读者编号,确认借还)3.2数据模型的优化将转化的关系模式进行优化,最终达到第三范式。优化后的关系模式如下:1、读者(读者编号,读者姓名,读者性别,联系电话,所在系,违章状况,累计借书)2、书籍(ISBN,书名,作者,出版社,出版日期,简介)3、管理员(工作号,姓名,性别,电话,工资)4、借阅(读者学号,ISBN,是否续借,借书日期,还书日期)5、管理员_书籍(工作号,ISBN,添加时间,是否在馆)6、管理员_读者(工作号,读者编号,确认借还)表3.1图书信息表BOOK字段名称数据类型长度约束属性数据类型长度约束描述ISBNchar20NOTNULL主码书名char50NOTNULL非主属性作者char20NOTNULL非主属性出版社char50非主属性出版日期date非主属性简介char200非主属性数据库原理及应用课程设计7表3.2读者信息表STUDENT表3.3管理员信息表MANAGER字段名称数据类型长度约束属性数据类型长度约束描述工作号char12NOTNULL主码姓名char20NOTNULL非主属性性别char2NOTNULL非主属性电话char12非主属性工资char12非主属性表3.4借阅关系表R-B字段名称数据类型长度约束属性数据类型长度约束描述读者编号char20NOTNULL主码读者姓名char10NOTNULL非主属性读者性别char2NOTNULL非主属性联系电话char10非主属性所在系char20NOTNULL非主属性违章状况char2非主属性累计借书int非主属性字段名称数据类型长度约束属性工作号ch