您的当前位置:首页(完整word版)图书管理系统数据库设计

(完整word版)图书管理系统数据库设计

2020-09-11 来源:乌哈旅游
(完整word版)图书管理系统数据库设计

内容与要求

1。 请结合软件类专业课程实验教学环节设计数据库,实现实验教学的有效管理,具体功能应包括但不限于:

(1)教师可以根据不同课程编辑和发布实验内容; (2)学生可以浏览实验内容,同时完成作品的提交; (3)学生可以在规定时间内填写、修改和提交实验报告; (4)教师可以通过应用系统批改实验报告,并提交成绩; (5)学生可以查询个人实验成绩;

2. 给出数据库设计各个阶段的详细设计报告,包括:

(1)需求分析 (2)概念结构设计 (3)逻辑结构设计 (4)物理结构设计与实施 3. 写出应用系统的主要功能设计;

4. 写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想和建议; 5。 独自完成作业,有雷同的平分得分; 6。 也可以自行设计课题。

(完整word版)图书管理系统数据库设计

(完整word版)图书管理系统数据库设计

目 录

1 绪论 .................................................................................................................... - 1 -

1.1 课题的意义 ............................................................................................. - 1 - 2 应用系统功能设计 ........................................................................................... - 2 -

2。1 业务操作流程 ...................................................................................... - 2 -

2.1.1读者角度的流程图 ....................................................................... - 2 - 2。1。2图书管理系统流程图 ............................................................. - 2 - 2。2 系统功能设计 ...................................................................................... - 3 - 3 数据库设计 ....................................................................................................... - 4 -

3。1 需求分析 .............................................................................................. - 4 -

3。1.1需求分析过程 ............................................................................ - 4 - 3.1.2数据字典 ........................................................................................ - 5 - 3。2 概念结构设计 ...................................................................................... - 6 -

3.2。1实体 ............................................................................................. - 6 - 3。2。2局部视图 .................................................................................. - 6 - 3。2.3视图集成 ..................................................................................... - 8 - 3.3 逻辑结构设计 ......................................................................................... - 9 -

3.3.1将E-R图转化为关系模式 .......................................................... - 9 - 3。3。2数据模型的优化 ................................................................... - 10 - 3.4 物理结构设计与实施 .......................................................................... - 11 -

3.4。1建表 ........................................................................................... - 12 - 3.4。2合法用户 ................................................................................... - 16 - 3。4.3视图 ........................................................................................... - 16 - 3。4。4触发器 .................................................................................... - 17 - 3。4.5索引 ........................................................................................... - 17 -

4 结束语 ............................................................................................................. - 17 -

4.1 收获和体会 ........................................................................................... - 17 - 4。2 总结与展望 ........................................................................................ - 18 -

(完整word版)图书管理系统数据库设计

1 绪论

数据库是数据管理的有效技术,是计算机科学的重要分支。信息资源已成为各个部门的重要财富和资源.建立一个满足各个部门信息处理系统核心和基础的数据库技术得到越来越广泛的应用。随着社会信息量的与日俱增,职场竞争的日益激烈,越来也多的人更关注知识的积累、能力的培养。作为信息存储的主要媒体之一,图书的规模、数量比以往任何时候都大的多,不论个人还是图书馆管理部门都需要使用方便有效的方式来管理自己的图书。

一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。系统在IBMDB2平台上用SQL语言来编写实现。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认

1.1 课题的意义

对于图书管理部门而言,以前单一的手工检索已经不能满足人们的要求,为了方便图书资料的管理需要有效的图书管理软件,缩短了借阅者的等待时间,减轻了工作人员的工作量,方便工作人员对他的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。

本文以高校图书馆管理系统管理系统开发过程为背景,在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则.采用结构化的功能模块设计系统功能,可读性好,易于扩充,基本功能全面,系统可读性好,易于维护,更新,安全性好。

- 1 -

(完整word版)图书管理系统数据库设计

2 应用系统功能设计

2。1 业务操作流程

2。1。1读者角度的流程图

图2。1—1

2.1.2图书管理系统流程图

顶层数据流程图:

第二层数据流程图:(读者借阅,读者还书,读者查询,管理员查询、修改)

- 2 -

(完整word版)图书管理系统数据库设计

2.2 系统功能设计

系统功能模块图

- 3 -

(完整word版)图书管理系统数据库设计

3 数据库设计

3.1 需求分析

此部分写数据库需求分析,必须给出数据字典和数据流图。

3。1。1需求分析过程

(1)流程

读者到图书借阅处查询图书,看看是否有满足读者要求的图书。如果有满足读者要求的图书,查看该图书是否在馆,如果在馆,则图书管理员在系统记录读者信息并记录借出图书信息,如果不在馆,通知读者。如果读者要求的图书无法提供,则通知读者无法满足. (2)功能:

实现图书的查询,借入和归还功能,而且能保存记录. (3)流程图:

读者 借阅 借阅 图书 所借图书 判断图书是否在馆 图书管理员 管理 - 4 -

(完整word版)图书管理系统数据库设计

读者借阅图书,系统查询图书是否在馆.图书已借出,显示已借出;未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。

3.1。2数据字典

(1)数据项:

数据项名 读者编号 读者姓名 读者性别 联系电话 所在系 书名 作者 出版社 管理员工作号 管理员姓名 管理员性别 借书日期 还书日期 含义说明 读者相关信息 读者相关信息 读者相关信息 读者相关信息 读者相关信息 图书相关信息 图书相关信息 图书相关信息 管理员信息 管理员信息 管理员信息 借书相关信息 借书相关信息 数据类型 整型 字符型 字符型 整 型 字符型 字符型 字符型 字符型 整 型 字符型 字符型 整 型 整 型 表3。1-1

长度 10 6 2 7 10 20 6 20 10 6 2 10 10 与其他数据项的逻辑关系 决定要借的书 图书借出、归还 (2)数据结构:

数据结构名 图书信息表 读者信息表 管理员信息表 借阅关系表 管理员_书籍表 管理员_读者表 含义说明 定义了图书的相关信息 定义了读者有关信息 定义了管理员有关信息 定义了借阅图书的有关信息 定义了管理员与书籍的有关信息 定义了管理员与学生的有关信息 表3。1-2

组成 ISBN,书名,作者,出版社,出版日期,简介 读者编号,姓名,性别,联系电话,系别 工作号,姓名,性别,电话,工资 工作号,ISBN,读者编号,借书日期,还书日期,是否续借 工作号,ISBN,添加时间,是否在馆 工作号,读者编号,借还确认,违章状况,累计借书 (3)数据流:

数据流名 读者信息

来源 读者 - 5 - 去向 图书管理员的管理处 (完整word版)图书管理系统数据库设计 图书信息 借阅信息

图书 借阅图书 表3.1-3

图书管理员的管理处 图书管理员的管理处

(4)数据存储:

数据存储名 读者信息 图书信息 借阅信息 含义说明 存储了读者的相关信息 存储了图书的相关信息 组成 读者编号,姓名,性别,联系电话,系别 ISBN,书名,作者,出版社,出版日期,简介 存储了借阅图书的有关信工作号,ISBN,读者编号,息 借书日期,还书日期,是否续借 表3.1-4

(5)处理过程:

处理过程名 借书过程 还书过程 含义说明 出 查看借阅图书的信读者信息 息 表3。1—5

图书信息 输入 输出 借阅信息 查看图书是否被借图书信息 3。2 概念结构设计

此部分主要给出全局ER模型。

3.2.1实体

读者信息,图书信息,图书管理员信息

3.2。2局部视图

- 6 -

(完整word版)图书管理系统数据库设计

(1) 读者—借阅-图书

所在系 违章数 累计借书 借书日期 出版日期 出版社 简介 读 者 n 借 阅 n 图 书 作者 编号 姓名 性别 还书日期 ISBN 书名 图3。2-1借阅关系E-R图

事务规则:一个读者可以借阅多本图书(1:n)

一本图书可以被一个读者借阅(1:n)

(2)管理员—管理—读者

所在系 违章数 累计借书

电话 性别 n 读 者 管 理 工资 1 管理员

编号 姓名 性别 工作号 借还确认

姓名

图3.2-2管理员_读者关系E—R图

事务规则:一个图书管理员可以管理多个读者信息(1:n) 一个读者信息只能被一个图书管理员管理(1:1)

(3)管理员—管理—图书

- 7 -

(完整word版)图书管理系统数据库设计

工资 电话借书 添加时间 出版日期 出版社 简介 管理员 n 管 理 n 图 书 作者 工作号 性别 姓名 是否在馆 ISBN 书名 图3.2-3管理员_书籍关系E-R图

事务规则:一本图书可以被多个图书管理员管理(1:n) 一个图书管理员可以管理多本图书(1:n)

3。2。3视图集成

所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

1) 确定公共实体类型

为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型.在这一步中我们仅根据实体类型名和键来认定公共实体类型.一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。

2) 局部ER模式的合并

合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。

3) 消除冲突

冲突分为三类:属性冲突、结构冲突、命名冲突. 设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除

- 8 -

(完整word版)图书管理系统数据库设计

冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。

4) 全局ER模式的优化

在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。综上所述,“图书管理系统\"的全局ER模式如下图所示。

图3。2—4系统全局ER图

3.3 逻辑结构设计

给出优化后的关系模式。

3.3.1将E—R图转化为关系模式

由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程.由于关系模型所具有的优点,逻辑设计可以充分运用关系数据- 9 - 库规范化理论,使设计过程形式化地进行.设计结果是一组关系模式的定义。

(完整word版)图书管理系统数据库设计

将图2-4总体概念结构E-R图转化成关系模型.

1、读者(读者编号,读者姓名,读者性别,联系电话,所在系,违章状况,累计借书) 2、书籍(ISBN,书名,作者,出版社,出版日期,简介) 3、管理员(工作号,姓名,性别,电话,工资) 4、借阅(读者编号,ISBN,是否续借,借书日期,还书日期) 5、管理员_书籍(工作号,ISBN,添加时间,是否在馆) 6、管理员_读者(工作号,读者编号,确认借还) 3.3。2数据模型的优化

将转化的关系模式进行优化,最终达到第三范式。 优化后的关系模式如下: 1、读者(读者编号,读者姓名,读者性别,联系电话,所在系,违章状况,累计借书) 2、书籍(ISBN,书名,作者,出版社,出版日期,简介) 3、管理员(工作号,姓名,性别,电话,工资) 4、借阅(读者学号,ISBN,是否续借,借书日期,还书日期) 5、管理员_书籍(工作号,ISBN,添加时间,是否在馆) 6、管理员_读者(工作号,读者编号,确认借还) 表3。3.1 图书信息表BOOK 字段名称 ISBN 书名 作者 出版社 出版日期 简介 数据类型 char char char char date char 长度 20 50 20 50 约束 NOT NULL NOT NULL NOT NULL 属性 主码 非主属性 非主属性 非主属性 非主属性 非主属性 200 表3。3.2 读者信息表STUDENT 字段名称 读者编号 读者姓名 读者性别 联系电话 所在系 违章状况 数据类型 char char char char char char 长度 20 10 2 10 20 2 约束 NOT NULL NOT NULL NOT NULL 属性 主码 非主属性 非主属性 非主属性 非主属性 非主属性 NOT NULL - 10 - (完整word版)图书管理系统数据库设计 累计借书 int 非主属性 表3。3。3 管理员信息表MANAGER 字段名称 工作号 姓名 性别 电话 工资 数据类型 char char char char char 长度 12 20 2 12 12 约束 NOT NULL NOT NULL NOT NULL 属性 主码 非主属性 非主属性 非主属性 非主属性 表3.3.4 借阅关系表R-B 字段名称 工作号 ISBN 读者编号 借书日期 还书日期 是否续借 数据类型 char char char char 长度 12 20 20 约束 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 属性 外码 外码 非主属性 非主属性 非主属性 非主属性 char 4 表3.3.5 管理员_书籍表M—B 字段名称 工作号 ISBN 添加时间 是否在馆 数据类型 char char data char 长度 12 20 约束 NOT NULL NOT NULL 属性 外码 外码 非主属性 非主属性 14 表3.3。6 管理员_学生表M—S 字段名称 工作号 读者学号 借还确认 数据类型 char char char 长度 12 20 4 约束 NOT NULL NOT NULL NOT NULL 属性 外码 外码 非主属性 3.4 物理结构设计与实施

- 11 -

(完整word版)图书管理系统数据库设计

此部分写数据库物理结构设计,重点给出SQLServer2008中各个关系的实现情况,包括表和视图的create语句。

3.4.1建表

/*(1)

图书信息表BOOK*/

Create Table BOOK

( ISBN char(20) Primary Key Not Null, 书名 char(50) Not Null, 作者 char(20) Not Null, 出版社 char(50), 出版日期 date, 简介 char(100) );

/*(2)读者信息表STUDENT*/ Create Table STUDENT

( 读者编号 char(20) Primary Key Not Null, 读者姓名 char(10) Not Null, 读者性别 char(2) Not Null, 联系电话 char(10), 所在系 char(20) Not Null, 违章状况 char(2), 借书累计 int );

/*(3) 管理员信息表MANAGER*/ Create Table MANAGER

( 工作号 char(12) Primary Key Not Null, 姓名 char(20) Not Null, 性别 char(2) Not Null, 电话 char(12), 工资 char(12) );

/*(4)借阅关系表R—B*/ Create Table R_B

( 工作号 char(12) Not Null, ISBN char(20) Not Null,

- 12 -

(完整word版)图书管理系统数据库设计

读者编号 char(20) Not Null, 借书日期 date Not Null, 还书日期 date Not Null, 是否续借 char(4) Not Null, Primary Key(ISBN,读者编号),

Foreign Key(ISBN)References BOOK(ISBN), Foreign Key(读者编号)References STUDENT(读者编号) );

/*(5)管理员_书籍表M-B*/ Create Table M_B

( 工作号 char(12) Not Null, ISBN char(20) Not Null, 添加时间 date, 是否在馆 char(14), Primary Key(工作号,ISBN),

Foreign Key(工作号)References MANAGER(工作号), Foreign Key(ISBN)References BOOK(ISBN) );

/*(6)管理员_学生表M-S*/ Create Table M_S

( 工作号 char(12) Not Null, 读者编号 char(20) Not Null, 确认归还 char(4) Not Null, Primary Key(工作号, 读者编号),

Foreign Key(工作号)References MANAGER(工作号), Foreign Key(读者编号)References STUDENT(读者编号)

);

- 13 -

(完整word版)图书管理系统数据库设计

- 14 -

(完整word版)图书管理系统数据库设计

- 15 -

(完整word版)图书管理系统数据库设计

3.4。2合法用户

(1) 将图书信息表的查询权限授给读者S1

Grant Select ON Table Book TO S1

(2)将借阅关系表R—B,管理员_书籍表M—B,管理员_学生表M-S的查询和修改的权限给管理员U1

Grant Update,Select

ON Table R—B,M-B,M—S TO U1

3.4.3视图

在性别为女的管理员信息表上建立工资视图ManagerWage Create view ManagerWage As

Select 姓名,性别,工资 From manager

Where 性别 =’女’;

- 16 -

(完整word版)图书管理系统数据库设计

3.4.4触发器

建立一个如果管理员的工资不足700,自动改为700元的触发器——insert_or update_wage Create trigger insert_or update_wage Before insert or update on manager For each row As begin

If (new。 Professinal='管理员’) and (new.工资<700) then New。工资=700; End if; End

3。4。5索引

在图书信息表BOOK上建立唯一索引D—BOOKNAME Create unique index D—BOOKNAME ON BOOK; 在图书管理员表MANAGER上建立唯一索引M—MANAGER Create unique index M—MANAGER ON MANAGER;

4 结束语

4。1 收获和体会

1、这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施以及调试测试六大步骤.其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体发构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭空想象或者自己的了解,这样在后续的工作会遇到很多的问题.

2、在这次的课程设计过程中加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。并在解决遇到的各种问题的过程中,学习到了很多的知识,掌握了以前很不熟悉的知- 17 - 识点。

(完整word版)图书管理系统数据库设计

4。2 总结与展望

通过此次的数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据库开始,对数据库设计理念及思想上有更高的认识,从需求分析到概念设计和逻辑设计,E-R图的表示,数据库字典的建立,懂得了不少有关数据库开发过程的知识,在实验中建立表格,及其关系模式,关系代数的建立及理解,将SQL的查询语句用的淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询、牵涉表和表之间的联系,主键与外键的定义约束项的设置,使逻辑更加严密,在学习过程中,我也在网上查阅了不少的资料,也看了一些别人设计的图书管理系统的设计报告,学以致用,自我创新,独立完成了这份报告,从中在学到用,从用到学,不断修改,系统更新。虽然不能达到完善系统,但也做到尽善尽美,加强理论学习对完善系统会有很大帮助,不管怎么说,这次的课程设计自己觉得还是比较满意的。

- 18 -

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