本科毕业设计论文图书管理系统数据库设计.docx

上传人:b****8 文档编号:9353625 上传时间:2023-02-04 格式:DOCX 页数:23 大小:699.57KB
下载 相关 举报
本科毕业设计论文图书管理系统数据库设计.docx_第1页
第1页 / 共23页
本科毕业设计论文图书管理系统数据库设计.docx_第2页
第2页 / 共23页
本科毕业设计论文图书管理系统数据库设计.docx_第3页
第3页 / 共23页
本科毕业设计论文图书管理系统数据库设计.docx_第4页
第4页 / 共23页
本科毕业设计论文图书管理系统数据库设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

本科毕业设计论文图书管理系统数据库设计.docx

《本科毕业设计论文图书管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文图书管理系统数据库设计.docx(23页珍藏版)》请在冰豆网上搜索。

本科毕业设计论文图书管理系统数据库设计.docx

本科毕业设计论文图书管理系统数据库设计

内容与要求

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

(1)教师可以根据不同课程编辑和发布实验内容;

(2)学生可以浏览实验内容,同时完成作品的提交;

(3)学生可以在规定时间内填写、修改和提交实验报告;

(4)教师可以通过应用系统批改实验报告,并提交成绩;

(5)学生可以查询个人实验成绩;

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

(1)需求分析

(2)概念结构设计

(3)逻辑结构设计

(4)物理结构设计与实施

3.写出应用系统的主要功能设计;

4.写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想和建议;

5.独自完成作业,有雷同的平分得分;

6.也可以自行设计课题。

 

目录

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建表-11-

3.4.2合法用户-15-

3.4.3视图-16-

3.4.4触发器-16-

3.4.5索引-16-

4结束语-17-

4.1收获和体会-17-

4.2总结与展望-17-

1绪论

数据库是数据管理的有效技术,是计算机科学的重要分支。

信息资源已成为各个部门的重要财富和资源。

建立一个满足各个部门信息处理系统核心和基础的数据库技术得到越来越广泛的应用。

随着社会信息量的与日俱增,职场竞争的日益激烈,越来也多的人更关注知识的积累、能力的培养。

作为信息存储的主要媒体之一,图书的规模、数量比以往任何时候都大的多,不论个人还是图书馆管理部门都需要使用方便有效的方式来管理自己的图书。

一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。

系统在IBMDB2平台上用SQL语言来编写实现。

此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认

1.1课题的意义

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

本文以高校图书馆管理系统管理系统开发过程为背景,在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。

采用结构化的功能模块设计系统功能,可读性好,易于扩充,基本功能全面,系统可读性好,易于维护,更新,安全性好。

2应用系统功能设计

2.1业务操作流程

2.1.1读者角度的流程图

图2.1-1

2.1.2图书管理系统流程图

顶层数据流程图:

第二层数据流程图:

(读者借阅,读者还书,读者查询,管理员查询、修改)

2.2系统功能设计

系统功能模块图

3数据库设计

3.1需求分析

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

3.1.1需求分析过程

(1)流程

读者到图书借阅处查询图书,看看是否有满足读者要求的图书。

如果有满足读者要求的图书,查看该图书是否在馆,如果在馆,则图书管理员在系统记录读者信息并记录借出图书信息,如果不在馆,通知读者。

如果读者要求的图书无法提供,则通知读者无法满足。

(2)功能:

实现图书的查询,借入和归还功能,而且能保存记录。

(3)流程图:

读者借阅图书,系统查询图书是否在馆。

图书已借出,显示已借出;未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。

3.1.2数据字典

(1)数据项:

数据项名

含义说明

数据类型

长度

与其他数据项的逻辑关系

读者编号

读者相关信息

整型

10

决定要借的书

读者姓名

读者相关信息

字符型

6

读者性别

读者相关信息

字符型

2

联系电话

读者相关信息

整型

7

所在系

读者相关信息

字符型

10

书名

图书相关信息

字符型

20

作者

图书相关信息

字符型

6

出版社

图书相关信息

字符型

20

管理员工作号

管理员信息

整型

10

图书借出、归还

管理员姓名

管理员信息

字符型

6

管理员性别

管理员信息

字符型

2

借书日期

借书相关信息

整型

10

还书日期

借书相关信息

整型

10

表3.1-1

(2)数据结构:

数据结构名

含义说明

组成

图书信息表

定义了图书的相关信息

ISBN,书名,作者,出版社,出版日期,简介

读者信息表

定义了读者有关信息

读者编号,姓名,性别,联系电话,系别

管理员信息表

定义了管理员有关信息

工作号,姓名,性别,电话,工资

借阅关系表

定义了借阅图书的有关信息

工作号,ISBN,读者编号,借书日期,还书日期,是否续借

管理员_书籍表

定义了管理员与书籍的有关信息

工作号,ISBN,添加时间,是否在馆

管理员_读者表

定义了管理员与学生的有关信息

工作号,读者编号,借还确认,违章状况,累计借书

表3.1-2

(3)数据流:

数据流名

来源

去向

读者信息

读者

图书管理员的管理处

图书信息

图书

图书管理员的管理处

借阅信息

借阅图书

图书管理员的管理处

表3.1-3

(4)数据存储:

数据存储名

含义说明

组成

读者信息

存储了读者的相关信息

读者编号,姓名,性别,联系电话,系别

图书信息

存储了图书的相关信息

ISBN,书名,作者,出版社,出版日期,简介

借阅信息

存储了借阅图书的有关信息

工作号,ISBN,读者编号,借书日期,还书日期,是否续借

表3.1-4

(5)处理过程:

处理过程名

含义说明

输入

输出

借书过程

查看图书是否被借出

图书信息

借阅信息

还书过程

查看借阅图书的信息

读者信息

图书信息

表3.1-5

3.2概念结构设计

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

3.2.1实体

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

3.2.2局部视图

(1)

读者-借阅—图书

图3.2-1借阅关系E-R图

事务规则:

一个读者可以借阅多本图书(1:

n)

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

n)

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

 

1

n

 

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

事务规则:

一个图书管理员可以管理多个读者信息(1:

n)

一个读者信息只能被一个图书管理员管理(1:

1)

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

n

n

图3.2-3管理员_书籍关系E-R图

事务规则:

一本图书可以被多个图书管理员管理(1:

n)

一个图书管理员可以管理多本图书(1:

n)

3.2.3视图集成

所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。

全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

1)确定公共实体类型

为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。

在这一步中我们仅根据实体类型名和键来认定公共实体类型。

一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。

2)局部ER模式的合并

合并的原则是:

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

3)消除冲突

冲突分为三类:

属性冲突、结构冲突、命名冲突。

设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。

4)全局ER模式的优化

在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。

一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:

实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。

综上所述,“图书管理系统”的全局ER模式如下图所示。

 

图3.2-4系统全局ER图

3.3逻辑结构设计

给出优化后的关系模式。

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

由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。

由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。

设计结果是一组关系模式的定义。

将图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

20

NOTNULL

主码

书名

char

50

NOTNULL

非主属性

作者

char

20

NOTNULL

非主属性

出版社

char

50

非主属性

出版日期

date

非主属性

简介

char

200

非主属性

表3.3.2读者信息表STUDENT

字段名称

数据类型

长度

约束

属性

读者编号

char

20

NOTNULL

主码

读者姓名

char

10

NOTNULL

非主属性

读者性别

char

2

NOTNULL

非主属性

联系电话

char

10

非主属性

所在系

char

20

NOTNULL

非主属性

违章状况

char

2

非主属性

累计借书

int

非主属性

表3.3.3管理员信息表MANAGER

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

主码

姓名

char

20

NOTNULL

非主属性

性别

char

2

NOTNULL

非主属性

电话

char

12

非主属性

工资

char

12

非主属性

表3.3.4借阅关系表R-B

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

ISBN

char

20

NOTNULL

外码

读者编号

char

20

NOTNULL

非主属性

借书日期

char

NOTNULL

非主属性

还书日期

NOTNULL

非主属性

是否续借

char

4

NOTNULL

非主属性

表3.3.5管理员_书籍表M-B

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

ISBN

char

20

NOTNULL

外码

添加时间

data

非主属性

是否在馆

char

14

非主属性

表3.3.6管理员_学生表M-S

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

读者学号

char

20

NOTNULL

外码

借还确认

char

4

NOTNULL

非主属性

3.4物理结构设计与实施

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

3.4.1建表

/*

(1)图书信息表BOOK*/

CreateTableBOOK

(ISBNchar(20)PrimaryKeyNotNull,

书名char(50)NotNull,

作者char(20)NotNull,

出版社char(50),

出版日期date,

简介char(100)

);

/*

(2)读者信息表STUDENT*/

CreateTableSTUDENT

(读者编号char(20)PrimaryKeyNotNull,

读者姓名char(10)NotNull,

读者性别char

(2)NotNull,

联系电话char(10),

所在系char(20)NotNull,

违章状况char

(2),

借书累计int

);

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

CreateTableMANAGER

(工作号char(12)PrimaryKeyNotNull,

姓名char(20)NotNull,

性别char

(2)NotNull,

电话char(12),

工资char(12)

);

/*(4)借阅关系表R-B*/

CreateTableR_B

(工作号char(12)NotNull,

ISBNchar(20)NotNull,

读者编号char(20)NotNull,

借书日期dateNotNull,

还书日期dateNotNull,

是否续借char(4)NotNull,

PrimaryKey(ISBN,读者编号),

ForeignKey(ISBN)ReferencesBOOK(ISBN),

ForeignKey(读者编号)ReferencesSTUDENT(读者编号)

);

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

CreateTableM_B

(工作号char(12)NotNull,

ISBNchar(20)NotNull,

添加时间date,

是否在馆char(14),

PrimaryKey(工作号,ISBN),

ForeignKey(工作号)ReferencesMANAGER(工作号),

ForeignKey(ISBN)ReferencesBOOK(ISBN)

);

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

CreateTableM_S

(工作号char(12)NotNull,

读者编号char(20)NotNull,

确认归还char(4)NotNull,

PrimaryKey(工作号,读者编号),

ForeignKey(工作号)ReferencesMANAGER(工作号),

ForeignKey(读者编号)ReferencesSTUDENT(读者编号)

);

3.4.2合法用户

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

GrantSelect

ONTableBook

TOS1

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

GrantUpdate,Select

ONTableR-B,M-B,M-S

TOU1

3.4.3视图

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

CreateviewManagerWage

As

Select姓名,性别,工资

Frommanager

Where性别=’女’;

3.4.4触发器

建立一个如果管理员的工资不足700,自动改为700元的触发器——insert_orupdate_wage

Createtriggerinsert_orupdate_wage

Beforeinsertorupdateonmanager

Foreachrow

Asbegin

If(new.Professinal=’管理员’)and(new.工资<700)then

New.工资=700;

Endif;

End

3.4.5索引

在图书信息表BOOK上建立唯一索引D-BOOKNAME

CreateuniqueindexD-BOOKNAMEONBOOK;

在图书管理员表MANAGER上建立唯一索引M-MANAGER

CreateuniqueindexM-MANAGERONMANAGER;

4结束语

4.1收获和体会

1、这次课程设计使我熟悉了系统设计的整体步骤。

系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施以及调试测试六大步骤。

其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体发构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭空想象或者自己的了解,这样在后续的工作会遇到很多的问题。

2、在这次的课程设计过程中加深了我对数据库系统概论相关知识和SQLSERVER相关功能的理解。

并在解决遇到的各种问题的过程中,学习到了很多的知识,掌握了以前很不熟悉的知识点。

4.2总结与展望

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

虽然不能达到完善系统,但也做到尽善尽美,加强理论学习对完善系统会有很大帮助,不管怎么说,这次的课程设计自己觉得还是比较满意的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1