数据库原理实验报告_第1页
数据库原理实验报告_第2页
数据库原理实验报告_第3页
数据库原理实验报告_第4页
数据库原理实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理课程设计题 目:图书馆管理系统 学 校:福建农林大学东方学院 专 业:计算机科学与技术2班 学 号: 姓 名: 学 号: 姓 名: 指导教师: 2011 年 6 月 26 号目 录1. 引言. 2 1.1课程设计的目的. 2 1.2 设计的实际目的和意义. 21.2.1设计的意义. 2 1.2.2设计的实际目的. 22. 设计内容和要求. 22.1功能需求分析.22.2系统需要解决的主要问题.32.3系统应该具备的基本功能.33. 数据库设计.33.1系统结构设计.33.1.1总体设计图.33.2.1 系统E-R图表示.43.2.2数据库表截图分析.44程序设计.54.1界面设计及主要功能代码. 54.1登录界面.54.2 主菜单界面.54.3借书界面.74.4 借阅查询界面.84.5 还书界面.94.6 读者信息界面.104.7 图书信息查阅界面.124.8 添加读者界面.134.9 添加图书界面.135. 总结.136. 结束语.141引言1.1、课程设计的目的1、掌握数据库设计的基本方法,熟悉数据库设计的步骤。2、 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。3、学习基本“C/S结构”数据库编程方法。1.2 设计的实际目的和意义1.2.1设计的意义图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。但图书馆管理若采用完全手工操做,通过卡片记录信息,既浪费时间,又浪费人工、纸张,而且书籍和读者的信息查询比较麻烦,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。1.2.2设计的实际目的图书馆管理系统是为实现图书管理工作系统化、规范化、自动化,运用Visual Basic 6.0数据库管理系统开发的应用软件。它将计算机操作及管理融到图书管理系统的实际运用中,使日常手工管理的复杂方法和过程被计算机简单、易行的操作所替代,一方面图书馆在正常运营中总是面对大量的读者信息 、书籍信息以及两者相互作用产生的借书信息 、还书信息.因此需要对读者资源 、书籍资源、借书信息 、还书信息进行管理 、及时了解各个环节的变更,这系统能够迅速、准确地向图书馆管理者提供有效的信息;另一方面也极大地减轻了工作人员的工作强度、提高了工作效率,充分地发挥了人力资源的作用。通过开发本系统,旨在推动企业对计算机技术的普及与运用,促进图书馆管理系统的现代化、科学化和规范化。2设计内容和要求图书管理信息系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立要求建立起数据一致性和完整性强.数据安全性好的库。而对于前端应用程序则要求应用程序功能完备,易使用等特点。2.1功能需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护及系统状态的查看、维护并生成催还图书报表。2.2系统需要解决的主要问题图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息。 2.3系统应该具备的基本功能系统功能分析是在系统开发的总体任务的基础上完成。图书管理系统需要完成功能主要有:关于图书资料管理的图书信息:图书类别、书籍编号、书籍名称、作者姓名、出版社名称等。关于读者管理的读者信息:读者类别、登记日期、读者姓名、性别、读者编号、家庭住址、电话号码、工作单位等。关于借还书管理的:借书信息:读者姓名、书籍编号、书名、类别、作者、出版社等。还书信息:图书编号、读者编号、读者姓名、书籍编号、书籍名称等。这三个方面形成了图书借阅的一个工作整体,利用计算机的自动化处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书借阅信息管理。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆的借阅。3数据库设计3.1系统结构设计系统结构采用当前流行的C/S结构,也就是客户端/服务器模式,它开发时间短,成本低,而且数据量的传输快等优点。本设计是以学校图书馆借阅系统为例。编程语言采用delphi6.0,它可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,可以轻松方便的对数据库管理。3.1.1总体设计图3.2.1 系统E-R图表示3.2.2 数据库表截图分析根据系统ER图,应用SQLSever 2000,设计数据库,共分化成七个表:读者类别表、读者信息表、罚款处理、借阅信息表、书籍信息、图书类别、系统管理表分别截图如下. 表3.1 表3.2 表3.3 表3.4 表3.5 表3.6 表3.74界面设计和主要功能代码4.1登录界面思想:设计登录界面,创建一个新的”Windows窗体”,名为登录,作为本系统的登录界面.在登录窗体上添加两个Label控件,两个Button控件和两个TextBox控件,添加控件后的窗体如图4.1.1所示。欢迎界面是整个系统首页,用户可通过该界面登录系统。使用者根据自己的身份选择登录方式。在此,分别有管理员(用户名:admin,密码:admin),和用户(用户名:guest,密码:guest)均可登入。Private Sub Command1_Click()Dim sql As StringDim rs_login As New ADODB.RecordsetIf Trim(txtuser.Text) = Then 判断输入的用户名是否为空 MsgBox 没有这个用户, vbOKOnly + vbExclamation, txtuser.SetFocusElse sql = select * from 系统管理 where 用户名= & txtuser.Text & rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, txtuser.SetFocus Else 检验密码是否正确 If Trim(rs_login.Fields(1) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me Main.Show Else MsgBox 密码不正确, vbOKOnly + vbExclamation, txtpwd.SetFocus End If End IfEnd Ifcnt = cnt + 1If cnt = 3 Then Unload MeEnd IfExit SubEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub4.2主菜单界面:思想:管理员和用户均可登入此页面,并且在工具栏设置一个个功能图标,用户可点击相应图标的功能进行操作,即会弹出相应的界面。 图4.1.2系统主菜单界面当不同身份登录进行特定操作,验证仅当身份选择,用户名,及其对应密码都正确方可成功登录到相应界面。4.3借书页面思想:进入借书页面后,用户可输入所要借阅图书的相关信息,点击“借这本书”的按钮,即可完成借阅。Private Sub Command1_Click()Dim rs_borrowbook As New ADODB.RecordsetDim sql As Stringsql = select * from 读者信息 where 读者编号= & Combo1.Text & rs_borrowbook.Open sql, conn, adOpenKeyset, adLockPessimisticleibie = rs_borrowbook.Fields(3)shumu = rs_borrowbook.Fields(8)rs_borrowbook.Closesql = select * from 读者类别 where 种类名称= & leibie & rs_borrowbook.Open sql, conn, adOpenKeyset, adLockPessimisticqixian = rs_borrowbook.Fields(2)maxnum = rs_borrowbook.Fields(1)rs_borrowbook.CloseIf shumu = maxnum Then MsgBox 该读者借书数额已满!, vbOKOnly + vbExclamation Exit SubEnd Ifsql = select * from 借阅信息rs_borrowbook.Open sql, conn, adOpenKeyset, adLockPessimisticrs_borrowbook.AddNewrs_borrowbook.Fields(1) = Combo1.Textrs_borrowbook.Fields(2) = Combo2.Textrs_borrowbook.Fields(3) = Label8.Captionrs_borrowbook.Fields(4) = Label9.Captionrs_borrowbook.Fields(5) = Daters_borrowbook.Fields(6) = DateAdd(Ww, qixian, Date)rs_borrowbook.Updaters_borrowbook.Closesql = select * from 书籍信息 where 书籍编号= & book_num & rs_borrowbook.Open sql, conn, adOpenKeyset, adLockPessimisticrs_borrowbook.Fields(7) = 是rs_borrowbook.Updaters_borrowbook.Closesql = select * from 读者信息 where 读者编号= & Combo1.Text & rs_borrowbook.Open sql, conn, adOpenKeyset, adLockPessimisticrs_borrowbook.Fields(8) = rs_borrowbook.Fields(8) + 1rs_borrowbook.Updaters_borrowbook.CloseMsgBox 本书借阅成功!, vbOKOnly + vbExclamationUnload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub4.4借阅查询界面思想:可按照已借出图书,为借出图书和读者姓名三种信息进行查阅,点击任以选框即可连接借阅信息表进行查阅。4.5还书界面思想:分别按照读者信息和书籍信息进行查阅要还的书籍,可连接到借阅信息表来显示。点击“还书”按钮弹出“确定要还这本书吗?”的文本框,点击“是”就可完成还书,而后弹出“成功删除信息”的文本框。Private Sub Command3_Click()Dim book_num As StringDim reader_num As StringDim answer As StringDim rs_back As New ADODB.RecordsetDim sql As StringOn Error GoTo delerrorbook_num = DataGrid1.Columns(3).CellValue(DataGrid1.Bookmark)reader_num = DataGrid1.Columns(1).CellValue(DataGrid1.Bookmark)answer = MsgBox(确定要还这本书吗?, vbYesNo, )If answer = vbYes Then sql = select * from 借阅信息 where 书籍编号= & book_num & rs_back.CursorLocation = adUseClient rs_back.Open sql, conn, adOpenKeyset, adLockPessimistic rs_back.Delete rs_back.Update rs_back.Close sql = select * from 书籍信息 where 书籍编号= & book_num & rs_back.CursorLocation = adUseClient rs_back.Open sql, conn, adOpenKeyset, adLockPessimistic rs_back.Fields(7) = 否 rs_back.Update rs_back.Close sql = select * from 读者信息 where 读者编号= & reader_num & rs_back.CursorLocation = adUseClient rs_back.Open sql, conn, adOpenKeyset, adLockPessimistic rs_back.Fields(8) = rs_back.Fields(8) - 1 rs_back.Update rs_back.Close If findform = True Then Command1_Click Else Command2_Click End If MsgBox 成功删除!, vbOKOnly + vbExclamation, DataGrid1.AllowDelete = FalseElse Exit SubEnd Ifdelerror:If Err.Number 0 Then MsgBox Err.DescriptionEnd IfEnd SubPrivate Sub Command4_Click()Unload MeEnd Sub4.6读者信息查询界面思想:可根据读者编号,读者姓名或读者种类中的一个信息,就可以连接到读者信息表,方便地查阅到相关的读者的具体信息。Private Sub Command1_Click()Dim rs_findreader As New ADODB.RecordsetDim sql As StringIf Check1.Value = vbChecked Then sql = 读者编号= & Trim(Text1.Text & ) & End IfIf Check2.Value = vbChecked Then If Trim(sql) = Then sql = 读者姓名= & Trim(Text2.Text & ) & Else sql = sql & and 读者姓名= & Trim(Text2.Text & ) & End IfEnd IfIf Check3.Value = vbChecked Then If Trim(sql) = Then sql = 读者类别= & Trim(Combo1.Text & ) & Else sql = sql & and 读者类别= & Trim(Combo1.Text & ) & End IfEnd Ifsql = select * from 读者信息 where & sqlrs_findreader.CursorLocation = adUseClientrs_findreader.Open sql, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_findreaderrs_findreader.CloseEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim rs_find As New ADODB.RecordsetDim sql As Stringsql = select * from 读者类别rs_find.Open sql, conn, adOpenKeyset, adLockPessimisticIf Not rs_find.EOF Then Do While Not rs_find.EOF Combo1.AddItem rs_find.Fields(0) rs_find.MoveNext Loop Combo1.ListIndex = 0End Ifrs_find.CloseEnd Sub4.7图书信息查阅界面思想:和读者信息查阅相似,点击相应的按钮,连接到图书信息表,即可查阅。4.8添加读者界面思想:进入读者信息界面后,按照里面的提示框填入相应的信息,数据库的读者信息即可增加,点击确定按钮就可完成。Private Sub Command1_Click()Dim sql As StringIf Trim(Combo1.Text) = Then MsgBox 请选择读者种类, vbOKOnly + vbExclamation, Combo1.SetFocus Exit SubEnd IfIf Trim(Text1.Text) = Then MsgBox 读者姓名不能为空, vbOKOnly + vbExclamation, Text1.SetFocus Exit SubEnd IfIf Trim(Text2.Text) = Then MsgBox 读者编号不能为空, vbOKOnly + vbExclamation, Text2.SetFocus Exit SubEnd Ifsql = select * from 读者信息 where 读者编号= & Text2.Text & rs_addreader.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_addreader.EOF Then rs_addreader.AddNew rs_addreader.Fields(0) = Trim(Text1.Text) rs_addreader.Fields(1) = Trim(Text2.Text) rs_addreader.Fields(2) = Trim(Combo2.Text) rs_addreader.Fields(3) = Trim(Combo1.Text) rs_addreader

温馨提示

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

评论

0/150

提交评论