高校图书馆管理系统数据库设计.docx
《高校图书馆管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《高校图书馆管理系统数据库设计.docx(48页珍藏版)》请在冰豆网上搜索。
![高校图书馆管理系统数据库设计.docx](https://file1.bdocx.com/fileroot1/2023-6/23/5e6772ff-2146-4498-ac2b-fd480e62f715/5e6772ff-2146-4498-ac2b-fd480e62f7151.gif)
高校图书馆管理系统数据库设计
图书管理系统数据库设计
学号:
专业班级:
姓名:
指导教师:
完成日期:
摘要
在计算机日益普及的今天,对个人而言假设采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。
为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,到达提高图书借阅信息管理效率的目的。
采用数据库技术生成的图书馆借阅管理系统将会极方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。
基于这个问题,开发了大学图书馆借阅系统。
系统采用C/S模式,实现了借还书的方便、高效性、有效性和及时性。
本文通过作者设计和开发一个中小型高校图书馆管理系统的实践,阐述了高校图书管理软件中所应具有的根本功能、设计、实现。
关键字:
图书借阅;人员管理;图书维护;
1.引言
随着社会信息量的与日俱增,职场竞争的日趋剧烈,越来越多的人更关注知识的积累、能力的培养。
作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不管个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言假设采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。
因此往往是投入了大量的人力和财力却得不到高效的管理效率。
为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而到达提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。
本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。
在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原那么。
采用构造化的功能模块设计系统功能,可读性好,易于扩大。
根本功能全面,系统可读性好,易于维护、更新,平安性好。
2.需求分析阶段
2.1引言
进展系统设计,首先要对系统的现状进展分析。
根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而到达一个合理的优化系统。
每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比拟方便和灵活。
随着社会的开展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而到达系统化、规化、标准化的水平。
该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
需求分析是在于要弄清用户对开发的数据库应用系统确实切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。
明确目的之后,就可以确定您需要保存哪些主题的信息〔表〕,以及每个主题需要保存哪些信息〔表中字段〕。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了四个局部:
图书维护,人员信息管理,图书借阅管理,信息查询。
能够实现以下功能:
进展新书入库、现有图书信息修改以及删除;
②能够实现对读者根本信息的查询和编辑管理;
③能够进展超期罚款功能;
④能够进展借阅信息的查询功能;
2.2需求分析阶段的目标与任务
2.2.1处理对象
读者信息:
读者编号,,性别,学号,学院,专业,年级,类型,类别编号,
办证日期
管理员信息:
管理员编号,,性别,权限,登录口令,住址,
馆藏图书信息:
图书编号,索书号,图书名称,作者,,单价,摘要,关键字,副本数,分类,出版日期,状态
借阅信息:
图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金
借阅历史信息:
图书编号,读者编号,图书名,作者,借阅日期,还书日期
罚款信息:
读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号
2.2.2处理功能及要求
1.能够存储一定数量的图书信息,并方便有效的进展相应的书籍数据操作和管理,这主要包括:
1)图书信息的录入、删除及修改。
2)图书信息的多关键字检索查询。
3)图书的出借、返还及超期罚款或丧失赔偿。
2.能够对一定数量的读者、管理员进展相应的信息存储与管理,这其中包括:
1)读者信息的登记、删除及修改。
2〕管理员信息的增加、删除及修改。
3)读者资料的统计与查询。
3.能够提供一定的平安机制,提供数据信息授权访问,防止随意删改、查询。
4.对查询、统计的结果能够列表显示。
2.2.3.平安性和完整性要求
1〕平安性要求
系统平安性要求表达在数据库平安性、信息平安性和系统平台的平安性等方面。
平安性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的平安性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的平安性;系统平台的平安性表达在操作系统的平安性、计算机系统的平安性和网络体系的平安性等方面。
2〕完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.3需求分析阶段成果
2.3.1体会与收获
系统需求分析主要是通过对本校图书管理员的咨询、请教,了解我校图书馆的管理规那么和运行机制,并通过上网搜索有关图书管理系统的知识,了解到了图书管理的现状,以及在管理中的一些问题。
由于是第一次做这样的需求调查,开场总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过教师的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。
2.3.2图书管理系统业务流程图
从读者角度考虑的业务流程图:
2.3.3图书管理系统数据流程图
顶层数据流图:
第2层数据流图:
〔读者借阅,读者还书,读者查询,管理员查询,管理员修改〕
第3层数据流图:
〔读者借阅〕
第3层数据流图:
〔读者还书〕
第3层数据流图:
〔查询图书信息,查询读者信息,查询借阅历史,查询罚款信息〕
第3层数据流图:
〔管理员添加、删除、修改图书信息〕
第3层数据流图:
〔管理员添加、删除、修改读者信息〕
第3层数据流图:
〔管理员添加、删除、修改系统用户信息〕
2.3.4图书管理系统数据字典
〔a〕数据项:
系统涉及的数据项有44项
表1.1数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储构造
别名
DI-1
BookID
图书条码号
char(9)
条码号
DI-2
BookNo
图书索书号
char(10)
索书号
DI-3
BookName
图书名
char(20)
书名
DI-4
BookWriter
图书作者
char(8)
作者
DI-5
BookPublish
图书
char(20)
DI-6
BookPrice
图书单价
char(7)
单价
DI-7
BookDate
图书出版日期
Date
出版日期
DI-8
BookClass
图书分类
char(20)
类别
DI-9
BookMain
图书摘要
char(200)
摘要
DI-10
BookPrim
图书关键字
char(30)
关键字
DI-11
BookCopy
图书副本数
char(5)
副本数
DI-12
BookState
图书是否可借
char(10)
状态
DI-13
BookRNo
所属馆室号
同RoomNo
char(5)
馆室号
DI-14
ReaID
读者条码号
char(9)
条码号
DI-15
ReaName
读者
char(10)
DI-16
ReaSex
读者性别
char
(2)
性别
DI-17
ReaNo
读者学号
char(9)
学号
DI-18
ReaLBID
读者类别编号
同LBID
char(5)
类别编号
DI-19
ReaType
读者类型〔职务〕
char(20)
类型
DI-20
ReaDep
读者所在学院
char(20)
学院
DI-21
ReaGrade
读者所属年级
char(5)
年级
DI-22
ReaPre
读者所读专业
char(20)
专业
DI-23
ReaDate
读者办证时间
Date
办证时间
DI-24
OutDate
借阅日期
Date
借阅时间
DI-25
InDate
归还日期
Date
归还时间
DI-26
YHDate
应还日期
Date
应还时间
DI-27
Fine
罚款金额
char(3)
罚款金额
DI-28
CLState
是否交纳罚金
char(8)
处理状态
DI-29
LBID
类别编号
同ReaLBID
char(5)
类别编号
DI-30
LBName
读者类别名
char(20)
类别名
DI-31
LBnum
允许最多借书数量
char(5)
借阅数量
DI-32
LBbqx
允许最长持有时间
char(4)
借阅期限
DI-33
LBqx
借阅卡有效期
char(3)
有效期限
DI-34
MID
管理员编号
同RoomMID
char(10)
编号
DI-35
MName
管理员
char(10)
DI-36
MSex
管理员性别
char
(2)
性别
DI-37
Mpwd
管理员口令
char(8)
口令
DI-38
MAuth
管理员权限级别
char(4)
权限级别
DI-39
MTeleph
管理员
char(15)
DI-40
MAddre
管理员地址
char(30)
住址
DI-41
RoomNo
馆室号
同BookRNo
char(5)
馆室号
DI-42
RoomMID
馆室管理员编号
同MID
char(10)
编号
DI-43
RoomNum
馆室图书数目
char(5)
数量
DI-44
RoomAddre
馆室地址
char(20)
地址
〔b〕数据构造:
表1.2数据构造列表
数据结
构编号
数据构造名
数据构造
含义
组成
DS-1
Book
馆藏图书信息
BookID,BookNo,BookName,BookWriter,
BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,
BookRNo
DS-2
Reader
读者信息
ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate,
DS-3
Borrow
借阅信息
BookID,ReaID,BookName,BookWriter,Outdate,YHdate
DS-4
History
借阅历史
BookID,ReaID,BookName,BookWriter,Outdate,Indate
DS-5
Fine
罚款信息
BookID,ReaID,BookName,Outdate,Indate,Fine,CLState,MID
DS-6
ReaderType
读者类别
LBID,LBName,LBnum,LBbqx,LBqx
DS-7
Maneger
管理员信息
MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre
DS-8
Room
馆室信息
RoomNO,RoomMID,RoomNum,RoomAddre
2.3.5处理逻辑描述
表1.3处理逻辑列表
处理编号
处理功能
处理过程
PR-1
判断读者查询涉及的功能模块
馆藏图书信息模块、读者信息模块、读者类别信息模块、借阅信息模块、借阅历史信息模块、罚款信息模块、管理员模块、馆室信息模块:
先确定查询所涉及的功能模块;然后,根据要查询的容,确定查询数据流向;最后显示查询结果。
PR-2
判断图书、读者修改要涉及的模块,同时把相应的修改数据传到相应的模块之中
馆藏图书信息模块、读者信息模块、读者类别信息模块、管理员信息模块、馆室信息模块:
先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进展相应的更新操作。
3概念设计阶段
3.1引言
系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而到达提高图书管理效率的目的。
主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息的根本信息的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息构造(概念模型)的过程,它是整个数据库设计的关键。
3.2任务与目标
〔1〕选择中层数据流为切入点,通常选择实际系统中的子系统;
〔2〕设计分E-R图,即各子模块的E-R图;
〔3〕生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
〔4〕生成全局E-R图,通过消除冲突等方面。
在本图书管理系统中,从第3层数据流程图下手。
分析各3层数据流图和数据字典,知道整个系统功能围绕“读者〞、“管理员〞和“图书〞的处理。
根据实体与属性间的两条准那么:
作为“属性〞,不能再具有需要描述的性质。
“属性〞不能与其他实体具有联系。
数据流程图2.4、图2.5、图2.6可综合成借阅子系统的分E-R图3.1,数据流程图2.7可抽象为分E-R图3.2,数据流程图2.8可抽象为分E-R图3.3,数据流程图2.9可抽象为分E-R图3.4。
然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了根本E-R图3.5。
3.3阶段结果
〔1〕根据不同的对象,从第3层数据流程图入手,分别画出各分E-R图:
〔a〕从数据流程图图(三)与图(四)抽象出的分E-R图:
〔c〕从数据流程图图(六)抽象出的分E-R图:
〔d〕从数据流程图图(七)抽象出的分E-R图:
〔e〕从数据流程图图(八)抽象出的分E-R图:
〔2〕合并各分E-R图,消除属性冲突、命名冲突、构造冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的根本E-R图如下所示:
〔3〕各E-R图各实体的属性如下所示:
图书:
Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRN)
读者:
Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate)
管理员:
Maneger(MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)
馆室:
Room(RoomNo,RoomMID,RoomNum,RoomAddre)
读者类别:
ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx)
各E-R图中联系的属性如下所示:
借阅信息:
Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,YHdate)
借阅历史:
History(BookID,ReaderID,BookName,BookWriter,Outdate,Indate)
罚款信息:
Fine(BookID,ReaderID,BookName,Outdate,Indate,Fine,CLState,MID)
4.逻辑设计阶段
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的根本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑构造。
具体容包括数据组织〔将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计〕、数据处理〔画出系统功能模块图〕两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系那么有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,那么与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
具有一样码的关系模式可合并。
由于读者类别与读者、馆室与图书的联系方式是1:
n〔一对多〕,可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:
n〔一对多〕,同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式那么是n:
m〔多对多〕,这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:
n〔多对多〕,将其联系也转化成独立的关系模式,具体的根本E-R图向关系模型的转化如下:
图书:
Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,
BookRNo)
读者:
Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate)
管理员:
Maneger(MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)
读者类别:
ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx)
馆室:
Room(RoomNo,RoomMID,RoomNum,RoomAddre)
借阅信息:
Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,YHdate)
借阅历史:
History(BookID,ReaderID,BookName,BookWriter,Outdate,
Indate,YHdate)
罚款信息:
Fine(BookID,ReaderID,BookName,Outdate,Indate,Fine,CLState,MID)
〔注:
标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码〕
4.2.2模型优化
关系模式Book,Reader,Room,ReaderType,Maneger不存在非主属性对主属性的局部函数依赖,也不存在传递函数依赖,已经到达了3NF,但是借阅关系模式、借阅历史关系模式、罚款关系模式〔Borrow,History,Fine〕中存在着一些数据冗余,现将三个关系模型进展合并,消除冗余,优化为:
借阅信息:
Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,Indate,
YHdate,Fine,CLStaer,MID)
4.2.3数据库模式定义
表2.1馆藏图书信息表
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书编号
BookNo
Char
notnull
图书的索书号
BookName
Char
notnull
图书的书名
BookWriter
Char
notnull
图书作者
BookPulish
Char
notnull
图书
BookPrice
Char
图书的单价
BookDate
Date
出版日期
BookClass
Char
图书的分类
BookMain
Char
图书的摘要
BookPrim
Char
图书的关键字
BookCopy
Char
图书的副本数
BookState
Char
notnull
图书是否可借
BookRNo
Char
notnull
图书所在馆室号
表2.2读者信息表
列名
数据类型
可否为空
说明
ReaID
Char
notnull
读者编号
ReaName
Char
notnull
读者
ReaSex
Char
notnull
读者性别
ReaNo
Char
notnull
读者学号
ReaLBID
Char
notnull
读者类别编号
ReaType
Char
读者类型
ReaDep
Char
读者所在学院
ReaPref
Char
读者所属专业
ReaGrade
Char
读者的年级
ReaDate
Date
notnull
办证日期
表2.3管理员信息表
列名
数据类型
可否为空
说明
MID
Char
notnull
管理员编号
MName
Char
notnull
管理员
MSex
Char
管理员性别
Mpsw
Char
notnull
管理员密码
MAuth
Char
notnull
管理员权限
MTeleph
Char
管理员
MAddre
Cha