数据库大作业图书管理系统.docx

上传人:b****4 文档编号:12115281 上传时间:2023-04-17 格式:DOCX 页数:20 大小:177.55KB
下载 相关 举报
数据库大作业图书管理系统.docx_第1页
第1页 / 共20页
数据库大作业图书管理系统.docx_第2页
第2页 / 共20页
数据库大作业图书管理系统.docx_第3页
第3页 / 共20页
数据库大作业图书管理系统.docx_第4页
第4页 / 共20页
数据库大作业图书管理系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库大作业图书管理系统.docx

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

数据库大作业图书管理系统.docx

数据库大作业图书管理系统

图书管理系统

需求分析

v信息需求:

为了加强图书的管理,设计图书管理系统,方便用户借阅、管理员管理,减少管理员的工作量。

1)主要信息需求

1.图书信息:

简介、出版日期、出版社、作者、书名、书号

2.读者信息:

姓名、性别、读者编号、所在系、联系电话

3.借阅信息:

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

4.管理员信息:

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

5.管理_书籍信息:

工作号、书号、添加时间、是否在馆

6.管理_读者信息:

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

2)信息间的主要联系

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

m)

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

1)

3.一个图书管理员可以管理多个读者(1:

n)

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

1)

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

n)

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

m)

v处理需求:

1.借阅功能:

可以方便地借阅图书、续借图书、归还图书

2.查询功能:

按图书编号查找图书、按图书名称查找图书、按图书作者查找图书、能够按照自己的图书证编号查询自己的状态信息

3.读者注册功能:

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

4.图书录入功能:

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

5.统计功能:

按图书编号统计书籍数量、按图书名称统计数量、按作者统计书籍数量

v安全性需求

1.管理员的权限最高,可以查询、修改借阅关系表、管理员_书籍表、管理员_读者表

2.读者,可以查看图书基本信息、个人自己的借阅信息。

不可以对其中的信息进行添加、修改等操作。

v完整性需求

1.在图书管理信息表中,书号、书名、作者、出版社、出版日期、简介输入信息的时候都有类型、长度要求。

书号、书名、作者不能为空,其中书号为主码

2.在读者信息表中,其中的各类信息都有类型、长度要求。

读者编号、读者姓名、读者性别、所在系不能为空,读者编号为主码

3.在管理员信息表中,其中的各类信息都有类型、长度要求。

工作号、姓名、性别不能为空,工作号为主码

4.在借阅关系表中,其中的各类信息都有类型、长度要求,且均不可为空。

工作号、书号为外码

5.在管理员_书籍表中,其中的各类信息都有类型、长度要求。

工作号、书号不能为空,且为外码

6.在管理员_读者表中,其中的各类信息都有类型、长度要求,均不可为空。

工作号、读者编号为外码

v程序流程图

图1

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

若已借出,显示借出;未借出进行下一步,图书管理员将书借出并登记相关信息。

v数据流图

顶层数据流图

添加图书图书信息

借出信息

借书

图书

还书拒绝信息

修改信息查询

图2

第0层数据流图

所借图书信息

借书

借书

拒绝借书

库存信息

借书信息查询信息

还书违章情况

图3

第一层数据流图

第一次借书

借书信息

借书

编号

存在

借出图书

借书累计过多、无库存

拒绝借出

库存信息

图4.借书的数据流图

还书

借书信息库存信息

图5.还书的数据流图

查询要求

 

借书信息表库存图书信息表

查询结果

图6.查询的数据流图

v数据字典

1.数据项

数据项名

数据项含义说明

数据类型

长度

与其他数据项的逻辑关系

读者编号

读者相关信息

整型

10

决定要借阅的图书

读者姓名

读者相关信息

字符型

6

读者性别

读者相关信息

字符型

2

联系电话

读者相关信息

整型

7

所在系

读者相关信息

字符型

10

书名

图书相关信息

字符型

20

作者

图书相关信息

字符型

6

出版社

图书相关信息

字符型

20

管理员工作号

管理员相关信息

整型

10

管理图书的借还

管理员姓名

管理员相关信息

字符型

6

管理员性别

管理员相关信息

字符型

2

借书日期

借书相关信息

整型

10

还书日期

借书相关信息

整型

10

2.数据结构

数据结构名

含义说明

组成

图书信息表

定义图书的相关信息

简介、出版日期、出版社、作者、书名、书号

读者信息表

定义读者的相关信息

姓名、性别、读者编号、所在系、联系电话

管理员信息表

定义管理员的相关信息

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

借阅关系表

定义借阅图书的相关信息

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

管理员_书籍信息表

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

工作号、书号、添加时间、是否在馆

管理员_读者信息表

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

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

3.数据流

数据流名

来源

去向

组成

借书

读者、图书

借书审核

读者编号、书名、读者姓名、借书日期

还书

图书、读者

还书审核

读者编号、书名、还书日期

4.数据存储

数据存储名

组成

借书信息

姓名、性别、读者编号、所在系、联系电话、管理员姓名

库存信息

简介、出版日期、出版社、作者、书名、书号、是否在馆

5.处理过程

处理过程名

含义说明

输入

输出

借书过程

查看图书是否被借出

图书信息

借阅信息

还书过程

查看借阅图书的信息

读者信息

图书信息

概念结构设计

v局部E-R图

1.读者—借阅—图书

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

m)

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

1)

 

 

图1.借阅关系E—R图

2.管理员—管理—读者

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

n)

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

1)

 

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

3.管理员—管理—图书

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

n)

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

m)

 

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

v全局E-R图

 

图4.系统全局E—R图

逻辑概念设计

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

1.读者(读者编号、读者姓名、读者性别、联系电话、所在系、违章情况、累计借书)

2.图书(书号、书名、作者、出版社、出版日期、简介)

3.管理员(工作号、姓名、性别、电话、工资)

4.借阅(读者编号、书号、是否续借、借书日期、还书日期)

5.管理员_图书(工作号、书号、添加时间、是否在馆)

6.管理员_读者(工作号、读者编号、确认借还)

v数据模型优化

将数据关系模式优化,最终达到第三范式。

优化后的关系模式:

1.读者(读者编号、读者姓名、读者性别、联系电话、所在系、违章情况、累计借书)

2.图书(书号、书名、作者、出版社、出版日期、简介)

3.管理员(工作号、姓名、性别、电话、工资)

4.借阅(读者编号、书号、是否续借、借书日期、还书日期)

5.管理员_图书(工作号、书号、添加时间、是否在馆)

6.管理员_读者(工作号、读者编号、确认借还)

物理概念设计

v数据的存储结构

根据以上的逻辑概念设计,得出各类数据的存储结构

1.图书信息表

字段名称

数据类型

长度

约束

属性

书号

char

20

NOTNULL

主码

书名

char

50

NOTNULL

非主属性

作者

char

20

NOTNULL

非主属性

出版社

char

50

非主属性

出版日期

data

非主属性

简介

char

200

非主属性

2.读者信息表

字段名称

数据类型

长度

约束

属性

读者编号

char

20

NOTNULL

主码

读者姓名

char

10

NOTNULL

非主属性

读者性别

char

2

NOTNULL

非主属性

联系电话

char

10

非主属性

所在系

char

20

NOTNULL

非主属性

违章情况

char

2

非主属性

累计借书

int

非主属性

3.管理员信息表

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

主码

姓名

char

20

NOTNULL

非主属性

性别

char

2

NOTNULL

非主属性

电话

char

12

非主属性

工资

char

12

非主属性

4借阅关系表

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

书号

char

20

NOTNULL

外码

读者编号

char

20

NOTNULL

非主属性

借书日期

data

NOTNULL

非主属性

还书日期

data

NOTNULL

非主属性

是否续借

char

4

NOTNULL

非主属性

5管理员_图书表

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

书号

char

20

NOTNULL

外码

添加时间

data

非主属性

是否在馆

char

14

非主属性

6.管理员_读者表

字段名称

数据类型

长度

约束

属性

工作号

char

12

NOTNULL

外码

读者编号

char

20

NOTNULL

外码

借还确认

char

4

非主属性

数据库建立

v建表

1.图书信息表BOOK

CREATETABLEBOOK

(书号char(20)PRIMARYKEYNOTNULL,

书名char(50)NOTNULL,

作者char(20)NOTNULL,

出版社char(50)

出版日期data,

简介char(200)

);

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,

书号char(20)NOTNULL,

读者编号char(20)NOTNULL,

借书日期dataNOTNULL,

还书日期dataNOTNULL,

是否续借char(4)NOTNULL,

PRIMARYKEY(书号,读者编号),

FOREIGNKEY(书号)REFERENCES(书号),

FOREIGNKEY(读者编号)REFERENCES(读者编号)

);

5.管理员_图书表M—B

CREATETABLEM—B

(工作号char(12)NOTNULL,

书号char(20)NOTNULL,

添加时间data,

是否在馆char(14),

PRIMARYKEY(工作号,书号),

FOREIGNKEY(工作号)REFERENCES(工作号),

FOREIGNKEY(书号)REFERENCES(书号)

);

6.管理员_读者表M—S

CREATETABLEM—S

(工作号char(12)NOTNULL,

读者编号char(20)NOTNULL,

借还确认char(4),

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

FOREIGNKEY(工作号)REFERENCES(工作号),

FOREIGNKEY(读者编号)REFERENCES(读者编号)

v权限

1.将图书信息查询权限授给读者S1

GRANTSELECT

ONTABLEBOOK

TOS1

2.将图书借阅表、管路员_图书表、管理员_读者表的查询和修改权限授给管理员M1

GRANTUPDATE,SELECT

ONTABLER—B,M—B,M—S

TOM1

v视图

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

CREATEVIEWMANAGERWAGE

AS

SELECT姓名,性别,工资

FROMMANAGER

WHERE性别='女';

v触发器

建立管理员工资不足1000元,自动改为1000元的触发器Insert_Or_Update_Wage

CREATETRIGGERInsert_Or_Update_Wage

BEFOREINSERTORUPDATEONMANAGER

FOREACHROW

ASBEGIN

IF(new.Professinal='管理员')AND(new.工资<1000))THEN

new.工资:

=1000;

ENDIF;

END;

v索引

1.在图书信息表BOOK建立唯一索引B-BOOKNAME

CREATEUNIQUEINDEXB-BOOKNAMEONBOOK(书名);

2.在读者信息表STUDENT建立唯一索引S-STUDENTNO

CREATEUNIQUEINDEXS-STUDENTNOONSTUDENT(读者编号ASC);

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

CREATEUNIQUEINDEXM-MANAGERNAMEONMANAGER(姓名);

数据库实施

v数据库数据的载入和应用程序的编制调试

1.建立数据库的结构

创建数据库,建立数据库中所包含的各个基本表、视图、索引等。

利用SQL语句中的CREATEDATABASE、CREATETABLR、CREATEVIEW、CREATEINDEX命令完成。

此系统中需要用这些命令,建立图书信息表、读者信息表、管理员信息表、借阅关系表、管理员_书籍表、管理员_学生表、为性别为女的管理员信息表上建立工资视图、为管理员建立触发器工资不足700,自动改为700元、为表建立索引。

2.将原始数据装入数据库

原始数据一般都是分散的,而且他们的组织方式、结构和格式都与新设计的数据库系统中的数据有不同程度的区别。

必须将数据从各个地方抽出来,输入计算机,并进行分类转换,使他们的结构与新的系统数据库的结构一致,然后才能输入到计算机。

先输入少量的数据,等系统正常运行后将所有的原始数据装入到数据库。

如果仅仅插入几条,可以用INSERT语句。

如果为批量的数据,应设计数据输入子系统来进行数据的输入。

v数据库的试运行

所有的程序模块都通过的调试以后,将他们联合起来进行调试,此过程要测试程序的各功能是否正确、考察系统的性能是否符合用户的需要。

在数据的试运行过程中,应经常对数据库中的数据进行备份。

每天进行一次动态增量转储、每星期进行一次动态海量转储、每月进行一次静态海量。

数据库运行与维护

v数据库的转储和恢复

DBA定期对数据库进行备份,将其转储到磁盘或其他磁盘上。

这样,万一数据库遭到破坏时可以及时地将其恢复。

v数据库的安全性和完整性控制

随着时间的推移,数据库系统的应用环境会发生变化,DBA应根据实际情况调整数据库的安全性和完整性的要求。

v数据库性能的监督、分析和改造

在数据库系统的运行过程中,DBA须密切关注系统的性能,监视系统的运行,并对监测数据进行分析,不断改进系统的性能。

v数据库的重组织与重构造

在数据库系统的运行过程中,经常会对数据库进行插入、删除和修改等操作。

会使数据库的物理存储变坏,影响数据的存取效率和系统的性能。

DBA应负责对数据库重新进行组织,即按原设计要求重新安排数据的存储位置、回收垃圾、减少指针链等,以提高数据的存取效率和系统性能。

数据库系统的应用环境是不断变化的,常常会出现一些新的应用,也会消除一些旧的应用,导致新的实体的出现和旧实体的淘汰,同时原先实体的属性和实体间的联系也会发生变化。

此时需数据库重构造。

但重构造是十分有限的,若应用环境变化太大,应淘汰旧系统,设计新的数据库应用系统。

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

当前位置:首页 > PPT模板 > 动物植物

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

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