数据库课程设计-图书管理系统_第1页
数据库课程设计-图书管理系统_第2页
数据库课程设计-图书管理系统_第3页
数据库课程设计-图书管理系统_第4页
数据库课程设计-图书管理系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

数据库课程设计一一图书管理

系统

数据库课程设计

中由大哆

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论