图 书 管 理 系 统毕业设计.docx
《图 书 管 理 系 统毕业设计.docx》由会员分享,可在线阅读,更多相关《图 书 管 理 系 统毕业设计.docx(28页珍藏版)》请在冰豆网上搜索。
图书管理系统毕业设计
摘要
随着科学技术的迅速发展,图书馆管理工作的自动化锁需的软硬件条件已经成熟。
因此,我安照软件思想和管理信息系统的开放步骤,一图书馆的应用需求为背景,设计开放了本图书馆管理系统。
图书管理系统是典型的信息管理系统。
本论文介绍了在环境下开放本系统的详细过程,提出实习图书馆信息管理、资源共享的基本目标,从而推动迈进数字化图书馆的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查阅浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。
关键词:
图书管理数据查阅
目录
一、项目需求与分析…………………………………………………………………………4
二、图书管理项目设计…………………………………………………………………………4
2.1表的设计………………………………………………………………………………5
2.2书籍信息表的设计……………………………………………………………………5
2.3书籍类别信息表的设计………………………………………………………………5
2.4管理员信息表的设计……………………………………………………………………5
2.5借还记录信息表的设计………………………………………………………………5
三、数据库系统的实现…………………………………………………………………………6
3.1表的实现………………………………………………………………………………6
3.2视图的实现……………………………………………………………………………8
四、存储过程的实现…………………………………………………………………………10
五、触发器的实现………………………………………………………………………………17
六、系统功能的实现……………………………………………………………………………20
七、软件调试及运行结果分析…………………………………………………………………26
毕业设计总结……………………………………………………………………………………29
致谢………………………………………………………………………………………………30
一、项目需求与分析
我院图书馆的要求就是藏书全部开放,师生共享、开架借阅。
它充分发挥了图书馆的功效,最大限度地为师生服务,这也是图书馆自动化管理的最终目标。
实现这一目标,必须有现代化的管理手段和管理体制。
各地教育主管部门也都逐步提出学院要采用图书信息管理系统,从而实现人工管理做不到的一些功能并发挥图书馆的最大效益。
而随着越来越多的学院采用了现代化的管理软件进行管理,进一步提升了学院管理的现代化水平,从而在竞争中处于有利位置,也对其他兄弟学校起到了示范和促进作用。
我院图书管理系统总的实现目标是:
建立以馆藏目录为基础的机读书目数据库;实现馆内采购、编目、流通、文献检索等信息化管理;建立图书馆动态网站;接入校园网为广大师生及时提供馆内的最新信息。
长期的目标还要实现直接浏览电子图书以及各馆间的图书互借等。
二、图书管理项目设计
根据项目需求分析,得出本系统的E-R模型如下:
2.1表的设计
读者信息表定义如下:
表中列名
数据类型
可否为空
说明
借书证号
Varchar(10)
notnull(主键)
读者借书证号
读者姓名
Varchar(10)
notnull
读者姓名
读者性别
Varchar
(2)
notnull
读者性别
读者种类
Varchar(10)
notnull
读者种类
登记日期
Datetime
null
登记日期
可借书数
int
Nullcheck<6
可借书数
已借书数
int
null
已借书数
2.2书籍信息表的设计
书籍信息表定义如下:
表中列名
数据类型
可否为空
说明
书籍编号
Varchar(10)
Notnull(主键)
书籍编号
书籍名称
Varchar(30)
Notnull
书籍名称
书籍类别
Varchar(20)
Notnull
书籍类别
登记日期
Datetime
Null
登记日期
是否被借出
Varchar(10)
NotNull
是否被借出
2.3书籍类别信息表的设计
书籍类别信息表的定义如下:
表中列名
数据类型
可否为空
说明
书籍编号
Varchar(10)
notnull(主键)
种类编号
书籍类别
Varchar(20)
notnull
书籍类别
2.4管理员信息表的设计
管理员信息表的设计定义如下:
表中列名
数据类型
可否为空
说明
管理员编号
Varchar(10)
notnull(主键)
管理员编号
管理员姓名
Varchar(10)
notnull
管理员姓名
管理员密码
Varchar(10)
notnull
管理员密码
管理员权限
Varchar(50)
notnull
管理员权限
2.5借还记录信息表的设计
借还记录信息表的设计定义如下:
表中列名
数据类型
可否为空
说明
借书证编号
Varchar(10)
Notnull(外键)
读者借书证号
书籍编号
Varchar(10)
Notnull(外键)
书籍编号
读者借书时间
Datetime
Notnull
读者借书时间
读者姓名
Varchar(10)
Notnull(外键)
读者姓名
还书时间
datetime
Notnull
读者还书时间
三、数据库系统的实现
本项目数据库管理系统使用SQLServer2005系统。
具体实现代码如下:
3.1表的实现
createdatabaseLibrary
onprimary
(name=Library,
filename='E:
\Library\图书管理数据\Library.mdf',
size=5,
maxsize=200,
filegrowth=10%
)
Logon
(name=library_log,
filename='E:
\Library\图书管理日志\Library_log.ldf',
size=2,
maxsize=4,
filegrowth=10%
)
useLibrary
go
createtable书籍类别信息表
(书种类编号varchar(10)notnullprimarykey,
书种类名称varchar(10)notnull,
)
useLibrary
go
createtable读者信息表
(借书证号varchar(10)notnullprimarykey,
读者姓名varchar(10)notnull,
读者性别varchar
(2)notnull,
读者种类varchar(20)notnull,
登记日期datetimenull,
可借书数intcheck(可借书数<=6)null,
已借书数intnull,
)
useLibrary
go
createtable书籍信息表
(书籍编号varchar(10)notnullprimarykey,
书籍名称varchar(20)notnull,
书籍类别varchar(10)notnull,
登记日期datetimenull,
是否被借出bitnotnull,
)
useLibrary
go
createtable借还记录信息表
(借书证号varchar(10)notnull,
foreignkey(借书证号)references读者信息表(借书证号),
书籍编号varchar(10)notnull,
foreignkey(书籍编号)references书籍信息表(书籍编号),
读者借书时间datetimenotnull,
读者姓名varchar(10)notnull,
还书时间datetimenotnull,
)
useLibrary
go
createtable管理员信息表
(管理员编号varchar(10)notnullprimarykey,
管理员姓名varchar(10)notnull,
管理员密码varchar(10)notnull,
管理员权限varchar(50)notnull,
)
3.2视图的实现
uselibrary
go
createview借阅信息
as
select读者借书时间,还书时间,已借天数
createview读者信息
as
select读者信息表.读者姓名,书籍编号
from读者信息表innerjoin借还记录信息表on读者信息表.借书证号=借还记录信息表.借书证号
createview管理员信息
as
select管理员编号,管理员姓名,管理员权限
from管理员信息表
createview书籍信息
as
select书籍名称,书籍类别信息表.书籍类别
from书籍信息表innerjoin书籍类别信息表on书籍信息表.书籍编号=书籍类别信息表.书籍编号
createview借书情况
as
select书籍编号,已借天数
from借还记录信息表
createview借书情况
as
select书籍编号,已借天数
from借还记录信息表
uselibrary
go
createview书籍类别信息_书籍编号
as
select*
from书籍类别信息表
where书种类编号>'10003'
uselibrary
go
createview书籍信息_出版社
as
select书籍编号,书籍名称,登记日期,是否被借出
from书籍信息表
where出版社='中华人民出版社'
uselibrary
go
createview书籍信息_借书时间
as
select*
from书籍信息表
where'还书时间'>2010-5-28
uselibrary
go
createview借还记录信息
as
select*
from借还记录信息表
where读者姓名='赵%'
uselibrary
go
createview读者信息类别
as
select*
from读者信息表
where读者种类='教师'
四、存储过程的实现
useLibrary
go
createproc书籍信息查询_出版社
@chubannamechar(10)
as
begin
select书籍名称,书籍类别,登记日期,是否被借出,出版社,单价,借阅者姓名
from书籍信息表
where出版社=@chubanname
useLibrary
go
createproc书籍信息查询_书籍借出情况
@jiechuqingkuangvarchar
as
begin
select书籍名称,书籍类别,登记日期,是否被借出,出版社,单价,借阅者姓名
from书籍信息表
where是否被借出=@jiechuqingkuang
useLibrary
go
createproc书籍信息查询_书籍类别
@shujileibievarchar(10)
as
begin
select书籍名称,书籍类别,登记日期,是否被借出,出版社,单价,借阅者姓名
from书籍信息表
where书籍类别=@shujileibie
useLibrary
go
createproc读者信息查询_读者性别
@duzhexingbievarchar(4)
as
begin
select读者姓名,读者性别,读者种类,登记日期,可借书数,已借书数
from读者信息表
where读者性别=@duzhexingbie
useLibrary
go
createproc读者信息查询_读者种类
@duzhezhongleivarchar(8)
as
begin
select读者姓名,读者性别,读者种类,登记日期,可借书数,已借书数
from读者信息表
where读者种类=@duzhezhonglei
end
useLibrary
go
createproc读者信息查询_读者姓
@duzhexingvarchar(10)
as
begin
select读者姓名,读者性别,读者种类,登记日期,可借书数,已借书数
from读者信息表
where读者姓名like@duzhexing
uselibrary
go
createproc管理员信息查询_权限
@quanxianvarchar(8)
as
begin
select管理员姓名,管理员权限,管理员密码
from管理员信息表
where管理员权限=@quanxian
end
uselibrary
go
createproc读者信息查询_已借书数
@yijieshushuint
as
begin
select读者姓名,读者性别,借书证号,读者种类,登记日期,可借书数,已借书数
from读者信息表
where已借书数=@yijieshushu
end
uselibrary
go
createproc借还记录信息查询_借阅天数
@jieyuetianshuint
as
begin
select借书证号,书籍编号,读者借书时间,读者姓名,还书时间,已借天数,已还书本书
from借还记录信息表
where已借天数=@jieyuetianshu
end
uselibrary
go
createprocedure管理员信息_管理员编号
@guanliyuanbianhaovarchar(10)
as
begin
select*
from管理员信息表
where管理员编号=@guanliyuanbianhao
uselibrary
go
createprocedure书籍信息_按名称查询
@shujimingchengvarchar(10)
as
begin
select书籍名称,书籍编号,登记日期,出版社
from书籍信息表
where书籍名称=@shujimingcheng
end
uselibrary
go
createprocedure查询管理员信息
as
begin
select管理员姓名,管理员权限
from管理员信息表
uselibrary
go
createprocedure读者信息_登记日期
as
begin
select借书证号,读者姓名,读者种类,登记日期
from读者信息表
orderby登记日期asc
end
useLibrary
go
createproc读者姓名_按姓名查询
@duzhexingmingvarchar(8)
as
begin
select借书证号,读者性别,读者种类,已借书数
from读者信息表
where读者姓名=@duzhexingming
end
uselibrary
go
createprocedure更新已借书数信息
as
begin
update读者信息表
set已借书数=4
where读者姓名='张山'
uselibrary
createprocedure插入读者信息
@jszhvarchar(10)='notnull',
@dzxmvarchar(10)='notnull',
@dzxbvarchar
(2)='notnull',
@dzlbvarchar(20)='notnull',
@djrqdatetime='null',
@kjssint='null',
@yjssint='null'
as
begin
insertinto读者信息表values(@jszh,@dzxm,@dzxb,@dzlb,@djrq,@kjss,@yjss)
endselect书籍编号,书籍名称,登记日期,出版社
from书籍信息表
where书籍类别like'%程序%'
end
uselibrary
createprocedure删除信息
as
begin
delete插入读者信息
五、触发器的实现
uselibrary
go
createtriggerreader_读者信息
on读者信息表
fordelete
as
begin
setnocounton
print'数据被删除!
'
end
uselibrary
go
createtrigger更新借还信息
on借还记录信息表
fordelete
as
begin
declare@jszhchar
select@jszh=借书证号fromdeleted
update读者信息表
set已借书数=已借书数-1
where借书证号=@jszh
end
go
uselibrary
go
createtrigger安全性
ondatabase
fordrop_table,alter_table
as
begin
print'要删除和修改表之前,你必须先禁用触发器安全性'
rollback
end
go
uselibrary
go
createtrigger删除数据约束
ondatabase
fordrop_table,alter_table
as
begin
print'要删除和修改表之前,你必须先禁用触发器删除数据约束'
rollback
end
uselibrary
go
createtrigger禁用读者信息表
ondatabase
fordrop_table,alter_table
as
begin
print'要删除和修改表之前,你必须先禁用触发器读者信息表'
rollback
end
go
uselibrary
go
createtrigger更新读者借书信息
on读者信息表
fordelete
as
begin
declare@jszhchar
select@jszh=借书证号fromdeleted
update读者信息表
set已借书数=已借书数-1
where借书证号=@jszh
end
go
uselibrary
go
createtrigger书籍借阅信息
on书籍信息表
fordelete
as
begin
declare@sjbhchar
select@sjbh=书籍编号fromdeleted
update书籍信息表
set借阅者姓名='张山'
where书籍编号=@sjbh
end
六、系统功能的实现
(按照系统的某种使用流程,分模块介绍每部分的界面设计及关键代码)
代码实现:
首页
管理员登录
|
读者登录
代码实现:
this.Label1.Text="信息已提交!
";
代码实现:
if(this.TextBox1.Text.Trim().Length==0)
{
TextBox1.Text="请输入用户名";
return;
}
if(this.TextBox2.Text.Trim().Length==0)
{
TextBox2.Text="请输入密码";
return;
}
if(this.TextBox1.Text=="王铃红"&&this.TextBox2.Text=="123")
{
Useruser=newUser();
user.Username=this.TextBox1.Text;
user.Password=this.TextBox2.Text;
Session["myuser"]=user;
Response.Cookies["logintime"].Value=DateTime.Now.ToString();
Response.Redirect("yudingshuji.aspx");
}
else
this.Label1.Text="该读者不存在或密码错误!
请确认后再登录";
代码实现:
if(this.TextBox1.Text.Trim().Length==0)
{
TextBox1.Text="请输入用户名";
return;
}
if(this.TextBox2.Text.Trim().Length==0)
{
TextBox2.Text="请输入密码";
return;
}
if(this.TextBox1.Text=="王铃红"&&this.TextBox2.Text=="123")
{
Useruser=newUser();
user.Username=this.TextBox1.Text;
user.Password=this.TextBox2.Text;
Session["myuser"]=user;
Response.Cookies["logintime"].Value=DateTime.Now.ToString();
Response.Redirect("welcome.aspx");
}
else
this.Label1.Text="该管理员不存在或密码错误!
请注册后再登录";
代码实现:
stringsql="select*from"+DropDownList1.SelectedItem.Text;
GridView1.DataSource=DBHelper.GetDataTable(sql);
GridView1.DataBind();
七、软件调试及运行结果分析
运行出错:
先开始用Gridview控件实现,并配置了数据源,与查询语句有冲突,运行不了结果。
解决
展开阅读全文
相关搜索
|