图书管理系统数据库设计.docx

上传人:b****4 文档编号:3933422 上传时间:2022-11-26 格式:DOCX 页数:16 大小:107.58KB
下载 相关 举报
图书管理系统数据库设计.docx_第1页
第1页 / 共16页
图书管理系统数据库设计.docx_第2页
第2页 / 共16页
图书管理系统数据库设计.docx_第3页
第3页 / 共16页
图书管理系统数据库设计.docx_第4页
第4页 / 共16页
图书管理系统数据库设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

图书管理系统数据库设计.docx

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

图书管理系统数据库设计.docx

图书管理系统数据库设计

摘要

数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。

其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库及其应用系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不尽有利于软件的快速开发,而且有利于以后对软件的维护。

目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会—-信息社会的重要支柱.在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。

一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息.系统在IBMDB2平台上用SQL语言来编写实现。

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

关键词:

SQL语言;数据库设计;图书管理系统

1需求分析........................................................1

1。

1需求分析过程..................................................1

1。

2数据字典......................................................2

2概念模式设计....................................................3

2.1实体..........................................................3

2.2局部视图.....................................................3

2。

3视图集成......................................................4

3逻辑模式设计....................................................6

3。

1将E—R图转化为关系模式........................................6

3。

2数据模型的优化................................................6

4检验是否满足用户需求............................................8

4.1调查用户需求..................................................8

5其它数据库对象(物理数据库设计)的考虑............................9

5.1建表..........................................................9

5。

2合法用户名字、权限、角色.......................................10

5。

3视图.........................................................10

5。

4触发器.......................................................11

5.5索引.........................................................11

6备份及恢复策略.................................................11

6.1备份策略.....................................................11

6.2恢复策略.....................................................11

图书管理系统

1需求分析

1.1需求分析过程

(1)流程

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

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

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

(2)功能:

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

(3)流程图:

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

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

 

1.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

数据流名来源去向

读者信息读者图书管理员的管理处

图书信息图书图书管理员的管理处

借阅信息借阅图书图书管理员的管理处

 

(4)数据存储:

表1.4

数据存储名含义说明组成

读者信息存储了读者的相关信息读者编号,姓名,性别,联系电话,系别

图书信息存储了图书的相关信息ISBN,书名,作者,出版社,出版日期,简介

借阅信息存储了借阅图书的有关信息工作号,ISBN,读者编号,借书日期,还书日期,是否续借

(5)处理过程:

表1.5

处理过程名含义说明输入输出

借书过程查看图书是否被借出图书信息借阅信息

还书过程查看借阅图书的信息读者信息图书信息

2概念模式设计

2.1实体:

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

2。

2局部视图:

(1)

读者—借阅-图书

图2-1借阅关系E—R图

 

事务规则:

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

n)

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

n)

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

 

1

n

 

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

事务规则:

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

n)

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

1)

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

n

n

图2—3管理员_书籍关系E—R图

事务规则:

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

n)

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

n)

2。

3视图集成

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

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

1)确定公共实体类型

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

在这一步中我们仅根据实体类型名和键来认定公共实体类型.一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选.

2)局部ER模式的合并

合并的原则是:

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

3)消除冲突

冲突分为三类:

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

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

4)全局ER模式的优化

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

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

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

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

 

图2。

4系统全局ER图

 

图2—4系统全局ER图

3逻辑模式设计

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非主属性

 

表3。

2读者信息表STUDENT

字段名称数据类型长度约束属性

数据类型

长度

约束

描述

读者编号char20NOTNULL主码

读者姓名char10NOTNULL非主属性

读者性别char2NOTNULL非主属性

联系电话char10非主属性

所在系char20NOTNULL非主属性

违章状况char2非主属性

累计借书int非主属性

表3。

3管理员信息表MANAGER

字段名称数据类型长度约束属性

数据类型

长度

约束

描述

工作号char12NOTNULL主码

姓名char20NOTNULL非主属性

性别char2NOTNULL非主属性

电话char12非主属性

工资char12非主属性

表3.4借阅关系表R—B

字段名称数据类型长度约束属性

工作号char12NOTNULL外码

ISBNchar20NOTNULL外码

读者编号char20NOTNULL非主属性

借书日期dateNOTNULL非主属性

还书日期dateNOTNULL非主属性

是否续借char4NOTNULL非主属性

表3.5管理员_书籍表M—B

字段名称数据类型长度约束属性

工作号char12NOTNULL外码

ISBNchar20NOTNULL外码

添加时间data非主属性

是否在馆char14非主属性

表3.6管理员_学生表M—S

字段名称数据类型长度约束属性

工作号char12NOTNULL外码

读者学号char20NOTNULL外码

借还确认char4NOTNULL非主属性

4检验是否满足用户需求

4.1调查用户需求

①读者需求

(1)借阅功能:

能够方便地借阅图书、续借图书、归还图书

(2)查询功能:

1)按图书编号查找图书

2)按书籍名称查找图书

3)按书籍作者查找图书

4)能够按照自己的图书证编号查询自己的状态信息

②图书管理员需求

(1)读者注册功能:

能够对新的读者进行登记,或注销读者的信息信息。

(2)图书录入功能:

能够将新到的图书信息输入到系统的图书信息库中。

(3)统计功能:

1)按图书编号统计书籍数量

2)按书籍名称统计数量

3)按作者统计书籍数量

5其它数据库对象(物理数据库设计)的考虑

5。

1建表

(1)图书信息表BOOK

CreateTableBOOK

(ISBNchar(20)PrimaryKeyNotNull,

书名char(50)NotNull,

作者char(20)NotNull,

出版社char(50),

出版日期date(),

简介char(300)

);

(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,

借书日期date()NotNull,

还书日期date()NotNull,

是否续借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(读者编号)

);

5.2合法用户名字、权限、角色

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

GrantSelect

ONTableBook

TOS1

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

GrantUpdate,Select

ONTableR-B,M—B,M—S

TOU1

5.3视图

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

CreateviewManagerWage

As

Select姓名,性别,工资

Frommanager

Where性别=’女’;

5.4触发器

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

Createtriggerinsert_orupdate_wage

Beforeinsertorupdateonmanager

Foreachrow

Asbegin

If(new.Professinal=’管理员’)and(new。

工资〈700)then

New.工资=700;

Endif;

End

5。

5索引

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

CreateuniqueindexD—BOOKNAMEONBOOK;

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

CreateuniqueindexM-MANAGERONMANAGER;

6备份及恢复策略

6.1备份策略

1)每天进行一次动态增量转储

2)每星期进行一次动态海量转储

3)每月进行一次静态海量转储

6。

2恢复策略

数据库中可能发生各种各样的故障,大致可以分为以下几类:

1.事物内部故障.

遇到次种故障的恢复策略主要是:

(1)反向扫描日志文件,查找该事物的更新操作。

(2)对该事物的更新操作执行逆操作.

(3)继续反向扫描日志文件,查找该事物的其他更新操作,并做同样处理。

(4)如此处理下去,直至读到此事物的开始标记,事物故障恢复就完成了。

2.系统故障。

遇到次种故障的恢复策略主要是:

(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列。

同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列.

(2)对撤消队列的各个事务进行撤消处理。

(3)对重做队列的各个事务进行重做处理。

3.介质故障。

遇到次种故障的恢复策略主要是:

(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储的一致性状态。

(2)装入相应的日志文件副本,重做已完成的事物。

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

当前位置:首页 > PPT模板

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

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