西安理工大学图书借阅管理数据库设计及开发.docx
- 文档编号:6664593
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:28
- 大小:3.48MB
西安理工大学图书借阅管理数据库设计及开发.docx
《西安理工大学图书借阅管理数据库设计及开发.docx》由会员分享,可在线阅读,更多相关《西安理工大学图书借阅管理数据库设计及开发.docx(28页珍藏版)》请在冰豆网上搜索。
西安理工大学图书借阅管理数据库设计及开发
《数据库原理及应用》
课程设计报告
设计题目:
西安理工大学图书借阅管理数据库设计及开发
学院理学院
专业信息与计算科学
班级计算
学号310081
姓名
指导教师段刚龙
2012年12月24日——2013年1月4日
选题背景及系统目标
选题背景
随着现在科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用越来越重要,在我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展,图书馆信息化建设迈向了一个新台阶。
系统目标
(1)用户方便进行图书查询,图书浏览和图书分类浏览,进行图书借阅并了解自己的借书情况和个人情况。
(2)用户在借书超期的情况下得到来自管理员的提醒。
(3)管理员可以方便进行图书管理,用户管理,管理员管理。
图书管理包括图书信息以及图书分类的添加,修改,删除。
用户管理包括用户信息的添加,删除,修改和锁定(限制用户的正常使用功能,使其无法登陆)。
管理员管理包括管理员信息的添加,删除,修改等。
(4)用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。
(5)未注册用户(游客)也可以浏览所有的图书信息和分类信息,但是无法借阅。
(6)实现模糊查询,使用户得到更多的相关记录。
并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。
(7)考虑程序执行操作时可能出现的情况,比如删除图书分类时该分类下存在图书,程序自动跳转该分类图书查看。
删除某个用户,如果存在借书记录则不允许删除,跳转到该用户的借书记录。
等待管理员确认该用户所借图书已经全部归还之后才允许删除该用户信息。
需求分析
组织机构分析
组织在这里是指一个单位或部门。
我们到任何一个组织中区调查研究,首先接触到的具体情况是系统的组织结构。
组织结构师指组织内部的部门划分以及它们的相互关系。
现行系统中信息的流动关系是以组织结构为背景的。
在一个组织中,各部门之间存在着各种关联。
主要有以下几种:
(1)领导关系
(2)信息传递关系
(3)资源传递的关系
系统功能分析
功能是指完成某项工作的能力,为了实现系统目标,系统必须具有各种功能。
系统功能分析如图2-1所示:
图2-1系统功能表
业务流程调查与分析
业务流程调查主要任务是调查系统中各环节的业务活动,掌握业务的内容、作用及信息的输入、输出、数据存储和信息的处理方法及过程等。
在图书馆的管理系统中,从读者角度考虑的业务流程图如图2-2所示:
图2-2业务流程图
数据流程调查与分析
数据流程是系统中的信息处理的方法和过程的统一。
由于老的系统中的数据处理时建立在手工处理或成就的信息处理手段的基础上的,我们有理由相信,新的信息技术条件将为数据处理提供较为有效地处理方法。
在进行系统的详细设计时,我们先进行了系统的总体设计流程图,如图2-3所示,然后是子系统的流程图,如图2-4及2-5所示:
图2-3图书借阅总体设计流程图
图2-4读者管理流程图
图2-5子系统还书流程图
典型数据字典分析
用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构;对数据进行规范化表达。
关系数据结构的建立,在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。
这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:
确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
图书管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。
在定义的图书管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。
(1)数据项描述
1)数据项名称:
借书证号
含义说明:
惟一标识一个借书证
类型:
字符型
长度:
50
逻辑关系:
不允许为空
2)数据项名称:
用户名
含义说明:
读者的名称
类型:
字符型
长度:
20
逻辑关系:
不允许为空
3)数据项名称:
密码
含义说明:
对用户名和操作员管理员进行加密
类型;字符型
长度:
10
逻辑关系:
允许为空
4)数据项名称:
性别
类型:
字符型
长度:
10
逻辑关系:
允许为空
5)数据项名称:
所在系别
类型;字符型
长度:
10
逻辑关系:
允许为空
6)数据项名称:
所在班级
类型:
字符型
长度:
10
逻辑关系:
允许为空
7)数据项名称:
操作员名称
类型:
字符型
长度:
30
逻辑关系:
不允许为空
8)数据项名称:
操作员简称
含义说明:
惟一标识一个操作员
类型:
字符型
长度:
10
逻辑关系:
不允许为空
9)数据项名称:
操作员级别
含义说明:
对操作员和管理员进行区分
类型:
字符型
长度:
10
逻辑关系:
不允许为空
10)数据项名称:
图书编号
含义说明:
惟一标识一个图书
类型:
字符型
长度:
10
逻辑关系:
不允许为空
11)数据项名称:
图书名称
类型:
字符型
长度:
50
逻辑关系:
不允许为空
12)数据项名称:
作者
类型:
字符型
长度:
50
逻辑关系:
不允许为空
13)数据项名称:
作者
类型:
字符型
长度:
50
逻辑关系:
不允许为空
14)数据项名称:
作者
类型:
字符型
长度:
50
逻辑关系:
不允许为空
15)数据项名称:
出版社
类型:
字符型
长度:
50
逻辑关系:
不允许为空
16)数据项名称:
出版时间
类型:
日期时间型
长度:
8
逻辑关系:
不允许为空
17)数据项名称:
价格
类型:
整型
长度:
4
逻辑关系:
不允许为空
18)数据项名称:
备注
类型:
字符型
长度:
200
逻辑关系:
允许为空
19)数据项名称:
借书日期
类型:
日期时间
长度:
8
逻辑关系:
不允许为空
20)数据项名称:
还书日期
类型:
日期时间
长度:
8
逻辑关系:
不允许为空
(2)数据结构描述
1)数据流名称:
用户情况
含义说明:
定义了一个读者的有关信息
组成结构:
用户情况=用户名+借书证号+密码+性别+所在系别+所在班级
2)数据流名称:
操作员情况
含义说明:
定义了一个操作员的有关信息
组成结构:
操作员情况=操作员名称+操作员简称+操作员级别+操作员密码
3)数据流名称:
图书情况
含义说明:
定义了一个图书的有关信息
组成结构:
图书情况=图书编号+图书名称+作者+出版社+出版时间+价格+备注
(3)数据流(非数据项)说明
1)数据流名称:
借书单
含义:
读者借书时要填写的单据
来源:
读者
去向:
审核借书
数据流量:
250份/天
组成:
借书单=借书证号+图书编号+借书日期
2)数据流名称:
还书单
含义:
读者还书时要填写的单据
来源:
读者
去向:
审核还书
数据流量:
250份/天
组成:
还书单=图书编号+还书日期
(4)数据存储说明
1)数据存储名称:
图书数据表
含义说明:
存放图书的有关信息
组成结构:
图书编号+图书名称+作者+出版社+出版时间+价格+备注
说明;书号具有惟一性和非空性
2)数据存储名称:
用户信息表
含义说明:
存放读者的注册信息
组成结构:
用户名+借书证号+密码+性别+所在系别+所在班级
说明:
证号具有惟一性和非空性,性别只能是男和女
3)数据存储名称:
借书记录
含义说明:
存放读者的借书,还书信息
组成结构:
借书证号+图书编号+借书日期+还书日期
说明:
要求能够立即查询
(5)处理过程说明
1)处理过程名称:
图书管理
输入:
图书情况,
输出:
图书记录
处理说明:
对馆内所有图书按图书编号进行管理,将图书数据数据化,存储图书数据表中。
2)处理过程名称:
读者管理
输入:
读者情况,
输出:
读者记录
处理说明:
建立读者信息表,对读者进行统一编号,实现读者记录表的增删改维护功能。
3)处理过程名称:
查看数目
输入:
借书请求,读者,,
输出:
借书记录,图书信息
处理说明:
实现根据图书编号等查询图书。
4)处理过程名称:
借书处理
输入:
图书情况,读者,借书记录
输出:
借书记录
处理说明:
确认读者符合借书条件,办理借书手续。
5)处理过程名称:
还书处理
输入:
图书情况,
输出:
借书记录
处理说明:
对照相应的图书编号可办理还书手续。
6)处理过程名称:
安全管理
输入:
操作员情况,用户情况
输出:
操作员级别,操作员记录,用户记录
处理说明:
通过用户名和口令,确认用户身份,保证系统的安全型。
系统数据库设计
数据库概念结构设计
读者E-R图中包括的属性有读者证号,姓名,学号,性别,所在系别类别,这些属性项阐明了读者实体。
图3-1读者E-R图
图书E-R图中包括的属性有图书编号,图书名称,出版社,作者,单价类别,这些属性项阐明了图书实体。
图书借阅E-R图中包括的属性有读者证号,图书编号,借阅时间,归还时间类别,这些属性项阐明了图书借阅实体。
图3-3图书借阅E-R图
图书征订E-R图中包括的属性有读者证号,图书名称,出版社,作者,这些属性阐明了图书征订实体。
数据库逻辑结构设计
1)E-R图向关系模型的转换
将总体概念结构E-R图转化成关系模型:
读者(学号,读书证件号,姓名,性别,所在系别)
图书借阅(图书编号,图书名称,作者,出版社,单价,借出时间,归还时间)
2)相应的表结构,如表3-1到表3-5所示:
表3-1读者信息表
表3-2图书信息表
表3-3图书借阅表
表3-4图书征订表
数据库物理结构设计
根据本系统的特点,采用B+树索引存取方法建立索引。
对图书类别,剩余数量,作者,登入,价格,图书信息这六个属性建立索引。
对图书类别,图书信息,作者组合索引,对图书类别,图书信息,价格建立组合索引,对读者,登录界面建立组合索引,对剩余数量,价格建立组合索引。
数据库关系设计
图3-5图书管理系统整体E-R图
系统主要功能模块设计与实现
图书管理员登陆界面模块设计
登陆界面如图4-1所示:
图4-1登陆界面
主界面模块设计
主界面如图4-2所示:
图4-2主界面
增加用户模块设计
增加用户界面如图4-3所示:
图4-3增加用户界面
添加图书模块设计
添加图书模块界面如图4-4所示:
图4-4添加图书界面
图书查询模块设计
1)图书查询界面如图4-5所示:
图4-5图书查询界面
2)查询结果如图4-6所示:
图4-6查询结果
图书借阅模块设计
1)当选择已被借出的书时,则不能再借此书如图4-7所示:
图4-7查询结果
2)当选择未被借出的书时,则会按照下一步进行选择读者信息,进行借书,如图4-8及图4-9所示:
图4-8图书借阅界面
图4-9借阅结果界面
添加读者模块设计
点击读者管理→读者信息管理→添加读者信息,会出现添加读者信息的界面,此界面是增加阅读者的信息以及图书管理系统库中的读者信息,读者包括教师、学生、外来人员三个级别,填写好信息后点击确定,则会成功为库中增加读者信息,如图4-10所示:
图4-10添加读者界面
查询读者信息模块设计
点击读者管理→查询读者信息,则会出现有按照读者编号、读者姓名或者读者种类为搜索依据的复选框,点击后会按照要求显示所查信息,其中包括读者编号、读者姓名、读者性别、读者种类、工作单位、家庭地址、登记日期以及借书数量等信息,如图4-11所示:
图4-11查询读者信息界面
还书模块设计
点击图书借阅管理→还书管理→添加还书信息会出现还书界面,如图4-12及4-13所示:
图4-12还书界面
选择要还书的信息,点击还书,则会出现提示信息,选择是,则会提示成功还书。
如图:
图4-13还书结果界面
退出系统界面设计
点击系统管理→退出系统,则会出现提示信息“退出系统”,点击“是”或“退出系统”,则会退出本系统,如图4-14所示:
图4-14退出界面
模块代码
1)全局变量定义:
OptionExplicit
PublicConAsNewADODB.Connection'连接对象
PublicUserIDAsString'当前用户ID
PublicBook_numAsString'要借书的编号
PublicRsAsNewADODB.Recordset'记录集
PublicUser_QuanxianAsInteger'用户的权限
PublicpwdAsString'用户密码
2)图书管理系统登录系统
PrivateSubCommand1_Click()
IfCombo1.Text=""Then
MsgBox"请选择用户名!
",,"登录"
Combo1.SetFocus
ExitSub
EndIf
IfText2.Text=""Then
MsgBox"请输入密码!
",,"登录"
Text2.SetFocus
ExitSub
EndIf
IfRsUser.State=1ThenRsUser.Close
Sqltxt="select*from系统用户where用户名='"&Combo1.Text&"'"
RsUser.OpenSqltxt,Con,adOpenStatic,adLockPessimistic
Text2.SetFocus
IfRsUser.EOF()Then
MsgBox"该用户不存在"&vbCrLf&"请重新输入或联系管理员",vbOKCancel+vbExclamation
Combo1.SetFocus
ExitSub
EndIf
Pwd=Trim(RsUser.Fields("密码"))
IfText2.Text=PwdThen
UserID=Combo1.Text
User_Qx=Trim(RsUser.Fields
(2))
Me.Hide
MsgBox"登陆成功!
"
frmmain.Show
Else
MsgBox"密码无效,请重试!
您还有"&2-Cnt&"次机会",,"登录"
Text2.SetFocus
Cnt=Cnt+1
If3-Cnt=0Then
UnloadMe
EndIf
EndIf
EndSub
3)图书管理系统(frmMain)
DimrsUserAsADODB.Recordset
DimaaAsString
DimbbAsString
DimccAsInteger
PrivateSubCommand1_Click()
DimsqlAsString
SetrsUser=NewADODB.Recordset
IfCombo1.Text=""Then
Label1.Caption="请选择用户名!
"
Combo1.SetFocus
ExitSub
EndIf
IfText1.Text=""Then
Label1.Caption="请输入密码!
"
Text1.SetFocus
ExitSub
EndIf
sql="select*from系统用户where用户名='"&Combo1.Text&"'"
rsUser.Opensql,conn,adOpenStatic,adLockBatchOptimistic'打开记录集获取该用户密码IfrsUser.EOFThen
Label1.Caption="此用户不存在"
ExitSub
EndIf
pwd=Trim(rsUser.Fields("密码"))
QuanXian=Trim(rsUser.Fields(0))
IfText1.Text=pwdThen
userid=Combo1.Text
OpenApp.Path&"\123.txt"ForInputAs#1
DoWhileNotEOF
(1)
LineInput#1,bb
Ifuserid=bbThen
cc=2
EndIf
Loop
Close#1
Ifcc=1Then
OpenApp.Path&"\123.txt"ForAppendAs#1
Print#1,userid
Close#1
EndIf
cc=1
rsUser.Close
UnloadMe
frmmain.Show
Else
Label1.Caption="密码无效,请重新输入!
还有2次机会"
Text1.SetFocus
cs=cs+1
If3-cs=0Then
UnloadMe
EndIf
EndIf
EndSub
PrivateSubCommand2_Click(IndexAsInteger)
UnloadMe
EndSub
PrivateSubForm_Load()
DimcnnstrAsString
DimsqlAsString
cc=1
SetrsUser=NewADODB.Recordset
'cnnstr="filedsn=st1.dsn;userid=sa;password=123;"
cnnstr="provider=microsoft.jet.oledb.4.0;"&"datasource="+App.Path+"\book.mdb"conn.Opencnnstr
sql="select用户名from系统用户"
rsUser.Opensql,conn,adOpenStatic,adLockBatchOptimistic
OpenApp.Path&"\123.txt"ForInputAs#1
DoWhileNotEOF
(1)
LineInput#1,aa
Combo1.AddItemaa
Loop
Close#1
cs=0
rsUser.Close
EndSub
系统特点与不足
优点
本系统是一个校园图书管理系统,具有一定实用性的数据库信息管理系统。
它只要完成了对图书的分类,图书进步信息管理,图书入库管理,图书盘点管理,节约证件类型管理,借阅证件管理,图书借阅,用户管理。
本系统采用当前流行的VB来完成整个系统的设计,在数据库的设计上利用了SQLServer的便利性和实用性。
需要进一步改进的地方
关于本次设计的命题,我的设计只能提供其基本的功能。
还有许多的设想由于时间和自身和因素无法得以实现,例如:
超出借阅时间的相应罚款,管理员和学生分别登陆界面等,这些应全部包括在内,这不能不说是本次设计的遗憾之处。
总结
课程设计主要问题及解决办法
在系统的开发时,遇到了很多问题,比如在建数据库时,不但要符合实验的要求还要与同组人的相联系起来,因此在编写数据库时进行了多次的修改。
在更换电脑进行数据库连接时也常犯些小错误,如忘记填写服务器名称或则是个错误的服务器名称导致在连接测试时老是报错。
还有在进行界面设计时,只是按照参考书上的进行设计,最后导致编程的时候很难和数据库表的记录符合上,于是抛开了所有的参考书,自己根据数据库的内容设计了界面,独立的编程,虽然有点过于简单。
收获与建议
在本次课程设计中,通过老师的教导和自己的学习,我基本掌握了VisualBasic编程语言,这个过程也启发了自己的思维,提高了我的动手能力,这是我在课本中学不到的。
它为我们在以后的学习上发挥自己的才能奠定了坚实的基础。
我也认识到自己在计算机许多专业知识方面还有许多欠缺,之后我会更加努力完善自己,把专业课学好成为有用之人。
参考文献
[1]李怀明等.《VisualBasic6.0中文版参考详解》.清华大学出版社.1999,11.
[2]李善茂等.《VisualBasic6.0高级编程技巧》.电子工业出版社.1999,5.
[3]谭浩强主编.《VisualBasic6.0中文版提高与应用》.电子工业出版社.1999,11.
[4]王珊,萨师煊等.数据库系统概论(第四版).北京高等教育出版社.2006,5.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安理工 大学 图书 借阅 管理 数据库 设计 开发