图书借阅管理系统报告_第1页
图书借阅管理系统报告_第2页
图书借阅管理系统报告_第3页
图书借阅管理系统报告_第4页
图书借阅管理系统报告_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I / 40 文档可自由编辑打印广东技术师范学院天河学院广东技术师范学院天河学院数据库原理及应用课程设计报告 题题 目:目: 图书馆管理系统图书馆管理系统 设设 计计 者者 :陈达馨:陈达馨 2 2 梁晓敏梁晓敏 2 2 郑郑 畅畅 2 2 专业:专业: 计算机科学与技术计算机科学与技术 班级:班级: 计科计科 133133 班班 指导教师:指导教师: 蔡柳萍蔡柳萍 所属系部:所属系部: 计算机系计算机系20142014 年年 1212 月月 2020 日至日至 2525 日日II / 40 文档可自由编辑打印 摘摘 要要目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到

2、各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。本系统使用 Microsoft Visual Studio 2010 开发工具和 SQL SERVER 2005 数据库,一方面使用 SQL 语句来完成数据库后台操作,另一方面运用 VS 语言来实现前台网页的操作,将这两方面结合起来,在网页中展示整个图书管理系统的数据操作。此系统功能分为面向读者和面向管理员两部分,其中读者可以进行查询书籍及查询借还情况等操作,管

3、理员可以完成图书和读者的添加,删除,删除,修改,统计,用户管理和备份与恢复。关键词关键词: :图书图书,Microsoft,Microsoft VisualVisual StudioStudio 2010,SQL2010,SQL SERVERSERVER 2005,2005,数据库设计,图书管理系统数据库设计,图书管理系统III / 40 文档可自由编辑打印目录目录摘 要.II目录.III一 实验概述.11. 开发背景.12. 意义.1二 需求分析.21.1 系统目标 .21.2 需求定义 .21.3 功能需求.3三 概要设计.41.思路设计框架.42.E-R 图 .42.1 局部 ER 模式

4、 .4四、 数据库设计.44.1 表结构:确定表结构。.44.2 存储过程.10五.应用系统设计(前台).165.2 登录界面 .175.2.2 管理员界面.205.3.2 图书借阅界面.275.4 数据库权限界面 .28六 总结.310 / 40 文档可自由编辑打印1 1实验概述实验概述1.1.开发背景开发背景 随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的树木逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用 SQL SERVER 2005 创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、

5、借阅、录入等工作。 图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。2.2.意义意义该系统具有管理员管理图书和读者管理图书的功能,一方面管理员可以查询所管理的用户的信息和增加,修改,删除用户,并且可以添加新的图书信息。另一方面读者可以查询自己的基本信息和修改登录密码,对已借的书籍可以实现续期的操作和购买图书操作。1 / 40 文档可自由编辑打印2 2需求分析需求分析1.11.1 系统目标系统目标 图书管理

6、信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 系统开发的总体任务是实现各种信息的系统化,规范化和自动化。 1.21.2 需求定义需求定义 图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。 本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读

7、者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,2 / 40 文档可自由编辑打印系统、高效。1.31.3 功能需求功能需求1、完成馆藏全部图书的查询和统计等功能。2、完成管理员管理用户信息的查询,添加,修改,删除的操作。 3、完成管理员管理图书的添加,进库,修改,查询,删除等操作。4、完成读者对个人信息的查询,对图书信息的查询,对借还情况的查询和修改密码等

8、功能。 5、安全查询模块分创建备份,数据备份和数据恢复,作用分别为创建备份设备,将数据库进行备份,对已删除的数据进行恢复。3 / 40 文档可自由编辑打印3 3概要设计概要设计1.思路设计框架思路设计框架 系统功能模块图 图 3.1.1读者信息管理图书信息管理图书类别管理查询管理的用户 登录界面图书馆管理系统图书管理员模块 读者模块读者信息查询借还图书信息修改个人密码登录界面图书归还管理图书借阅管理4 / 40 文档可自由编辑打印2.E-R 图图2.1 局部局部 ER 模式模式读者表(读者编号,姓名,性别,出生日期,年龄,电话,注册日期,证件类型,证件号码,押金,借书数量,职业)0 / 40

9、文档可自由编辑打印读者编号姓名证件号码押金密码年龄职业注册日期电话借书数量证件类型读者表出生日期图 3.2.1图书表(图书编号,类别编号,书名,作者,译者,出版社,出版日期,价格,库存数量)性别1 / 40 文档可自由编辑打印图书编号类别编号书名作者价格译者库存数量出版日期出版社图书表 图 3.2.2管理员表(管理员编号,密码,姓名,性别,年龄,电话,证件号码,工作日期)2 / 40 文档可自由编辑打印管理员编号密码姓名性别年龄证件号码电话工作日期管理员表 图 3.2.3订购表(图书编号,管理员编号,订购数量,订购日期,折扣)借阅表(借阅编号,图书编号,管理员编号,读者编号,借阅日期,归还日期

10、,是否归还)库存表(图书编号,管理员编号,现存数量)图书分类表(类别编号,图书类名,可借天数,预期罚金)3 / 40 文档可自由编辑打印 借书押金 职业 密码 读者编号 姓名性别借阅编号图书编号 出生日期电话 读者信息 管理员编号注册日期 读者编号 年龄 借阅日期 罚款金额 证件类型 证件号码 归还日期 押金 分类类别名称 借阅 是否归还管理 类别编号 可借天数证件号码 工作日期图书信息密码管理员信息 管理作者姓名管理员编号电话性别 年龄 出版4 / 40 文档可自由编辑打印图书编号 译者图书编号 折扣 订购 库存数量书名管理员编号出版社 订购数量 订购日期 价格 类别编号 图 3.2.44

11、4、数据库设计数据库设计 4.14.1 表结构表结构: :确定表结构确定表结构。 新建一个数据库-library create database library 4.1.14.1.1 涉及的表涉及的表 图书表图书表属性属性类型类型大小大小能否为空能否为空约束约束图书编号varchar13否主键类别编号Int否外键书名varchar40否作者varchar20否译者varchar20否出版社varchar50否出版日期Datetime否价格money否库存量 int否图 4.1.1.1 图书分类表图书分类表5 / 40 文档可自由编辑打印属性属性类型类型大小大小能否为空能否为空约束约束类别编号i

12、nt否主键图书类名varchar20否可借天数Int否预期罚金Money否 图 4.1.1.2读者表读者表属性属性类型类型大小大小能否为空能否为空约束约束读者编号 var char13否主键姓名varchar10否密码 varchar20否性别char2否年龄Int否出生日期datetime否证件类型char10否证件号码Varchar20否注册日期datetime否电话varchar13否押金Money否借书数量Int否职业Char10否图 4.1.1.3 借阅表借阅表属性属性类型类型大小大小能否为空能否为空约束约束借阅编号Int否主键图书编号Varchar13否外键管理员编号Varchar

13、20否外键读者编号Varchar13否外键借阅日期Datetime否是否归还Varchar2否归还日期Datetime否图 4.1.1.4 管理员表管理员表属性属性类型类型大小大小能否为空能否为空约束约束管理员编号Varchar20否主键姓名Varchar10否密码Varchar20否6 / 40 文档可自由编辑打印性别char2否年龄Int否电话varchar13否证件号码Varchar20否工作日期datetime否图 4.1.1.5订购表订购表属性属性类型类型大小大小能否为空能否为空约束约束图书编号Varchar10否主键管理员编号Varchar20否订购数量Int否订购日期Dateti

14、me否折扣Float是图 4.1.1.6库存表库存表属性属性类型类型大小大小能否为空能否为空约束约束图书编号Varchar13否主键管理员编号Int否现存数量Int否图 4.1.1.74.1.24.1.2 建表的建表的 SQLSQL 语句语句1.create table 读者表(读者编号 varchar(13) not null primary key,姓名 varchar(10) not null,密码 varchar(20) not null,性别 char(2) not null check(性别=男 or 性别=女) default 男,7 / 40 文档可自由编辑打印出生日期 dat

15、etime not null,年龄 int not null,电话 varchar(13) not null,注册日期 datetime not null,证件类型 char(10) not null,证件号码 varchar(20) not null,押金 money not null,借书数量 int not null check(借书数量 between 1 and 7),职业 char(10) null)2.create table 图书表(图书编号 varchar(13) not null primary key, 类别编号 int not null foreign key refe

16、rences 图书分类表(类别编号),书名 varchar(40) not null,作者 varchar(20) not null,译者 varchar(20) not null,出版社 varchar(50) not null,出版日期 datetime not null,价格 money not null,库存数量 int not null)8 / 40 文档可自由编辑打印3.create table 管理员表(管理员编号 varchar(20) not null primary key,密码 varchar(20) not null,姓名 varchar(10) not null,性别

17、 char(2) not null check(性别=男 or 性别=女) default 男,年龄 int not null,电话 varchar(13) not null,证件号码 varchar(20) not null,工作日期 datetime not null)4.create table 借阅表(借阅编号 int not null primary key,图书编号 varchar(13) not null foreign key references 图书表(图书编号),管理员编号 varchar(20) not null foreign key references 管理员表(

18、管理员编号),读者编号 varchar(13) not null foreign key references 读者表(读者编号),借阅日期 datetime not null default getdate(),归还日期 datetime not null default getdate(),9 / 40 文档可自由编辑打印是否归还 varchar(2) not null)5.create table 图书分类表(类别编号 int not null primary key,图书类名 varchar(20) not null,可借天数 int not null default 30,预期罚金

19、money null)6.create table 库存表(图书编号 varchar(13) not null primary key,管理员编号 int not null,现存数量 int not null)4.1.34.1.3 数据库中表截图数据库中表截图10 / 40 文档可自由编辑打印图 4.1.34.1.44.1.4 约束:约束: 1 1、图书表、图书表 图书编号列设置主键约束; 2 2、图书分类表图书分类表 类别编号列设置主键; 3 3、读者表读者表 读者编号列设置主键约束; 性别列设置 check 约束,取值范围为“男”或“女”,设置默认值约束,默认值设为“男” ; 4 4、借阅

20、表借阅表 借阅编号列合为设置主键约束; 图书编号列设置外键约束,同图书表的主键图书标号列相关联; 管理员编号列设置外键约束,同管理员表的主键管理员编号列相关联; 读者编号列设置外键约束,同读者表的主键读者编号列相关联; 5 5、 管理员表管理员表11 / 40 文档可自由编辑打印 管理员编号列设置主键约束; 6.6. 订购表订购表 图书编号列设置主键约束; 7.7.库存表库存表图书编号列设置主键约束;4.2.2 存储过程存储过程4.2.14.2.1 图书查询存储过程图书查询存储过程为了方便在首页根据图书类型和书名来查询用户所要查询的图书,创建一个存储过程“p_tscx”:create proc

21、 p_tscxa varchar(20),b varchar(30)asif exists(select* from 图书表 a,图书类型表 b where 图书类型=a and 书名=b)beginselect*from 图书表 a,图书类型表 bwhere 图书类名=a and 图书名称=b and a.类型编号=b.类型编号select 这是你需要查询的书籍endelse12 / 40 文档可自由编辑打印select请输入书籍名称4.2.24.2.2 新建用户存储过程新建用户存储过程为了方便新建用户并给用户分配权限,创建一个存储过程“p_addgrant”:create proc p_a

22、ddgranta varchar(20),b varchar(20),c varchar(20),d varchar(20)asif a and bbeginexec sp_addlogin a,bselect 提示=创建登录用户成功!if c请选择beginexec sp_addsrvrolemember a,cif d请选择beginexec sp_grantdbaccess aexec sp_addrolemember d,aendend13 / 40 文档可自由编辑打印endelseselect 提示=用户名或密码不能为空4.2.3 删除用户存储过程删除用户存储过程为了方便删除不用的用

23、户,创建一个存储过程“p_dellogin”:create proc p_dellogina varchar(20)asexec sp_droplogin aselect 删除用户成功!4.2.4 添加管理员存储过程添加管理员存储过程为了方便添加管理员,创建一个存储过程“p_tjgly”create proc p_tjglya varchar(20),b varchar(20),c varchar(10),d char(2),e varchar(13),f datetimeasif exists(select * from 管理员表 where 管理员编号=a)select 警告=该账号已存在

24、elsebegin14 / 40 文档可自由编辑打印insert 管理员表values(a,b,c,d,e,f)select 成功=添加成功end4.2.5 添加读者存储过程添加读者存储过程为了方便添加读者,创建一个存储过程“p_tjdz”create proc p_tjdza varchar(13),b varchar(20),c varchar(10),d char(2),e datetime,g varchar(13),h datetime,j intasif exists(select * from 读者表 where 读者编号=a)select 警告=该账号已存在elsebegini

25、nsert 读者表values(a,b,c,d,e,g,h,j)select 成功=添加成功end4.2.6 添加借阅记录存储过程添加借阅记录存储过程为了方便添加借阅记录过程,创建一个存储过程“p_tjjyjl”15 / 40 文档可自由编辑打印create proc p_tjjyjla int,b varchar(13),c varchar(20),d char(13),e datetime,f varchar(15)asif exists(select * from 借阅表 where 借阅编号=a)select 警告=该记录已存在elsebegininsert 借阅表values(a,b

26、,c,d,e,f)select 成功=添加成功End4.3 权限设置权限设置我们所设计的图书管理系统根据实际情况会用到两类用户,一类是管理员,一类是读者,管理员拥有所有的权限,故管理员使用系统自带的 Sa 登陆,管理数据库,而读者只允许查看与个人信息和借阅图书信息。授予读者查看个人信息的权限命令:(此命令需到后台数据库执行,前台创建用户时只可给予固定的服务器角色)16 / 40 文档可自由编辑打印五五.应用系统设计应用系统设计(前台前台)5.1 图书检索界面图书检索界面用户不需登录就可以查询图书馆已有的书籍,只要输入查询的书的类型和书名即可查询想要的书籍的信息图 5.1.1代码如下:代码如下:

27、 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click17 / 40 文档可自由编辑打印 Dim cn As New SqlConnection cn.ConnectionString = server=USER-20141219TLSQLEXPRESS;database=library;integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim

28、aa As String = exec p_tscx + DropDownList1.Text + , + TextBox1.Text + Dim ad As New SqlDataAdapter(aa, cn) 数据集 Dim dess As New DataSet ad.Fill(dess, abc) GridView1.DataSource = dess.Tables(abc) GridView1.DataBind() End IfEnd Sub5.2 登录界面登录界面5.2.1 用户登录界面用户登录界面用户要根据个人的学号和密码登录图书管理系统,当登录成功后,才能查看自己的个人信息以及

29、进行一些图书管理操作。 18 / 40 文档可自由编辑打印图 5.2.1代码如下:代码如下: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 连接数据库,执行命令, Dim cn As New SqlConnection cn.ConnectionString = server=USER-20141219TLSQLEXPRESS;database=library;uid= + TextBox1.Text + ;pwd= + TextBox

30、2.Text cn.Open() If cn.State = ConnectionState.Open Then If RadioButtonList1.SelectedItem.Text = 管理员 Then Dim da As SqlDataReader Dim ba As String = select * from 管理员表 19 / 40 文档可自由编辑打印where 管理员编号= + TextBox1.Text + Dim cmd As New SqlCommand mandText = ba cmd.Connection = cn da = cmd.ExecuteReader()

31、 If da.HasRows = True Then da.Read() Response.Redirect(gly.aspx) Else Response.Write(管理员表中不存在该用户!) End If Else Dim dy As SqlDataReader Dim ba As String = select * from 读者表 where 读者编号= + TextBox1.Text + Dim cmd As New SqlCommand mandText = ba cmd.Connection = cn dy = cmd.ExecuteReader() If dy.HasRows

32、 = True Then dy.Read()20 / 40 文档可自由编辑打印 Response.Redirect(dz.aspx) Else Response.Write(读者表中不存在该用户!) End If End If End IfEnd Sub5.2.2 管理员界面管理员界面图 5.2.221 / 40 文档可自由编辑打印添加管理员代码:Dim cn As New SqlConnection cn.ConnectionString = server=USER-20141219TLSQLEXPRESS;database=library;integrated security=true

33、cn.Open() If cn.State = ConnectionState.Open Then Dim ba As String = exec p_tjgly + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + , + TextBox4.Text + , + TextBox5.Text + , + TextBox6.Text + Dim ad As New SqlDataAdapter(ba, cn) Dim dess As New DataSet ad.Fill(dess, abc) GridView2.DataSource

34、 = dess.Tables(abc) GridView2.DataBind() Dim aa As String = exec p_xstjgly + TextBox1.Text + Dim dd As New SqlDataAdapter(aa, cn) Dim dset As New DataSet dd.Fill(dset, ss) GridView1.DataSource = dset.Tables(ss)22 / 40 文档可自由编辑打印 GridView1.DataBind() End If添加读者代码:Dim cn As New SqlConnection cn.Connect

35、ionString = server=USER-20141219TLSQLEXPRESS;database=library;integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim da As String = exec p_tjdz + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + , + TextBox4.Text + , + TextBox5.Text + , + TextBox7.Text + , + TextBox8.T

36、ext + , + TextBox10.Text + Dim ad As New SqlDataAdapter(da, cn) 数据集 Dim dess As New DataSet ad.Fill(dess, abc) GridView2.DataSource = dess.Tables(abc) GridView2.DataBind() Dim aa As String = exec p_xstjdz + 23 / 40 文档可自由编辑打印TextBox1.Text + Dim dd As New SqlDataAdapter(aa, cn) Dim dset As New DataSet

37、 dd.Fill(dset, ss) GridView1.DataSource = dset.Tables(ss) GridView1.DataBind() End If5.35.3个人图书管理系统界面个人图书管理系统界面5.3.15.3.1 个人信息界面个人信息界面当读者成功登录后就跳转到读者界面,该页面可以查看借阅记录和个人信息24 / 40 文档可自由编辑打印图 5.3.1查看借阅记录代码:Dim cn As New SqlConnection cn.ConnectionString = server=USER-20141219TLSQLEXPRESS;database=library;

38、integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim da As String = select * from 借阅表 Dim cmd As New SqlCommand mandText = da cmd.Connection = cn cmd.ExecuteNonQuery()25 / 40 文档可自由编辑打印 Dim ad As New SqlDataAdapter(da, cn) Dim dset As New DataSet ad.Fill(dset, qq) GridView1.

39、DataSource = dset.Tables(qq) GridView1.DataBind() End If查看个人信息代码:Dim cn As New SqlConnection cn.ConnectionString = server=USER-20141219TLSQLEXPRESS;database=library;integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim da As String = select * from 读者表 where 读者编号= + TextBox1.

40、Text + Dim cmd As New SqlCommand mandText = da cmd.Connection = cn cmd.ExecuteNonQuery() Dim ad As New SqlDataAdapter(da, cn) Dim dset As New DataSet26 / 40 文档可自由编辑打印 ad.Fill(dset, qq) GridView1.DataSource = dset.Tables(qq) GridView1.DataBind() End If修改个人密码:Dim cn As New SqlConnection cn.ConnectionS

41、tring = server=USER-20141219TLSQLEXPRESS;database=library;integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim da As String = exec p_xgdz + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + Dim cmd As New SqlCommand mandText = da cmd.Connection = cn cmd.ExecuteNonQuer

42、y() Dim aa As String = exec p_xstjdz + TextBox1.Text + Dim ad As New SqlDataAdapter(aa, cn)27 / 40 文档可自由编辑打印 Dim dset As New DataSet ad.Fill(dset, zz) GridView1.DataSource = dset.Tables(zz) GridView1.DataBind() Response.Write(修改完毕) End If5.3.25.3.2 图书借阅界面图书借阅界面图书借阅界面可以查看当前读者所借阅的图书的信息 图 5.3.2代码如下:代码如

43、下:Dim cn As New SqlConnection cn.ConnectionString = server=USER-28 / 40 文档可自由编辑打印20141219TLSQLEXPRESS;database=library;integrated security=true cn.Open() If cn.State = ConnectionState.Open Then Dim da As String = exec p_tjjyjl + TextBox1.Text + , + TextBox2.Text + , + TextBox3.Text + , + TextBox4.Text + , + TextBox5.Text + , + TextBox6.Text + Dim ad As New SqlDataAdapter(da, cn) 数据集 Dim dess As New DataSet ad.Fill(dess, abc) GridView2.DataSource = dess.Tables(abc) GridView2.DataBind() Dim aa As String = exec p_xsjyjl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论