图书馆管理系统课程设计1.docx
- 文档编号:4146266
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:17
- 大小:206.01KB
图书馆管理系统课程设计1.docx
《图书馆管理系统课程设计1.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统课程设计1.docx(17页珍藏版)》请在冰豆网上搜索。
图书馆管理系统课程设计1
数据库课程设计
图书管理系统
学院:
信息科学与工程学院
专业:
计算机科学与技术
班级:
计0804
小组成员:
指导教师:
蔡卫东
20010年6月13日
图书馆管理系统
第一部分需求分析
第一、用户调查需求
本系统的最终用户为学校的学生老师以及对学校图书馆进行管理工作的工作人员,我们根据从学校方面取得的图表资料、文字资料以及其他细节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求:
图书管理系统需要满足来自三个方面的需求,这三个方面分别是读者、图书馆工作人员和图书馆管理人员。
一、读者
1.在图书管理系统中,图书馆工作人员要为每个读者建立借阅账户,并给读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。
2.持有借阅卡的读者可以通过管理员借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。
3.借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。
然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。
最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。
4.归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。
如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。
然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。
二、图书馆工作人员
图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。
在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录。
三、图书馆管理人员
1.图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。
本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。
2.图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息。
3.浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。
并且还应具有生成催还图书报表,并打印输出的功能。
第二、图书关系系统数据流图
读者ID号
借书证号
书号
信息
查询结果
查
看
要阅
求读
信
息
添加查询
删除浏览
修改统计
图书图书
第三、数据字典
readertype读者类别信息表
列名
数据类型
可否为空
说明
typeno
varchar
NOTNULL
类别编号
typename
varchar
NOTNULL
类别名称
booknumber
numeric
NULL
借书数量
Bookdays
numeric
NULL
借书期限
userfullife
numeric
NULL
有效有限
memo
text
NULL
备注
readers读者信息表
列名
数据类型
可否为空
说明
readerno
varchar
NOTNULL
读者编号
readername
varchar
NOTNULL
读者姓名
readersex
varchar
NULL
读者性别
readertype
varchar
NULL
读者类别
readerdep
varchar
NULL
工作单位
address
varchar
NULL
家庭地址
readertel
varchar
NULL
电话号码
varchar
NULL
电子邮件地址
checkdate
datetime
NULL
登记日期
readermemo
varchar
NULL
备注
books书籍信息表
列名
数据类型
可否为空
说明
bookkid
varchar
NOTNULL
书籍编号
bookname
varchar
NOTNULL
书籍各称
booktype
varchar
NULL
书籍类别
bookauthor
varchar
NULL
书籍作者
bookpub
varchar
NULL
出版社名称
bookpubdate
varchar
NULL
出版日期
bookpages
numeric
NULL
书籍页码
bookkeyword
varchar
NULL
关键词
bookindate
datetime
NULL
登记日期
putup
varchar
NULL
是否被借出
bookmemo
text
NULL
备注
booktype书籍类别信息表
列名
数据类型
可否为空
说明
booktypeno
varchar
NULL
类别编号
typename
varchar
NOTNULL
类别各称
keyword
varchar
NOTNULLL
关键词
memo
test
NOTNULL
备注
borrowinfo借阅信息表
列名
数据类型
可否为空
说明
borrowno
varchar
NOTNULL
借阅编号
readerid
varchar
NOTNULL
读者编号
readername
varchar
NOTNULL
读者姓名
bookid
varchar
NOTNULL
书籍编号
bookname
varchar
NULL
书籍名称
borrowdate
datetime
NULL
借出日期
returndate
datetime
NULL
还书日期
memo
text
NULL
备注信息
第二部分概念结构设计
根据需求分析中画出的图书馆管理系统的第一层数据流图,可以看出在图书馆管理中一切活动都以读者,图书馆管理人员,图书普通工作人员三类人员为核心。
比如图书的借出与归还是以图书馆工作人员跟读者为核心的,而新的图书的录入以及旧书的删除则是图书馆管理人员的工作。
图书管理系统概念结构
以图书管理系统的第一层数据流图为基础,接下来对于各个稍微复杂的处理过程进行细化,画出其具体数据流图,从而抽象出E-R图,为进一步的逻辑设计打下基础。
而在本系统的第一层数据流图中,检查项目处理和检验项目处理的数据比较简单,可以很简单的找出其关系表,不再进行细化分析。
另外几个处理过程的具体数据流图如下:
·分数据流图分析
(1)自助查询
本子系统是用于不熟悉的读者进行查询之用,可进行图书资料的查询,个人借书信息查询等。
查询中需要的信息有很多,但是并非所有的都需要用数据库查询来完成,对于图书馆概况、建筑物布局和名称等数据并不需要用数据库来完成,而对于图书资料信息以及是否在馆由数据库来完成。
类似这里有两个常用的查询:
(a)个人借书情况查询;(b)查询要借的书籍的信息。
(2)读者借书以及还书
读者根据自己的读者ID号借书,还书。
(如果没有读者ID号的话就要先由图书馆管理员进行注册)
·相应实体分析及E-R图设计
根据上面给出的数据流图,可以规划出实体的设计:
读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。
读者类别信息实体的E-R图
读者信息实体的E-R图
书籍类别信息实体的E-R图
书籍信息实体的E-R图
借阅信息实体的E-R图
实体之间关系的E-R图
(注:
由于空间所限E-R图中只给出了实体的部分属性,详细的属性信息在实体及相应属性中给出。
)
●实体及相应的属性
读者类别(类别编号、类别名称、借书数量、借书期限,有效期限、备注)
读者(读者编号、读者姓名、读者类别、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注)
书籍类别(类别编号、类别名称、关键字、备注信息)
书籍(书籍编号、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息)
借阅(借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书信息、备注信息)
●联系说明及其相应属性:
读者与图书间有借阅关系,
借阅(借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书信息、备注信息)
如果读者未在规定时间内还书,图书馆管理员还会对读者开罚单,只有交清了罚款,读者才可以继续借书。
第三部分逻辑结构设计
在概念设计的基础上,根据设计得到系统总的E-R图,按照概念模式与关系表转化的一般规则,结合实际的需要进行逻辑设计,E—R图中的实体、实体的属性和实体之间的联系转化为关系模式。
最后生成的关系及关系表如下(同时附优化说明):
1.具体关系表的设计及优化说明
1.读者类别(类别编号、类别名称、借书数量、借书期限,有效期限、备注)
说明:
读者不止是学生,还有教职工。
学生又可以分为研究生,本科生;教职工又可以分为教课的教师和一般的职工。
他们可以借书的数量,日期,续借次数等都是不同的。
所以要有读者类别这一实体。
2.读者(读者编号、读者姓名、读者类别、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注)
说明:
读者的属性:
类别编号、类别名称、借书数量、借书期限,有效期限均可由读者类别推出,故可将他们删除。
3.书籍类别(类别编号、类别名称、关键字、备注信息)
说明:
书籍分类更便于管理,因此为了避免信息的冗余可以将书籍类别中相关信息单拉出来新建一个书籍类别表。
4.书籍(书籍编号、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息)
说明:
书籍的属性:
类别编号、类别名称、关键字均可由书籍类别推出,故可将他们删除。
5.借阅(借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书信息、备注信息)
说明:
借书和还书都是读者与图书间的关系,这两个表中存在太多相同的信息可以将他们合并为借阅表。
6.系统用户(用户名,密码)
2.设计用户子模式
在将概念模型转化为全局逻辑模型后,根据图书管理系统的局部应用需求,以下设计用户子模式:
●考虑需求
考虑以下的几个需求:
1)管理员查阅读者借阅信息
2)管理员维护借阅者信息
3)管理员维护书籍信息
4)读者查阅其用户信息
5)读者查阅借阅信息
●定义用户级别
对读者,管理员的级别定义如下:
.
1)管理员:
对所有表的所有内容都有查看的权限
2)读者可以查看自己信息,并进行修改,查看读书在馆情况,以及自己借书情况。
3)借阅者能够借阅图书、归还图书、查询借阅信息等
4)管理员能够注册借阅证、注销借阅证、添加图书、删除图书、添加用户、删除用户等
●制作查询子系统:
根据分析需求,我们设计了以下几个子系统:
◆读者类别信息子系统
◆读者信息子系统
◆书籍信息子系统
◆书籍类别信息子系统
◆借阅信息子系统
◆系统用户子系统
第四部分物理结构设计
一、建立索引的依据:
所谓选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引要设计为唯一索引等。
根据本信息系统的具体情况,建立索引的依据如下:
1、一个属性经常在查询条件下出现。
2、一个属性经常作为最大值或最小值等聚集函数的参数。
3、一个属性经常在连接操作的连接条件出现。
二、确定数据库的存储结构
本部分主要是确定数据库物理结构,即确定数据的存放位置和存储结构,包括确定关系、
索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
在综合考虑存取时间、存储空间利用率和维护代价三方面的因素下,经过权衡,确定下数据的存放位置和存储结构。
1.确定数据的存放位置
为了提高系统的性能,根据应用情况将数据的易变部分与稳定部分、经常存取部分与
存取效率较低部分分开存放。
考虑到目前许多计算机都有多个磁盘,因此将表(如药库子系统表)和索引放在不同的磁盘上,在查询时,两个磁盘驱动器并行工作,可以大大提高I/O读写的效率;而对于较大的表(如门诊子系统的表)则分放在两个磁盘上,这样可以加快存取速度,在多用户环境下的作用更有效;为了改进系统的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。
2、确定系统配置
在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些系统配置变量、存储分配系数,并对这些变量赋予了合理的缺省值。
但是这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善系统的性能。
对系统配置的变量,例如:
同时使用数据库的用户数,同时打开的数据库对象数,内存分配参数,缓冲区分配参数(使用的缓冲区长度、个数),存储分配参数,物理块的大小,物理块装填因子,时间片大小,数据库的大小,锁的数目等。
这些参数值直接影响存取时间和存储空间的分配,在物理设计时应根据应用环境确定这些参数值,以使系统性能最佳。
第五部分数据库实施
一、表的建立:
createtablereadertype
(typenovarcharNOTNULLprimarykey,
TypenamevarcharNOTNULL,
BooknumbernumericNULL,
BookdaysnumericNULL,
UserfullifenumericNULL,
MemotextNULL,
);
Createtablereaders
(readernovarcharNOTNULLprimarykey,
ReadernamevarcharNOTNULL,
ReadersexvarcharNULL,
ReadertypevarcharNULL,
ReaderdepvarcharNULL,
AddressvarcharNULL,
ReadertelvarcharNULL,
EmailvarcharNULL,
CheckdatedatetimeNULL,
ReadermemovarcharNULL,
);
Createtablebooks
(bookkidvarcharNOTNULLprimarykey,
BooknamevarcharNOTNULL,
BooktypevarcharNULL,
BookauthorvarcharNULL,
BookpubvarcharNULL,
BookpubdatevarcharNULL,
BookpagesnumericNULL,
BookkeywordvarcharNULL,
BookindatedatetimeNULL,
PutupvarcharNULL,
BookmemotextNULL,
);
Createtablebooktype
(booktypenovarcharNULL,
TypenamevarcharNOTNULLprimarykey,
KeywordvarcharNOTNULL,
MemotextNOTNULL,
);
Createtableborrowinfo
(borrownovarcharNOTNULL,
ReaderidvarcharNOTNULLprimarykey,
ReadernamevarcharNOTNULL,
BookidvarcharNOTNULLprimarykey,
BooknamevarcharNULL,
BorrowdatedatetimeNULL,
ReturndatedatetimeNULL,
MemotextNULL,
);
二、索引的建立:
Createindexreadertype_indexonreadertype(typeno);
Createindexreaders_indexonreaders(readerno);
Createindexbooks_indexonbooks(bookkid);
Createindexbooktype_indexonbooktype(booktypeno);
Createindexborrowinfo_reader_indexonborrowinfo(Readerid);
Createindexborrowinfo_book_indexonborrowinfo(Bookid);
三、数据查询:
1、查询表books中的bookauthor列
2、返回整个readers表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 课程设计