图书管理系统数据库文档资料.docx
《图书管理系统数据库文档资料.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库文档资料.docx(12页珍藏版)》请在冰豆网上搜索。
图书管理系统数据库文档资料
1.设计背景------------------------------------------------------------------2
2.需求分析------------------------------------------------------------------2
3.功能说明------------------------------------------------------------------2
4.概念结构设计--------------------------------------------------------------3
4.1实体------------------------------------------------------------------3
4.2局部视图--------------------------------------------------------------3
4.3完整的E-R图----------------------------------------------------------5
5.逻辑结构设计--------------------------------------------------------------6
5.1将E-R图转化为关系模式------------------------------------------------7
5.2关系模式的优化--------------------------------------------------------7
5.3数据库的结构----------------------------------------------------------7
6.物理结构设计--------------------------------------------------------------9
6.1索引表的建立----------------------------------------------------------9
6.2表空间的建立----------------------------------------------------------10
7.数据库的实施--------------------------------------------------------------10
7.1系统实验要求-----------------------------------------------------------10
7.2表的建立与数据的载入---------------------------------------------------10
7.3触发器的设计-----------------------------------------------------------10
7.4数据库的运行----------------------------------------------------------10
7.5数据库的查询----------------------------------------------------------10
1.设计背景
数据库及其应用系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不尽有利于软件的快速开发,而且有利于以后对软件的维护。
随着计算机技术的发展以及国民经济的发展,图书馆的书籍馆藏数目越来越大,特别是作为高校部分,由于老师或者学生对于图书的需求比较大,使得图书馆的管理面临挑战,所以以前的人工管理技术已经不再适应现在的环境,必须开发出新的信息化的系统来管理繁杂的事务。
一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。
系统在IBMDB2平台上用SQL语言来编写实现。
此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。
2.需求分析
因为在《图书管理系统需求规格说明书》当中已经对需求进行了详细的分析,包括它的系统目标,需求的定义,以及需求功能的数据流图表示以及流图中数据项的数据字典。
所以,这部分详见《图书管理系统需求规格说明书》,这里不再详述。
3.功能说明:
本系统要完成的功能分为以下几个部分:
1.实现对图书信息的管理,包括图书信息和图书类别信息的检索,添加,更新,删除等操作;
2.实现借阅是用户信息和用户类别信息的操作,包含查询,修改操作;借阅者信息包括借阅卡号,姓名,用户类别编号等;
3.借书管理部分:
a.借书信息的输入。
包含借阅卡号,图书编号,借书时间,还书时间,借书者姓名,书名等;
b.借书信息的查询,修改。
包括图书编号,借阅卡号,借书者姓名,图书名称,借书时间等。
4.还书管理部分:
a.还书信息的输入,包括图书编号,借阅卡号,还书者姓名,借出日期,超出借阅期罚款数,丢失图书罚款数等;
b.还书信息的查询和修改。
包括图书编号,书名,用户姓名,借阅时间,归还时间等。
5.实现续借功能:
实现对借阅信息的修改,包括图书编号,书名,借阅卡号,借阅者姓名,还书时间等;
6.除了以上定义在数据流图中的功能,我们还需要为系统添加一些额外功能,包括数据的备份和恢复,管理员信息管理等;
该系统的以上功能也可以表示成系统层次结构图的形式,详见《图书管理系统概要设计说明书》。
4.概念结构设计:
4.1实体:
用户信息,图书信息,图书管理员信息;
4.2局部视图:
1.用户-借阅-图书:
事务规则:
一个读者可以借阅多本图书(1:
n)
一本图书可以被一个读者借阅(1:
n)
2.管理员—管理—读者:
事务规则:
一个图书管理员可以管理多个读者信息(1:
n)
一个读者信息只能被一个图书管理员管理(1:
1)
3.管理员--管理—图书
事务规则:
一本图书可以被多个图书管理员管理(1:
n)
一个图书管理员可以管理多本图书(1:
n)
4.3完整的E-R图:
5.逻辑结构设计:
5.1将E-R图转化为关系模式
从理论“E-R“到模型”到“关系模型”的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式:
1.用户(借阅卡号,姓名,办证日期,已借阅图书量,用户状态,联系电话)
2.图书(图书编号,书名,作者,单价,图书类别编号,图书状态,入库时间,出版时间,出版编号)
3.借阅(图书编号,书名,作者,单价,图书类别编号,图书状态,入库时间,出版时间,出版编号,借书时间,还书时间)
4.管理员-书籍(借阅时间,是否已借出,图书管理员用户名,图书编号)
5、管理员_用户(图书管理员姓名,图书管理员用户名,借阅卡号,用户姓名,借还确认,续借确认);
6.此外,还加入数据流图之外的数据项元素
管理员(姓名,用户名,管理权限,密码,性别);
5.2关系模式的优化:
将得到的关系模式进行优化,得到如下关系模式:
1.用户(借阅卡号,姓名,办证日期,已借阅图书量,用户状态,联系
电话)
2.图书(图书编号,书名,作者,单价,图书类别编号,图书状态,入库时间,出版时间,出版编号)
3.借阅(图书编号,书名,管理员用户名,图书类别编号,图书状态,入库时间,出版时间,出版编号,借书时间,还书时间)
4.管理员-书籍(借阅时间,是否已借出,图书管理员用户名,
图书编号)
5、管理员_用户(图书管理员姓名,图书管理员用户名,借阅卡号,用户姓名,借还确认,续借确认);
6.此外,还加入数据流图之外的数据项元素
管理员(姓名,用户名,管理权限,密码,性别);
5.3数据库的结构:
根据上述E-R图以及关系模式,我们可以建立如下的表结构:
1.图书信息表BOOK
字段名称
数据类型
长度
约束
属性
图书编号
字符串
10
必须非空
主码
书名
字符串
30
必须非空
非主属性
作者
字符串
10
必须非空
非主属性
单价
实型
4
非主属性
图书类别编号
字符串
3
非主属性
图书状态
整型
1
非主属性
入库时间
日期型
非主属性
出版时间
日期型
非主属性
出版编号
字符串
5
非主属性
2.用户信息表STUDENT
字段名称
数据类型
长度
约束
属性
借阅卡号
字符串
8
必须非空
主码
姓名
字符串
10
必须非空
非主属性
办证日期
日期型
非主属性
已借阅图书量
整型
1
非主属性
用户状态
整型
1
非主属性
联系电话
字符串
13
必须非空
非主属性
3.管理员信息表MANAGER
字段名称
数据类型
长度
约束
属性
姓名
字符串
10
必须非空
非主属性
用户名
字符串
10
必须非空
主码
管理权限
整型
1
必须非空
非主属性
密码
字符串
12
必须非空
非主属性
性别
字符型
2
非主属性
4借阅关系表R-B
字段名称
数据类型
长度
约束
属性
图书编号
字符串
10
必须非空
主码
书名
字符串
30
必须非空
非主属性
管理员用户名
字符串
12
必须非空
外码
单价
实型
4
非主属性
图书类别编号
字符串
3
必须非空
非主属性
图书状态
整型
1
非主属性
入库时间
日期型
非主属性
出版时间
日期型
非主属性
出版社编号
字符串
5
非主属性
借书时间
日期型
必须非空
非主属性
还书时间
日期型
必须非空
非主属性
5管理员_图书表M-B
字段名称
数据类型
长度
约束
属性
借阅时间
日期型
外码
是否已借出
整型
1
非主属性
图书管理员用户名
字符串
12
必须非空
非主属性
图书编号
字符串
10
必须非空
外码
6管理员_用户表M-S
字段名称
数据类型
长度
约束
属性
图书管理员姓名
字符串
10
必须非空
外码
图书管理员用户名
字符串
12
必须非空
外码
借阅卡号
字符串
8
必须非空
外码
用户姓名
字符串
10
必须非空
外码
借还确认
字符串
4
必须非空
非主属性
续借确认
字符串
4
必须非空
非主属性
6.物理结构设计:
6.1索引表的建立:
先给出索引的相关定义,然后自己选择表或者属性建立索引(唯一索引、聚簇索引),要求表和索引存储在不同的表空间里,写出相关的SQL语句。
6.2表空间的建立
给出表空间的相关定义,然后建立需要用到的表空间(至少2个以上,存放在目录容器和文件容器中),写出相关的SQL语句。
7.数据库的实施:
7.1系统实验要求
建立三个用户:
user1,user2,user3
(1)使第一个用户user1和db2admin一起成为admin组的成员,使admin具有SYSADM的权限。
(2)使第二个用户user2拥有DBADM的权限。
(3)将创建的表之一上的所有特权授予给自己建立的用户user3。
7.2表的建立与数据的载入
数据库中表的结构见5.3的数据库的结构。
7.3触发器的设计
根据应用要求,设计一个触发器。
7.4数据库的运行
略。
7.5数据的查询
略。
8.备份及恢复策略
数据库中可能发生各种各样的故障,大致可以分为以下几类:
1.事物内部故障。
遇到几种故障的恢复策略主要是:
(1)反向扫描日志文件,查找该事物的更新操作。
(2)对该事物的更新操作执行逆操作。
(3)继续反向扫描日志文件,查找该事物的其他更新操作,并做同样处理。
(4)如此处理下去,直至读到此事物的开始标记,事物故障恢复就完成了。
2.系统故障。
遇到几种故障的恢复策略主要是:
(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列。
同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列。
(2)对撤消队列的各个事务进行撤消处理。
(3)对重做队列的各个事务进行重做处理。
3.介质故障。
遇到几种故障的恢复策略主要是:
(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储的一致性状态。
(2)装入相应的日志文件副本,重做已完成的事物。