图书馆管理系统Word格式.docx
《图书馆管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
1需求分析4
1.1需求分析过程4
1.2数据字典5
2概念模式设计6
2.1实体6
2.2局部视图6
2.3视图集成8
3逻辑模式设计9
3.1将E-R图转化为关系模式9
3.2数据模型的优化9
4检验是否满足用户需求11
4.1调查用户需求11
5其它数据库对象(物理数据库设计)的考虑12
5.1建表12
5.2视图13
5.3触发器13
5.4索引14
图书管理系统
1需求分析
1.1需求分析过程
(1)流程
读者到图书借阅处查询图书,看看是否有满足读者要求的图书。
如果有满足读者要求的图书,查看该图书是否在馆,如果在馆,则图书管理员在系统记录读者信息并记录借出图书信息,如果不在馆,通知读者。
如果读者要求的图书无法提供,则通知读者无法满足。
(2)功能:
实现图书的查询,借入和归还功能,而且能保存记录。
(3)流程图:
读者借阅图书,系统查询图书是否在馆。
图书已借出,显示已借出;
未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。
1.2数据字典:
(1)数据项:
表1.1
数据项名含义说明数据类型长度与其他数据项的逻辑关系
读者编号读者相关信息整型10决定了要借阅的图书
读者姓名读者相关信息字符型6
读者性别读者相关信息字符型2
联系电话读者相关信息整型7
书名图书相关信息字符型20
作者图书相关信息字符型6
出版社图书相关信息字符型20
借书日期借书相关信息整型10
还书日期借书相关信息整型10
(2)数据结构:
表1.2
数据结构名含义说明组成
图书信息表定义了图书的相关信息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:
(2)管理员—管理—读者
1
n
图2-2管理员_读者关系E-R图
一个图书管理员可以管理多个读者信息(1:
一个读者信息只能被一个图书管理员管理(1:
1)
(3)管理员—管理—图书
图2-3管理员_书籍关系E-R图
一本图书可以被多个图书管理员管理(1:
一个图书管理员可以管理多本图书(1:
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、借阅(读者编号,ISBN,是否续借,借书日期,还书日期)
4、管理员_书籍(ISBN,添加时间,是否在馆)
5、管理员_读者(读者编号,确认借还)
3.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
优化后的关系模式如下:
表3.1图书信息表BOOK
字段名称数据类型长度约束属性
数据类型
长度
约束
描述
ISBNchar20NOTNULL主码
书名char50NOTNULL非主属性
作者char20NOTNULL非主属性
出版社char50非主属性
出版日期date非主属性
简介char200非主属性
表3.2读者信息表STUDENT
读者编号char20NOTNULL主码
读者姓名char10NOTNULL非主属性
读者性别char2NOTNULL非主属性
联系电话char10非主属性
违章状况char2非主属性
累计借书int非主属性
表3.3借阅关系表R-B
ISBNchar20NOTNULL外码
读者编号char20NOTNULL非主属性
借书日期dateNOTNULL非主属性
还书日期dateNOTNULL非主属性
是否续借char4NOTNULL非主属性
表3.4管理员_书籍表M-B
添加时间data非主属性
是否在馆char14非主属性
表3.5管理员_读者表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
(2),
借书累计int()
);
(3)借阅关系表R-B
CreateTableR-B
(ISBNchar(20)NotNull,
读者编号char(20)NotNull,
借书日期date()NotNull,
还书日期date()NotNull,
是否续借char(4)NotNull,
PrimaryKey(ISBN,读者编号),
ForeignKey(ISBN)ReferencesBOOK(ISBN),
ForeignKey(读者编号)ReferencesSTUDENT(读者编号)
(4)管理员_书籍表M-B
CreateTableM-B
添加时间date(),
是否在馆char(14),
PrimaryKey(工作号,ISBN),
ForeignKey(ISBN)ReferencesBOOK(ISBN)
(5)管理员_读者表M-S
CreateTableM-S
(工作号char(12)NotNull,
确认归还char(4)NotNull,
PrimaryKey(读者编号),
5.2视图
在性别为女的管理员信息表上建立工资视图ManagerWage
CreateviewManagerWage
As
Select姓名,性别,工资
Frommanager
Where性别=’女’;
5.3触发器
建立一个如果没人借书的话还书无效的触发器——
IfNotmrc.EOFThen
DoWhileNotmrc.EOF
cboItem
(1).AddItemTrim(mrc.Fields(0))
mrc.MoveNext
Loop
Else
MsgBox"
没人借书!
"
vbOKOnly+vbExclamation,"
警告"
cmdSave.Enabled=False
ExitSub
5.4索引
在图书信息表BOOK上建立唯一索引D-BOOKNAME
CreateuniqueindexD-BOOKNAMEONBOOK;
在图书管理员表MANAGER上建立唯一索引M-MANAGER
CreateuniqueindexM-MANAGERONMANAGER;