版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计一一图书管理
系统
数据库课程设计
中由大哆
CENTRALSOUTHUNIVERSITY
数据库大作业
2
数据库课程设计
信息科学与工程学院
2016年12月
图书信息管理系统
姓名:汤江波
班级:电气T1501
学号:0908150305
指导老师:韩华
3
数据库课程设计
L绪论
1.1背景介绍
随着社会的发展,人们对于知识的需求也在
不断地增长。书籍作为人们获取并增长知识的主
要途径,使得图书馆在人们生活中占有了一定位
置。但是近几年来,随着书量的不断增长,造成
了书库空间极度不足,图书挤压,管理不善。这
些都直接影响了读者对图书馆藏书的充分利用。
这时图书馆就特别需要开发一套书刊租借管理
系统,通过该系统来提高图书馆的管理效率,从
而减少管理方面的工作流和成本。
一个现代化的图书馆在正常运营中总是面
对大量的读者信息,书籍信息以及两者相互作用
产生的借书信息,还书信息。面对图书馆数以万
计的图书,纷繁复杂的读者信息,频繁更替的借
还书信息,传统的直接方法不但管理出现漏洞,
造成损失。因此有一个智能化、系统化、信息化
的图书管理系统十分重要的。充分利用计算机的
5
数据库课程设计
功能实现对读者管理、书籍管理,借阅管理等自
动化控制,将会使图书馆的工作大大减弱。方便
友好的图形界面、简便的操作、完善的数据库管
理。将会使得图书馆系统极大限度的应用于现代
化图书管理中。
1.2开发背景的选用及介绍
1.2.1SQLServer2008R2的简介
SQL是英文(StructuredQuery
Language)的缩写,意思为结构化查询语言。SQL
语言的主要功能就是同各种数据库建立联系,进
行沟通。SQL被作为关系型数据库管理系统的标
准语言。SQL语句可以用来执行各种各样的操作,
例如更新数据库中的数据,从数据库中提取数据
等。目前,绝大多数流行的关系型数据库管理系
统,如Oracle,Sybase,MicrosoftSQLServer,
Access等都采用了SQL语言标准。
SQL语言有以下几个优点:
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处
理一个记录,对数据提供自动导航。SQL允
6
数据库课程设计
许用户在高层的数据结构上工作,而不对单个记
录进行操作,可操作记录集,所有SQL语
句接受集合作为输入,返回集合作为输出。SQL
的集合特性允许一条SQL语句的结果作为另
一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法,这
种特性使用户更易集中精力于要得到的结果;
所有SQL语句使用查询优化器,它是RDBMS的一
部分,由它决定对指定数据存取的最快速
度的手段,查询优化器知道存在什么索引,在哪
儿使用索引合适,而用户则从不需要知道表
是否有索引、有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系
统管理员、数据库管理员、应用程序员、决策
支持系统人员及许多其它类型的终端用户。基本
的SQL命令只需很少时间就能学会,最高级的
命令在几天内便可掌握。
3.所有关系数据库的公共语言
7
数据库课程设计
由于所有主要的关系数据库管理系统都支持
SQL语言,用户可将使用SQL的技能从一个
RDBMS(关系数据库管理系统)转到另一个,所有
用SQL编写的程序都是可以移植的。
1.2.2VB6.0的简介
VB就是VisualBasic的意思,是一种常用
的编程开发工具。它的基础是编程语言Basic,
VisualBasic简单点来说就是微软为了更好的
让人们学习编程,应用上Basic开发语言的一
套工具,简称就是VBoVB的面世使原本极其复
杂困难的编程、软件开发的工作变得简单。VB是
Basic语言软件开发者的首选编译器,是学习
Basic语言编程必须要接触而且是经常接触的
一款整合型技术编译器。
2.需求分析
2.1系统需求
图书管理系统的主要功能是用于查询各项
图书的基本信息(包括图书的编号、书名、作者、
价格等),用户对图书的借阅,归还以及修改用
8
数据库课程设计
图1-1图书信息管理系统的需求分析
2.2功能需求
1.系统管理。系统管理功能是在该系统运行
结束后,用户通过选择“系统管理”-“退出”
命令能正常退出系统,回到Windows环境。
2.管理员登录。管理员可以方便进行图书管
理,用户管理。图书管理包括图书信息的查询,
添加,修改,删除。用户管理包括用户信息的
添查询,添加,修改和删除。
9
数据库课程设计
3.背景设置。设置背景和背景音乐。这是一
个辅助功能,目的是让操作者能在一个轻松、
愉快的环境下使用图书管理系统。
4.图书查询。未注册用户读者也可以浏览所
有的图书信息,但是无法借阅。
5.帮助。关于中显示有关图书管理系统的信
息、O
6.用户登录。用户通过卡号和密码进行登
录。登录后用户可进行图书的借阅,归还,超
期罚款,修改密码和借阅信息的查询等操作。
3.概念设计阶段
图书管理
删改
用户
或
图书
10
数据库课程设计
3.1实体E-R图
3.1.1管理员实体E-R图
腺
3.1.2系统£小图
U
数据库课程设计
4.逻辑结构设计阶段
4.1E-R图转换为关系模型
图书信息(编号,书名,作者,价格,出版
社,类型,库存)
读者(玉号,姓名,性别,类型,登录密码,
罚款,借书数量,余额,级别,单位)
借阅(编号,卡号,借书时间,还书时间)
管理员(账户,密码)
12
数据库课程设计
4.2数据字典
表4-2-1图书信息表
表中列名数据种类及长可否为空
度
编号char(10)Notnull
书名nchar(20)Notnull
作者nchar(20)Notnull
价格float
Null
出版社nchar(20)Null
类型nchar(20)Notnull
库存intNotnull
表4-2-2用户表
表中列名数据种类及长可否为空
度
卡号char(10)Notnull
数据库课程设计
姓名nchar(10)null
性别nchar(10)null
类型nchar(10)Null
登录密码varchar(10)null
罚款floatnull
借书数量intnull
余额floatnull
级别nchar(20)null
单位nchar(10)null
表4-2-3借阅表
表中列名数据种类及长可否为空
度
编号char(10)Notnull
卡号char(10)Notnull
借书时间datetimeNotnull
14
数据库课程设计
还书时间datetimenull
表4-2-4管理员表
表中列名数据种类及长可否为空
度
账户nchar(10)Notnull
密码nchar(10)Notnull
5.数据库实施与维护
5.1创建数据库,数据表
5.1.1创建book数据库
0Q威毒|
®口系统数据库
(±)a数索M快照
®|Jbook
5.1.2创建图书信息表
AFOJE-703151314.book-dbo.图书信息
列名数据类型允许Null值
闱用char(10)
书名nchar(20)
作者nchar(20)
价格float
出版社nchar(20)
类出nchar(20)
库存int
15
数据库课程设计
5.1.3创建用户表
AFOJE-703151314.book-db。用户AFOJE-703151314.
列名数据类型允许NUI值
闾用|char(10)
姓名nchar(lO)
性别nchar(lO)
类型nchar(lO)
登录密码varchar(lO)
罚款float
借书数里bt
余额float
级别nchar(20)
单位nchar(lO)
5.1.4创建借阅表
AFOJE-703151314.book-db。.借阅AFOJE-7031513141
列名数据类型允许NuM值□
►:彩3|char(10)
□
卡号
char(10)□
借书时间
datetme0
还书时间datetme
口
5.1.5创建管理员表
AFOJE-703151314.book-dbo.管理员AFOJE-7031513V
列名数据类型允许Null值
►:「日|nchar(lO)□
密码nchar(lO)□
□
6.应用程序设计
6.1图书管理员管理处理
6.1.1管理员处理流程图
16
数据库课程设计
任
17
数据库课程设计
6.1.2管理员处理功能实现
6.1.2.1管理员登录
输入管理员账户以及密码,按登录键登录,
或者按Enter键快捷登陆,返回键返回
管理员账户,f
密码:
登录|返回!
PublictryAsInteger'登录次数
PrivateSubCommand1_C1ick()
IfTextl=〃〃Then
MsgBox〃请输入管理员账户〃,,〃登录〃
Textl.SetFocus
ExitSub
EndIf
18
数据库课程设计
"〃
IfText2=Then
MsgBox〃请输入密码”,〃登录“
Text2.SetFocus
ExitSub
EndIf
sqlstr="select*from管理员where
账户&Trim(Text1)&and密码二&
Trim(Text2)&
Adodcl.RecordSource=sqlstr
Adodcl.Refresh
WithAdodcl.Recordset
IfNot.EOFThen
guanliyuan.Show
UnloadMe
Else
MsgBox〃账户或密码输入错误,请重
新输入。”,vbOKOnly+vbExcTarnation,“警告
19
数据库课程设计
Textl=
〃〃
Text2=
Textl.SetFocus
try=try+1
Iftry>2Then
MsgBox”三次输入错误,系统
将关闭〃,,〃登录〃
End
Else
ExitSub
EndIf
ExitSub
EndIf
EndWith
EndSub
PrivateSubtext2_keypress(keyasciiAs
Integer)
20
数据库课程设计
Ifkeyascii=13Then
Commandl_Click
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
6.1.2.2管理员页面
管理员界面有对图书和用户的添加,查询,
修改,删除操作。
21
数据库课程设计
PrivateSubbooks_add_Click()
addbook.Show
EndSub
PrivateSubbooks_dq_Click()
bookmodify.Show
EndSub
PrivateSubbooks_qur_Click()
chaxun.Show
EndSub
PrivateSubCommand1_C1ick()
UnloadMe
EndSub
PrivateSubusers_add_Click()
adduser.Show
EndSub
PrivateSubusers_dq_Click()
usersmodify.Show
22
数据库课程设计
EndSub
PrivateSubusers_qur_Click()
chaxunl.Show
EndSub
6.1.2.3添加图书/用户
对图书的添加操作和对用户的添加操作的
实质是相同的,只是表现的形式不同,这里以对
图书的添加为例。当所有信息都输入后,执行添
加操作,则会显示添加完成。如果信息不完整,
则会显示请输入完整信息,同时将鼠标键入空信
息栏。注意:编号设置为主键,故不能添加相同
的编号信息
23
数据库课程设计
0添加图书信息
出版社:回出版社
工程1X
添加
6.1.2.4修改,删除图书/用户
对图书的修改,删除操作和对用户的操作的
实质是相同的,只是表现的形式不同,这里以对
图书的修改和删除操作为例。首先,你可以通过
图书编号对图书信息查询,然后改动你所需要改
动的信息。对图书的删除只需按删除按钮即可删
除
24
数据库课程设计
修改图书信息□
图书编号:[94513102三1,查询
修改删除।返回|
6.2图书查询
6.2.1图书查询流程图
25
数据库课程设计
6.2.2图书查询功能实现
管理员中的图书查询操作与此相同,如将二
者合一,同时,对图书的查询操作和对用户的操
作的实质是相同的,只是表现的形式不同,故不
再重复对用户的查询操作。在查询操作中,可以
选择按编号,书名,作者和类型四种方式查询,
可以选择自己输入也可下拉菜单查询,查询结果
显示在下方
26
数据库课程设计
0图书查询□x
「编号查询ZJC书名查询
「作者查询c类型查询H、说
查询返回
OptionExplicit'在模块级别中
使用,强制显式声明模块中的所有变量。
PublicsqlstrAsString
'窗体载入时初始化4个组合框,通过ADO数据
控件获取各数据记录表
PrivateSubForm_Load()
initbh
initsm
initzz
initlx
27
数据库课程设计
EndSub
'在组合框cbobh的列表中列出所有的编号
Subinitbh()
Adodcl.RecordSource="select编号
from图书信息”
Adodcl.Refresh
WhileNotAdodcl.Recordset.EOF
cbobh.Additem
Adodcl.Recordset.Fields("编号")
Adodcl.Recordset.MoveNext
Wend
EndSub
'在组合框cbosm的列表中列出所有的书名
SubinitsmO
dodcl.RecordSource="select书名
from图书信息”
Adodcl.Refresh
28
数据库课程设计
WhileNotAdodcl.Recordset.EOF
cbosm.Additem
Adodcl.Recordset.Fields("书名”)
Adodcl.Recordset.MoveNext
WendEndSub
'在组合框cbozz的列表中列出所有的作者
SubinitzzO
Adodcl.RecordSource="select作者
from图书信息”
Adodcl.Refresh
WhileNotAdodcl.Recordset.EOF
cbozz.Additem
Adodcl.Recordset.Fields("作者”)
Adodcl.Recordset.MoveNext
Wend
EndSub
29
数据库课程设计
'在组合框cbolx的列表中列出所有的类型
SubinitlxO
Adodcl.RecordSource="selectdistinct
类型from图书信息〃
Adodcl.Refresh
WhileNotAdodcl.Recordset.EOF
cbolx.AddItem
Adodcl.Recordset.Fields("类型")
Adodcl.Recordset.MoveNext
Wend
EndSub
'选择
PrivateSubcbobh_click()
Optionl.Value=True
EndSub
PrivateSubcbosm_click()
0ption2.Value=True
30
数据库课程设计
EndSub
PrivateSubcbozz_click()
Option3.Value=True
EndSub
PrivateSubcbolx_click()
0ption4.Value=True
EndSub
'查询
PrivateSubCommand1_C1ick()
querybooks'调用
querybooks子过程
EndSub
'根据选择的条件查询图书信息
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Subquerybooks()
sqlstr="select编号,书名,作者,价格,
31
数据库课程设计
出版社,类型,库存
&"from图书信息
&"where”
IfOptionl.Value=TrueThen
sqlstr=sqlstr&"编号=’"&
Trim(cbobh.Text)&
EndIf
If0ption2.Value=TrueThen
sqlstr=sqlstr&"书名='"&
Trim(cbosm.Text)&"
EndIf
If0ption3.Value=TrueThen
sqlstr=sqlstr&"作者&
Trim(cbozz.Text)&
EndIf
If0ption4.Value=TrueThen
sqlstr=sqlstr&"类型=&
Trim(cbolx.Text)&"
32
数据库课程设计
EndIf
sqlstr=sqlstr&"orderby编号”
Adodcl.RecordSource=sqlstr
Adodcl.Refresh
IfAdodcl.Recordset.RecordCount=0
Then
MsgBox〃没有查找到满足条件的数据!
”,vbExclamation,"提示"
Else
SetDataGridl.DataSource=Adodcl
DataGridl.Columns(0).Width=1000
DataGridl.Columns(1).Width=2000
DataGridl.Columns(2).Width=1000
DataGridl.Columns(3).Width=1000
DataGridl.Columns(4).Width=1300
DataGridl.Columns(5).Width=1000
DataGridl.Columns(6).Width=1000
33
数据库课程设计
DataGridl.Refresh
EndIf
Label2.Caption="共查询到"&
Adodcl.Recordset.RecordCount&”条记录”
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
6.3用户登录
a工程1-frmusers(Form)卜o|!
34
数据库课程设计
6.3.1用户登录流程图
退
出
35
数据库课程设计
6.3.2用户登录功能实现
我要还书|
借阅信息|
我要借书|
退出登录
超期罚款|
6.3.2.1我要借书
用户可以通过选择书的编号进行借阅,借阅之
后会在借阅表中产生借阅信息。根据用户不同,
借书数量不同,老师为10本,学生为5本,当
库存不足时会显示库存不足,这时借阅会失败。
3选拄编号那513102▼借书成功!
确认完成
36
数据库课程设计
6.3.2.2我要还书
用户可以通过选择书的编号进行还书,还书之
后会在借阅表中产生还书信息
G选择编号|945131023还书成功!
确认完成_返回—।
6.3.2.3借阅信息
将借阅表中的信息显示出来
6・3.2.4超期罚款
当借阅的时间超过规定时间(教师为90天,
学生为60天),便会产生超期罚款,超期时间,
每天罚款0.1元
37
数据库课程设计
0超期罚款□>
罚款金额:0
退出
6.3.2.5修改密码
用户可在此进行密码修改,当新密码和确认密
码不相同时,确认按钮则会变成不可以状态,且
确认密码右侧会有“两次密码不同,请确认密码
的提示,只有当新密码和确认密码相同时,确认
按钮才会变成可用状态
清确认
确定|
取消
PrivateSubCommandl_Click()
38
数据库课程设计
IfTextl=""Then
MsgBox〃请输入账户〃,,〃登录〃
Textl.SetFocus
ExitSub
EndIf
IfText2=""Then
MsgBox〃请输入密码〃,,〃登录〃
Text2.SetFocus
ExitSub
EndIf
IfText3=""Then
MsgBox〃请输入新密码〃,〃登录〃
Text3.SetFocus
ExitSub
EndIf
sqlstr="select*from用户where卡
号&Trim(Textl)&and登录密码二&
39
数据库课程设计
Trim(Text2)&
Adodcl.RecordSource=sqlstr
Adodcl.Refresh
WithAdodcl.Recordset
IfNot.EOFThen
.FieldsC登录密码〃)
Trim(Text4)
・Update
MsgBox〃密码修改成功!!“
Textl=
Text2=
"〃
Text3=
"〃
Text4=
UnloadMe
Else
MsgBox〃账户或密码输入错误,请重新
输入。",vbOKOnly+vbExclamation,"警告”
40
数据库课程设计
Textl二〃〃
Text2="〃
Text3="〃
Text4=
Textl.SetFocus
ExitSub
EndIf
EndWith
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubText4_Change()
Command1.Enabled=False
IfTrim(Text4)=Trim(Text3)Then
Label5.Caption="两次密码相同”
Command1.Enabled=True
41
数据库课程设计
Else
Label5.Caption=”两次密码不同,请确认
密码〃
ExitSub
EndIf
EndSub
PrivateSubtext4_keypress(keyasciiAs
Integer)
Ifkeyascii=13Then
Commandl_Click
EndIf
EndSub
6.4背景设置
42
数据库课程设计
O图书管理系统□X
茎统曾理张户告理苜具设置普助
图书查询
I©…—〔用户登录:
欢迎来到中南大学图
PrivateSubForm_Load()
'窗体居中显示
Me.Light(0).Enabled=True
Me.Light(1).Enabled=False
Me.Music(0).Enabled=True
Me.Music(1).Enabled=False
'准备播放音乐
IsMusicOn=False
43
数据库课程设计
WindowsMediaPlayerl.URL=App.Path&
〃/bg.mp3〃'歌曲的位目
WindowsMediaPlayerl.uiMode="mini"
’播放器界面模式
WindowsMediaPlayerl.settings,volume=
100'音量,0-100
WindowsMediaP1ayer1.settings.playCount二
100'播放次数
WindowsMediaPlayerl.Controls,stop
MsgBox”欢迎使用中南大学图书馆管理系
统〃
EndSub
PrivateSubForm__Unload(CancelAsInteger)
'退出时检查并关闭音乐
IfIsMusicOn=TrueThen
WindowsMediaP1ayer1.Controls,stop
EndIf
44
数据库课程设计
EndSub
PrivateSubFramel_DragDrop(SourceAs
Control,XAsSingle,YAsSingle)
EndSub
'背景图片控制
,,,,,,,,,,,,,,,,,,,,,,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豫德投资担保公司发展战略:基于市场与环境视角的深度剖析
- 谢一矿深部煤质剖析:特征探究与配煤炼焦影响的深度解析
- 调肝理脾汤合小儿推拿:小儿疳气型疳证治疗新视角
- 2026浙江杭州市上城区湖滨街道社区卫生服务中心编外招聘1人笔试模拟试题及答案详解
- 说话人声纹识别算法:演进、挑战与创新
- 语言环境对儿童人称代词习得的影响:普通话与英语儿童的比较研究
- 2026年安康市福利彩票市场专管员招聘(12人)笔试模拟试题及答案详解
- 成都中医药大学体育健康学院2026年助学助管员招用笔试模拟试题及答案详解
- 2026年度东营市市级机关公开遴选公务员职位表(18人)考试模拟试题及答案详解
- 2026浙江嘉兴市高照街道招聘消防人员2人考试参考题库及答案详解
- 2026内蒙古鄂尔多斯市本级事业单位第二批引进高层次和紧缺人才28人备考题库及一套完整答案详解
- 杭州市博物馆藏品管理制度(试行)
- 促销活动外包合同
- 小升初小学数学《找规律》大题量练习总复习试卷练习题一
- 2026年食品安全管理员资格考试试题【带答案】
- 五卅反帝爱国运动历史回顾
- 湖南省技术产权交易所有限责任公司招聘笔试题库2026
- 2026年4月自考00160审计学试题及答案含评分参考
- 2026年4月自考00022高等数学(工专)试题
- 对比剂不良反应应急预案演练脚本
- 2025年河南焦作市八年级地生会考真题试卷+答案
评论
0/150
提交评论