《数据库课程设计——图书管理系统(共32页).docx》由会员分享,可在线阅读,更多相关《数据库课程设计——图书管理系统(共32页).docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库大作业信息科学与工程学院2016年12月图书信息管理系统姓 名:汤江波班 级:电气T1501学 号:指导老师:韩华目录1.绪论41.1 背景介绍41.2 开发背景的选用及介绍42.需求分析52.1 系统需求52.2 功能需求53.概念设计阶段43.1 实体E-R图64.逻辑结构设计阶段64.1 E-R图转换为关系模型64.2 数据字典65数据库实施与维护75.1 创建数据库、数据表76.应用程序设计86.1 图书管理员管理处理86.2 图书查询126.3 用户登录176.4 背景设置227. 心得体会248.参考文献241.绪论1.1 背景介绍随着社会的发展,人
2、们对于知识的需求也在不断地增长。书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充分利用。这时图书馆就特别需要开发一套书刊租借管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本。一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系
3、统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中。1.2 开发背景的选用及介绍1.2.1 SQL Server 2008 R2的简介SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型
4、数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。SQL语言有以下几个优点:1. 非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存
5、取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。2. 统一的语言 SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。3. 所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。1.2.2 VB6.0的简介VB 就是 Visual Basic 的意思,是
6、一种常用的编程开发工具。它的基础是编程语言Basic ,Visual Basic 简单点来说就是微软为了更好的让人们学习编程,应用上 Basic 开发语言的一套工具,简称就是 VB。VB 的面世使原本极其复杂困难的编程、软件开发的工作变得简单。VB 是 Basic 语言软件开发者的首选,是学习 Basic 语言编程必须要接触而且是经常接触的一款整合型技术编译器。2.需求分析2.1 系统需求图书管理系统的主要功能是用于查询各项图书的基本信息(包括图书的编号、书名、作者、价格等),用户对图书的借阅,归还以及修改用户密码等操作。用户图书信息管理系统 借阅信息 罚款管理员 修改密码 用户信息 借书 还
7、书游客 图书信息 图书查询图1-1 图书信息管理系统的需求分析2.2 功能需求1. 系统管理。系统管理功能是在该系统运行结束后,用户通过选择“系统管理”-“退出”命令能正常退出系统,回到Windows环境。2. 管理员登录。管理员可以方便进行图书管理,用户管理。图书管理包括图书信息的查询,添加,修改,删除。用户管理包括用户信息的添查询,添加,修改和删除。3. 背景设置。设置背景和背景音乐。这是一个辅助功能,目的是让操作者能在一个轻松、愉快的环境下使用图书管理系统。4. 图书查询。未注册用户读者也可以浏览所有的图书信息,但是无法借阅。5. 帮助。关于中显示有关图书管理系统的信息。6. 用户登录。
8、用户通过卡号和密码进行登录。登录后用户可进行图书的借阅,归还,超期罚款,修改密码和借阅信息的查询等操作。3. 概念设计阶段 3.1实体E-R图3.1.1 管理员实体E-R图 账户 密码管理员3.1.2系统E-R图4.逻辑结构设计阶段4.1 E-R图转换为关系模型 图书信息(编号,书名,作者,价格,出版社,类型,库存)读者(卡号,姓名,性别,类型,登录密码,罚款,借书数量,余额,级别,单位)借阅(编号,卡号,借书时间,还书时间)管理员(账户,密码)4.2 数据字典 表4-2-1 图书信息表表中列名数据种类及长度可否为空编号char(10)Not null书名nchar(20)Not null作者
9、nchar(20)Not null价格float Null出版社nchar(20)Null类型nchar(20)Not null库存intNot null 表4-2-2 用户表表中列名数据种类及长度可否为空卡号char(10)Not null姓名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)Not null卡号char(10
10、)Not null借书时间datetimeNot null还书时间datetimenull表4-2-4 管理员表表中列名数据种类及长度可否为空账户nchar(10)Not null密码nchar(10)Not null5.数据库实施与维护5.1 创建数据库,数据表5.1.1 创建book数据库5.1.2 创建图书信息表5.1.3 创建用户表5.1.4 创建借阅表5.1.5 创建管理员表6. 应用程序设计 6.1 图书管理员管理处理6.1.1 管理员处理流程图开始 管理员登录 否 判断密码 管理员界面 是选择操作图书管理用户管理 退出结束6.1.2 管理员处理功能实现 6.1.2.1 管理员登录
11、输入管理员账户以及密码,按登录键登录,或者按 Enter 键快捷登陆,返回键返回 Public try As Integer 登录次数Private Sub Command1_Click() If Text1 = Then MsgBox 请输入管理员账户, , 登录 Text1.SetFocus Exit Sub End If If Text2 = Then MsgBox 请输入密码, , 登录 Text2.SetFocus Exit Sub End If sqlstr = select * from 管理员 where 账户= & Trim(Text1) & and 密码= & Trim(T
12、ext2) & Adodc1.RecordSource = sqlstr Adodc1.Refresh With Adodc1.Recordset If Not .EOF Then guanliyuan.Show Unload Me Else MsgBox 账户或密码输入错误,请重新输入。, vbOKOnly + vbExclamation, 警告 Text1 = Text2 = Text1.SetFocus try = try + 1 If try 2 Then MsgBox 三次输入错误,系统将关闭, , 登录 End Else Exit Sub End If Exit Sub End I
13、f End WithEnd SubPrivate Sub text2_keypress(keyascii As Integer)If keyascii = 13 ThenCommand1_ClickEnd IfEnd SubPrivate Sub Command2_Click() Unload MeEnd Sub 6.1.2.2 管理员页面管理员界面有对图书和用户的添加,查询,修改,删除操作。Private Sub books_add_Click()addbook.ShowEnd SubPrivate Sub books_dq_Click()bookmodify.ShowEnd SubPriv
14、ate Sub books_qur_Click()chaxun.ShowEnd SubPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub users_add_Click()adduser.ShowEnd SubPrivate Sub users_dq_Click()usersmodify.ShowEnd SubPrivate Sub users_qur_Click()chaxun1.ShowEnd Sub 6.1.2.3 添加图书/用户对图书的添加操作和对用户的添加操作的实质是相同的,只是表现的形式不同,这里以对图书的添加为例。当所有
15、信息都输入后,执行添加操作,则会显示添加完成。如果信息不完整,则会显示请输入完整信息,同时将鼠标键入空信息栏。注意:编号设置为主键,故不能添加相同的编号信息6.1.2.4 修改,删除图书/用户对图书的修改,删除操作和对用户的操作的实质是相同的,只是表现的形式不同,这里以对图书的修改和删除操作为例。首先,你可以通过图书编号对图书信息查询,然后改动你所需要改动的信息。对图书的删除只需按删除按钮即可删除 6.2 图书查询6.2.1 图书查询流程图开始 图书查询选择操作作者查询类型查询编号查询书名查询 退出结束6.2.2 图书查询功能实现管理员中的图书查询操作与此相同,如将二者合一,同时,对图书的查询
16、操作和对用户的操作的实质是相同的,只是表现的形式不同,故不再重复对用户的查询操作。在查询操作中,可以选择按编号,书名,作者和类型四种方式查询,可以选择自己输入也可下拉菜单查询,查询结果显示在下方Option Explicit 在模块级别中使用,强制显式声明模块中的所有变量。Public sqlstr As String窗体载入时初始化4个组合框,通过ADO数据控件获取各数据记录表Private Sub Form_Load() initbh initsm initzz initlxEnd Sub在组合框cbobh的列表中列出所有的编号Sub initbh() Adodc1.RecordSourc
17、e = select 编号 from 图书信息 Adodc1.Refresh While Not Adodc1.Recordset.EOF cbobh.AddItem Adodc1.Recordset.Fields(编号) Adodc1.Recordset.MoveNext WendEnd Sub在组合框cbosm的列表中列出所有的书名Sub initsm() dodc1.RecordSource = select 书名 from 图书信息 Adodc1.Refresh While Not Adodc1.Recordset.EOF cbosm.AddItem Adodc1.Recordset.
18、Fields(书名) Adodc1.Recordset.MoveNext Wend End Sub在组合框cbozz的列表中列出所有的作者Sub initzz() Adodc1.RecordSource = select 作者 from 图书信息 Adodc1.Refresh While Not Adodc1.Recordset.EOF cbozz.AddItem Adodc1.Recordset.Fields(作者) Adodc1.Recordset.MoveNext WendEnd Sub在组合框cbolx的列表中列出所有的类型Sub initlx() Adodc1.RecordSourc
19、e = select distinct 类型 from 图书信息 Adodc1.Refresh While Not Adodc1.Recordset.EOF cbolx.AddItem Adodc1.Recordset.Fields(类型) Adodc1.Recordset.MoveNext WendEnd Sub选择Private Sub cbobh_click() Option1.Value = TrueEnd SubPrivate Sub cbosm_click() Option2.Value = TrueEnd SubPrivate Sub cbozz_click() Option3.
20、Value = TrueEnd SubPrivate Sub cbolx_click() Option4.Value = TrueEnd Sub查询Private Sub Command1_Click() querybooks 调用querybooks子过程End Sub根据选择的条件查询图书信息Sub querybooks() sqlstr = select 编号,书名,作者,价格,出版社,类型,库存 _ & from 图书信息 _ & where If Option1.Value = True Then sqlstr = sqlstr & 编号= & Trim(cbobh.Text) &
21、End If If Option2.Value = True Then sqlstr = sqlstr & 书名= & Trim(cbosm.Text) & End If If Option3.Value = True Then sqlstr = sqlstr & 作者= & Trim(cbozz.Text) & End If If Option4.Value = True Then sqlstr = sqlstr & 类型= & Trim(cbolx.Text) & End If sqlstr = sqlstr & order by 编号 Adodc1.RecordSource = sqls
22、tr Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 没有查找到满足条件的数据!, vbExclamation, 提示 Else Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 1000 DataGrid1.Columns(1).Width = 2000 DataGrid1.Columns(2).Width = 1000 DataGrid1.Columns(3).Width = 1000 DataGrid1.Columns(4).Width
23、 = 1300 DataGrid1.Columns(5).Width = 1000 DataGrid1.Columns(6).Width = 1000 DataGrid1.Refresh End If Label2.Caption = 共查询到 & Adodc1.Recordset.RecordCount & 条记录End SubPrivate Sub Command2_Click()Unload MeEnd Sub 6.3 用户登录6.3.1 用户登录流程图开始 用户登录判断密码 否 用户功能界面 功能选择退出登录我要借书超期罚款修改密码我要还书借阅信息结束6.3.2 用户登录功能实现6.3
24、.2.1 我要借书用户可以通过选择书的编号进行借阅,借阅之后会在借阅表中产生借阅信息。根据用户不同,借书数量不同,老师为10本,学生为5本,当库存不足时会显示库存不足,这时借阅会失败。6.3.2.2我要还书用户可以通过选择书的编号进行还书,还书之后会在借阅表中产生还书信息6.3.2.3 借阅信息将借阅表中的信息显示出来6.3.2.4 超期罚款当借阅的时间超过规定时间(教师为90天,学生为60天),便会产生超期罚款,超期时间,每天罚款0.1元6.3.2.5 修改密码用户可在此进行密码修改,当新密码和确认密码不相同时,确认按钮则会变成不可以状态,且确认密码右侧会有“两次密码不同,请确认密码”的提示
25、,只有当新密码和确认密码相同时,确认按钮才会变成可用状态Private Sub Command1_Click() If Text1 = Then MsgBox 请输入账户, , 登录 Text1.SetFocus Exit Sub End If If Text2 = Then MsgBox 请输入密码, , 登录 Text2.SetFocus Exit Sub End If If Text3 = Then MsgBox 请输入新密码, , 登录 Text3.SetFocus Exit Sub End If sqlstr = select * from 用户 where 卡号= & Trim(T
26、ext1) & and 登录密码= & Trim(Text2) & Adodc1.RecordSource = sqlstr Adodc1.Refresh With Adodc1.Recordset If Not .EOF Then .Fields(登录密码) = Trim(Text4) .Update MsgBox 密码修改成功! Text1 = Text2 = Text3 = Text4 = Unload Me Else MsgBox 账户或密码输入错误,请重新输入。, vbOKOnly + vbExclamation, 警告 Text1 = Text2 = Text3 = Text4 =
27、 Text1.SetFocus Exit Sub End If End WithEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Text4_Change() Command1.Enabled = False If Trim(Text4) = Trim(Text3) Then Label5.Caption = 两次密码相同 Command1.Enabled = True Else Label5.Caption = 两次密码不同,请确认密码 Exit Sub End IfEnd SubPrivate Sub text4_
28、keypress(keyascii As Integer)If keyascii = 13 ThenCommand1_ClickEnd IfEnd Sub6.4 背景设置Private Sub Form_Load()窗体居中显示 Me.Light(0).Enabled = True Me.Light(1).Enabled = False Me.Music(0).Enabled = True Me.Music(1).Enabled = False准备播放音乐 IsMusicOn = False WindowsMediaPlayer1.URL = App.Path & /bg.mp3 歌曲的位置
29、WindowsMediaPlayer1.uiMode = mini 播放器界面模式 WindowsMediaPlayer1.settings.volume = 100 音量,0-100 WindowsMediaPlayer1.settings.playCount = 100 播放次数 WindowsMediaPlayer1.Controls.stop MsgBox 欢迎使用中南大学图书馆管理系统End SubPrivate Sub Form_Unload(Cancel As Integer)退出时检查并关闭音乐 If IsMusicOn = True Then WindowsMediaPlay
30、er1.Controls.stop End IfEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub背景图片控制Private Sub Light_Click(Index As Integer) Light(Index).Enabled = False If Index = 0 Then 打开背景图片 Image1.Visible = True Light(1).Enabled = True End If If Index = 1 Then 关闭背景图片 Image1.Vis
31、ible = False Light(0).Enabled = True End IfEnd Sub背景音乐控制Private Sub Music_Click(Index As Integer) Music(Index).Enabled = False If Index = 0 Then 打开背景音乐 IsMusicOn = True WindowsMediaPlayer1.Controls.play 播放 Music(1).Enabled = True End If If Index = 1 Then 关闭背景音乐 IsMusicOn = False WindowsMediaPlayer1.
32、Controls.stop 关闭 Music(0).Enabled = True End IfEnd Sub7.心得体会1. 这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、功能实现及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这两个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。还有功能实现阶段,在此阶段,我们通过所学知识,以及利用课本和网上的资料,将理论付诸实践,将设计出来的虚构的东西变成实实在在的一个程序,必须
33、懂得如何高效利用身边的资源。2. 这次课程设计加深了我对数据库系统概论相关知识和SQL Server2008 R2和VB6.0相关功能的理解。例如对建立基本表,对控件的使用还有对SQL语言和VB语言的运用等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。3. 当然,在实习的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。4. 我们做任何事,无论是课程设计还是其他的一些事,都会遇到一些困难,在这时候,千万不能有退却的想法,一定要迎难而上,只要你坚持做下去,困难终会被克服,这是本次课程设计给我的最大体会。8.参考文献 1 王小玲 安剑奇,数据库技术与应用(SQL Server 2008版);中国水利水电出版社2 王小玲 安剑奇,数据库技术与应用(SQL Server 2008版)实践教程;中国水利水电出版社专心-专注-专业