图书馆管理系统课程设计报告
图书馆管理系统课程设计报告本文简介:图书馆管理系统课程设计报告课题名称:图书馆管理系统_班级:_10信息本___指导老师:_张宇敬____组别:_第五组____成员:武少帅闫晓军徐姗__李佳琳李雪__一、需求分析图书管理系统需要满足图书馆管理人员、读者等人的需求。图书馆管理人员对图书读者的借阅及还书要求进行操作,同时形成借书或还书报表
图书馆管理系统课程设计报告本文内容:
图书馆管理系统
课程设计报告
课题名称:图书馆管理系统_
班
级:_10信息本___
指导老师:_张宇敬____
组
别:_第五组____
成
员:武少帅
闫晓军
徐姗
__李佳琳
李雪__
一、需求分析
图书管理系统需要满足图书馆管理人员、读者等人的需求。图书馆管理人员对图书读者的借阅及还书要求进行操作,同时形成借书或还书报表给读者查看确认,还可通过图书编号、读者证号等查询相应的借阅情况及查看已归还的图书信息(即历史信息);图书读者的需求是查询图书馆所存图书的相关情况以及自己的相关信息和借阅情况。
读者根据本人借书证号和密码登录系统,可直接查看图书馆图书情况,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下.图书读者只应该查询和维护本人的借书情况和个人信息.若查询和维护其他读者的借书情况和个人信息.就要知道其他图书读者的借书证号和密码。本功能实现对馆内图书信息的查询。可以通过图书名称、作者的名字和出版社或者其它相关信息查询完整的图书信息,此查询可模糊查询也可精确查询。
图书馆管理人员可以实现对图书信息、读者信息、总体借阅情况信息的管理和统计。图书馆管理员可以查询、添加、删除、修改图书的基本信息。在此模块中,图书馆管理人员可以为读者加入借书记录或是还书记录,并生成相应的报表给用户查看和确认。图书馆管理人员可以浏览、查询、添加借阅图书的基本信息及删除已归还的图书的基本信息,但不能删除和修改已经借阅的图书相关信息,当删除某条图书借阅的基本信息记录时,应实现对该图书读者借阅记录的级联删除。本功能实现对图书信息的管理和统计。
(一)流程分析
1.系统主要流程分析
用户进入系统页面,根据身份进入相应的验证页面。图书馆管理人员输入用户名(工作证号)和密码登录管理系统,对图书信息、读者信息、总体借阅情况信息进行相应的管理。读者输入借书证号和密码登录图书系统,可进行图书信息查询、本人借阅情况查询、个人信息维护等操作。开始
管理系统
系统页面
读者系统
图
书信息
个人信息
借阅情况
图书信息
借阅情况
读者信息
系统功能流程图
2.
系统详细流程分析
管理人员流程分析:
1.图书资料维护管理:图书资料查询、图书资料维护
(1)图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:‘图书分类’、‘图书编号’、‘图书名称’、‘作者’、‘出版社’。
(2)图书资料维护:包括新书的入库,以及现有书籍资料的修改和删除。
图书资料维护管理
图书资料维护
图书资料查询
图书编号
作
者
图书名称
图书分类
出
版
社
新书的入库
修改和删除
管理人员流程(1)
2.读者资料维护管理:读者资料查询、读者资料维护
(1)读者资料查询:根据相应的读者资料进行所需查询。此查询包括:‘读者编号’、‘读者姓名’、‘读者种类’。
(2)读者资料维护:包括新读者的资料入库,以及现有读者资料的修改和删除。
读者资料维护管理
读者资料维护
读者资料查询
读者编号
读者种类
读者姓名
新读者的注册
修改和删除
管理人员流程(2)
3、借阅管理:包括借书管理、还书管理
(1)
借书管理:主要功能是记录借阅证号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括借阅证号、图书编号、图书名称、读者姓名、借阅数量、借出日期,并将图书数量随之相应减少。
(2)
还书管理:主要功能是输入借阅证号、图书编号,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。
借阅管理
还书管理
借书管理
借阅证号
借阅日期
图书编号
删除借书记录
插入还书记录
管理人员流程(3)
读者流程分析:
1.图书信息查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:‘图书分类’、
‘图书编号’、‘图书名称’、‘作者’、‘出版社’。
图书信息查询
图书编号
作
者
图书名称
图书分类
出
版
社
读者流程(1)
2.本人借阅情况查询:查看借阅历史,浏览、查询、统计借阅图书的基本信息,了解未还书的情况。
借书管理
借阅历史
未还书情况
借阅图书信息
读者流程(2)
3.个人信息维护:对个人姓名、性别、从属、联系电话、邮箱、登录密码等信息的修改和完善。
从属
性别
个人姓名
个人信息维护
读者流程(3)
二、概念结构设计
概念结构设计独立于数据库逻辑结构,也独立于支持数据库的DBMS,它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体和实体之间联系,同时又易于向关系数据模型转换,它是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见。使用户易于参与,当现实世界需求改变时,概念结构又可以很容易地做相应调整。因此概念结构设计是整个数据库设计的关键所在。
利用ER图进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
(一)E-R图如下:
联系电话
管理员
姓名
密码
工作证号
性别
管理员信息实体
E-R
图
读者
性别
读者姓名
从属
借阅证号
备注
密码
邮箱
编号
读者信息实体
E-R
图
类别
出版日期
书籍
数量
出版社
价格
书名
图书编号
作者
剩余数量
书籍信息实体
E-R
图
借阅日期
过期天数
借阅信息
图书编号
读者姓名
书名
借阅证号
归还日期
借阅数量
借阅信息实体ER图
总ER图
(二)实体的属性分别为:
图书(图书编号,书名,作者,出版社,价格,类别,数量,出版日期,剩余数量)
管理人员(工作证号,名字,性别,密码,联系电话)
读者(借阅证号,编号,登录密码,姓名,性别,联系电话,邮箱,从属)
借阅(图书编号,借阅证号,读者姓名,书名,借阅数量,借阅日期,归还日期,过期天数)
三、逻辑结构设计
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器,更抽象,从而更加稳定。但为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。
(一)E/R图向数据模型转换主要有以下几种情况
1.一个实体型转化为一个关系模式。实体的属性就是关系的属性,实质的码就是关系的码。
2.一个1:1联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转化为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均为该关系的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
3.一个1:N联系可以转化为一个独立的关系模式,也可以与N端对应的模式合并。如果转化为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转化为关系的属性,而关系的码为N端实体的码。
4.一个M:N联系转换为一个关系模式与该联系相连的各实体的码,以及联系本身的属性均转化为关系的属性。而关系的码为各实体码的组合。
(二)通过
E/R
模型到关系模型的转化,可以得到如下关系模式
图书(图书编号,书名,作者,出版社,价格,类别,藏处,数量,出版日期,剩余数量)
管理人员(工作证号,名字,性别,密码,联系电话)
读者(借阅证号,编号,登录密码,姓名,性别,联系电话,邮箱,备注)
借阅(图书编号,借阅证号,读者姓名,书名,借阅数量,借阅日期,归还日期,过期天数)
每个关系模式的主属性都用下划线标出。
(1)图书编号是图书的主码,每本书有唯一的图书编号,一个读者可以同时借阅多本书,一个管理员可以处理多个读者的借阅事宜。
(2)同一本书可以借给不同的同学,同一个读者可以再次借同一本书,于是借书关系的主码为借阅证号和图书编号的组合。(3)要知道图书当前的状态,是在图书馆存放还是被借阅,需要在图书的模式中增加对应项用以表示图书当前的状态,现在增加
剩余数量
项。
(三)数据库及表结构的创建
设本系统使用的数据库名为图书管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在
SQL
Server
2005
数据库系统中实现这些逻辑结构。
下面是创建基本表的
SQL
语句:
create
table
读者信息(
borrownumber
char(10)
not
null
primary
key,number
char(10)
not
null,password
char(10)
not
null,mname
char(30)
not
null,sex
char(5),class
char(50),email
char(50),remark
char(100),)
create
table
管理人员信息(
worknumber
char(10)
not
null
primary
key,password
char(10)
not
null,mname
char(30)
not
null,sex
char(5),telephone
char(11),)
create
table
借阅图书信息(
booknumber
char(10)
not
null
primary
key,borrownumber
char(10)
not
null
primary
key,rname
char(30)
not
null,bookname
char(50)
not
null,borrowamount
char(10)
not
null,
borrowtime
datetime
not
null,returntime
datetime,overtime
char(5),)
create
table图书信息(
booknumber
char(10)
not
null
primary
key,bookname
char(50)
not
null,writer
char(30)
not
null,publishplace
char(50)
not
null,price
float
not
null,category
char(30)
not
null,amount
tinyint
not
null,publishtime
datetime,remainderamoun
tinyint
not
null,)
四、物理结构设计
数据库在物理设备上的存储结构与存取方法成为数据库的物理结构,它依赖
于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。以下就是在关系模式的基础上,由优化后的关系模型转化为合理的物理存储结构,基本信息表如下表所示。
数据库的物理设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间的效率。评价结果满足原设计要求,可进入到物理实施阶段。
图书基本信息存放在bookinfo
表中;用户基本信息存放在readerinfo
表中,位置是
LIB;管理员基本信息存放在
managerinfo
表中;借阅基本信息存放在borrowinfo表中。在对时间效率、空间效率、维护代价和各种用户要求进行权衡之后,选择了一个较优的方案作为数据库的物理结构,该结构符合用户需求。
列名
数据类型
是否允许空
borrownumber
nchar(10)
否
number
nchar(10)
否
password
nchar(10)
否
rname
nchar(10)
否
sex
nchar(30)
是
class
nchar(5)
是
nchar(50)
是
remark
nchar(100)
是
表3.1读者基本信息表
列名
数据类型
是否允许空
worknumber
nchar(10)
否
password
nchar(10)
否
mname
nchar(30)
否
sex
nchar(5)
是
telephone
nchar(11)
是
表3.2
管理人员基本信息表
列名
数据类型
是否允许空
booknumber
nchar(10)
否
borrownumber
nchar(10)
否
rname
nchar(30)
否
bookname
nchar(50)
否
borrowamount
nchar(10)
否
borrowtime
datemine
否
returntime
datemine
是
overtime
nchar(5)
是
表3.3借阅图书信息表
列名
数据类型
是否允许空
booknumber
nchar(10)
否
bookname
nchar(50)
否
writer
nchar(30)
否
publishplace
nchar(50)
否
price
float
否
category
nchar(30)
否
amount
tinyint
否
publishtime
detetime
是
remainderamount
nchar(10)
否
表3.4
图书信息表