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

下载本文档

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

文档简介

1、数据库课程设计数据库大作业信息科学与工程学院2016年12月图书信息管理系统姓 名:汤江波班 级:电气T1501学 号:0908150305指导老师:韩华目录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

9、 null作者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卡号

10、char(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.

11、1 管理员登录输入管理员账户以及密码,按登录键登录,或者按 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 密码= &

12、 Trim(Text2) & 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 Su

13、b End If 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

14、SubPrivate 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.Reco

17、rdSource = 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.Rec

18、ordset.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.Reco

19、rdSource = 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() O

20、ption3.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.T

21、ext) & 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

22、 = sqlstr 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

23、).Width = 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 用户登录

24、功能实现6.3.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 卡号= &

26、 Trim(Text1) & 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 =

27、Text4 = 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

28、 text4_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 WindowsMe

30、diaPlayer1.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 关闭背景图片 Ima

31、ge1.Visible = 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.Controls.stop 关闭 Music(0).Enabled = True End IfEnd Sub7.心得体会1. 这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、功能实现

温馨提示

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

评论

0/150

提交评论