第24卷第3期
晋 中 学 院 学 报Vo l.24 No.32007年6月Jo urnal of Jinzhong University Jun. 2007
[收稿日期]2007-03-07
[作者简介]贾玉芳(1971-),女,山西和顺人,晋中学院计算机科学与技术学院,助理馆员;
王瑞华(1982-),女,山西忻州人,北京久其软件公司,职员.
中小型学校图书管理系统的设计与实现
贾玉芳1,王瑞华2
(1.晋中学院计算机科学与技术学院,山西晋中030600;2.北京久其软件公司,北京100006)
摘 要:图书管理系统是一些单位不可缺少的部分,对一些学校来说,尤其重要.该系统由
基础信息维护模块、流通管理模块、统计分析模块组成.实践证明该系统有着非常好的实用性.
关键词:图书管理系统;存储过程;设计
中图分类号:G250.7 文献标识码:B 文章编号:1673-1808(2007)03-0116-03
在知识快速增长的今天,图书馆应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理图书、期刊、试卷合订本等,这种管理方式存在着许多缺点.随着科学技术的不断提高,计算机科学日渐成熟,图书管理系统的计算机化,具有手工管理所无法比拟的优点.
本文论述的图书管理系统,是面向中小型学校的图书管理软件.它以D elphi 7.0为其前端应用程序的开发平台,以S QL Server 2000作为其后台数据库的建立和维护的工具.主要实现对读者、图书的信息档案管理和借书、还书等功能的自动化管理等.
1.图书管理系统的分析
1.1应用需求分析
图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员、图书馆管理人员的需求.图书借阅者的需求是查询图书馆所存的图书、个人借阅、归还情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者以及对图书进行管理和维护,系统状态的查看、维护并生成催还图书报表等.
1.2系统功能模块划分
系统功能的实现分为三大模块:基础信息维护模块、流通管理模块、统计分析模块.系统功能框图如图1所示.
系统功能模块划
分
图1 系统功能模块图
#
118#
(1)基础信息维护模块:主要用于管理读者和图书的相关信息.包括对读者类型设置、读者档案管理、借书证挂失与恢复等;对图书相关信息包括图书和期刊的类型设置、档案管理、注销等等.
(2)流通管理模块:这一模块是整个系统的核心也是功能实现的难点.主要是图书的借阅、归还、续借、预约、丢失、罚款等.
(3)统计分析模块:此模块又分三个小模块,电子检索室、报表打印和今日盘点.主要实现图书的电子检索,也包括对超期、预约、征订、注销的图书和期刊进行查询并打印报表,还包括其他的一些相关查询,如:读者借阅、归还的查询和今日借还的查询.这一模块主要是对数据进行统计分析,为图书管理人员的分析决策提供依据.做好本模块对整个系统起着画龙点睛的作用.
2.图书管理系统设计
2.1概念设计
将需求分析得到的信息进行分析加工,划分出各个实体以及属性.主要的实体有图书、读者、管理员等.图书的属性主要有编号、书名、类型、书架等;读者的属性主要有编号、姓名、性别、类型等;书架主要的属性主要有名称、位置.
2.2数据库的建立
由以上的需求分析和概念设计来设计相应的数据表,本图书管理系统主要设计有:读者类型表;读者档案表;图书类别表;图书档案表;图书借阅表;图书归还表;图书征订表;图书罚款表;书架表等.
2.3存储过程的建立:
根据系统的需要和存储过程的作用建立如下的三个存储过程,分别实现图书征订、借阅、归还后的数据库的自动修改.
(1)图书借阅存储过程:
CRE A TE proc sf图书借阅
as
begin tran
update图书信息set现存量=isnull(现存量,0)-1
from图书信息as a,图书借阅as b
where a.编号=b.图书编号and b.状态=.新借.
update读者信息set图书借阅次数=isnull(图书借阅次数,0)+1
from读者信息as a,图书借阅as b
where a.编号=b.读者编号and b.状态=.新借.
update图书借阅set状态=.未还.
where状态=.新借.
com mit
G O
(2)图书归还存储过程:
CRE A TE proc sf图书归还@借阅编号int,@罚款金额money
as
begin tran
update图书信息set现存量=isnull(现存量,0)+1
from图书信息as a,图书借阅as b
where a.编号=b.图书编号and b.借阅编号=@借阅编号
if@罚款金额<>0
insert into图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)
select图书编号,读者编号,C ON VERT(varchar(12),getdate(),111),
#
#
119
@罚款金额,0
from图书借阅where借阅编号=@借阅编号
insert into图书归还(图书编号,读者编号,归还时间)
select图书编号,读者编号,C ON VERT(varchar(12),getdate(),111)
from图书借阅where借阅编号=@借阅编号
update图书借阅set状态=.已还.where借阅编号=@借阅编号
com mit
G O
(3)图书征订存储过程:
CRE A TE proc sf图书征订
as
begin tran
update图书信息set库存总量=isnull(库存总量,0)+ b.订购数量,
现存量=isnull(现存量,0)+ b.订购数量,入库时间= b.验收日期
from图书信息as a,图书征订as b
where a.编号=b.图书编号and b.是否验收=0
update图书征订set验收日期=getdate(),是否验收=1
where是否验收=0
com mit
G O
3.系统的优点
(1)在设计窗体时采用了继承的方法.这样大大减少了设计的工作量,避免了重复工作而造成的时间浪费.
(2)在设计窗体时充分考虑到数据库的保护,避免用户操作不当产生对数据库的错误修改而导致系统错误.
(3)系统充分利用了SQL Sener2000存储过程这一优点,把图书征订、图书借阅和图书归还后的一系列操作编写为存储过程.由于存储过程存放在数据库服务器上和数据库在同一物理空间,操作数据库时,执行速度要快得多.
本系统是在经过详细的需求分析后才进行设计和开发的,实践证明该系统有着非常好的实用性.但是本系统在功能和运行上一定还存在不少的问题,愿和各位同行商榷.
[参考文献]
[1]周果宏等.Delphi程序设计第二版[M].北京:清华大学出版社,2001.
[2]袁鹏飞等.SQ L Serv er2000数据库系统管理第二版[M].北京:人民邮电出版社,2001.
[3]Micheal Jo hnsion.Microsoft Press Microso ft SQ L Server2000D TS Step by Step[M].北京:人民邮电出版社,2003.
(责任编辑申嫣平) #
#
120