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

下载本文档

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

文档简介

1、网络数据库课程设计报告华 北 科 技 学 院课程设计说明书班级: 信管b082 学号: 姓名: 设计题目: 图书借阅管理系统 设计时间: 20110627 至 20110701 指导教师: 评 语: 评阅成绩: 评阅教师: 目录1 引 言11.1课程设计选题11.2课程设计的目的11.3本选题的设计背景12 需求分析12.1 功能需求12.2 系统的开发运行环境13 总体设计23.1 系统体系结构设计23.2系统功能模块及主要类设计24 数据库设计24.1 数据表设计(要体现数据完整性)24.2 存储过程与触发器设计24.3 索引设计24.4 安全性设计25 详细设计25.1 登录模块25.2

2、 查询模块35.3 管理模块36 小结和展望3参 考 文 献3-19-1 引 言1.1课程设计选题图书借阅管理系统1.2课程设计的目的使学生在充分理解网络数据库课程知识点的基础上,初步掌握将数据库sql server应用于具体的管理信息系统中。把数据库原理、网络数据库、高级语言有机的结合在一起,以数据库原理的理论为指导设计数据库,再将数据库设计应用到具体实例中。达到以vb、java等可视化语言为前台开发软件,sql server数据库作为后台数据库,开发出一个较为完善的数据库管理应用系统。1.3本选题的设计背景图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。由于图书馆主要从事大

3、量的图书资料的储存和流通。所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。目前,由于各大高校的学生和教师数量日益增加,借还书籍情况也随之日益增长。本系统设计的目的就是要达到对教师、学生、以及工作人员对图书借还的日常管理,能快速完成,并对信息进行数据库管理。为了适应学校中小型图书馆业务发展的需要,解决问题。所以设计了图书借阅管理系统,本系统不仅能利用当前的软件开发技术和校园网建设成果,方便读者查询、借阅操作,解决流通中存在的问题。而且,能结合本学校资金投入有限、图书需求量大等特点,对图书管理中各业务环节的加强管理。所以系统在实现时,实现传统的登录、查询和管理等环节。2 需求分析2.1

4、功能需求系统的功能需求具体体现在通过对系统设计一般读者、借阅工作人员和系统管理员三级用户,分别实现相应的功能,读者登录系统只能查询自己的信息和自己的借阅信息以及查询图书的信息;工作人员登录系统只能查询图书信息和借阅信息,并可以负责对读者借阅信息的确认;系统管理员是负责对整个系统的维护和管理,他们可以对系统的各个模块进行操作,因此责任非常重大,这就要求管理员需要很高的专业技术和很高的素质修养。而完成以上得功能需要强大的数据库做后台,本系统运用vb前台界面与后台数据库连接实现上述功能,这就要求数据库结构能充分满足各种信息的输出和输入。 针对一般图书管理系统的需求,设计如下面所示的数据项和数据结构:

5、(1)图书信息(数据项):isbn、图书名称、作者、出版社、价格、复本量、库存量、备注(2)读者信息(数据项):借书证号、姓名、性别、出生日期、年龄、系别、专业、借书数量、照片(3)借阅信息(数据项) 借书证号、isbn、图书编号、借书日期(4)借阅历史表(数据项):借书证号、isbn、图书编号、借书日期、还书日期(5)管理人员登陆(数据项):账号、密码、姓名、性别(6)工作人员登陆(数据项):账号、密码、姓名、性别2.2 系统的开发运行环境本系统开发平台: vb可视化高级语言+ sql server本系统运行环境: windows7操作系统3 总体设计3.1 系统体系结构设计本系统主要涉及三

6、个模块:登录模块、查询模块、后台管理模。登录模块主要对用户的身份进行授权和验证,登录系统后,读者可以通过图书借阅模块进行图书借阅,对于借书数量有限制,一个读者最多可以借阅5本书,但一本书只能被一个读者借阅,本系统可以有多个借阅工作人员和系统模块的操作人员,但只能有一个管理人员, 它们之间的关系可以用er图来描述,如下图:n工作人员读者nm查询m 图书借阅m1系统管理员管理3.2系统功能模块及主要类设计3.2.1 系统功能模块图:图书借阅管理系统登录模块管理人员登录普通用户登录工作人员登录读者信息查询图书信息查询读者信息管理工作人员查询工作人员管理借阅信息确认借阅信息查询借阅信息管理图书信息管理

7、借阅信息查询图书信息查询3.2.2系统的结构描述在本系统中,首先在登录模块为不同用户设置不同的登录级别,并对用户信息进行验证,不同的用户登录进入主界面。主界面分为登录系统,查询系统(包括读者信息查询和图书信息查询等),管理系统(包括读者信息管理和图书信息管理),工作人员管理和退出。普通用户登录系统后,只能进行查询图书信息和自己的借阅信息。工作人员登录系统后,只能进行查阅图书信息和读者借阅信息的确认操作。系统管理员登录系统后可以对系统进行一切操作。包括对图书的查询与管理,工作人员的查询与管理等。4 数据库设计4.1 数据表设计 本系统的数据库结构表主要包括,读者信息表(reader_n31)、图

8、书信(book_n31)、借阅信息表(lend_n31)、工作人员表(worker_n31)、管理员表 (manager_n31),下面列出各表的结构说明: 读者信息表:本表主要存储读者的基本信息,如下表:字段名数据类型可否为空说明借书证号char(10)not null 主键 姓名 char(10)not null 性别defaultnull默认1(1或0)出生日期datenull 年龄intnull 系别 char(10)null 专业 char(12)null结束数量intnull 照片varbiarynull图书信息表:本表主要存储图书的基本信息,如下表:字段名数据类型可否为空说明is

9、bn号char(20)not null 主键图书名称char(20)not null 出版社char(20)null作者char(10)null 价格floatnull 复本量 intnull 库存量intnull备注summarynull 图书借阅信息表:本表主要存储图书借阅的基本信息,如下表:字段名数据类型可否为空说明isbn号char(20)not null 主键借书证号char(12)not null 图书编号char(20)null借书日期datenull 图书借阅历史信息表:本表主要存储读者借阅历史的基本信息,如下表:字段名数据类型可否为空说明isbn号char(20)not nu

10、ll 主键借书证号char(12)not null 图书编号char(20)null借书日期datenull借书日期datenull 工作人员信息表:本表主要存储借阅工作人员的基本信息,如下表:字段名数据类型可否为空说明账号 char(10)not null主键 密码 char(10)not null 姓名char(10)not null性别defaultnull默认1(1或0)管理人员信息表:本表主要存储管理人员的基本信息,如下表:字段名数据类型可否为空说明账号 char(10)not null主键 密码 char(10)not null 姓名char(10)not null性别defaul

11、tnull默认1(1或0)4.2 存储过程与触发器设计数据库设计存储过程及触发器主要目的是方面数据的查找更新和修改,以及通过前台的操作将修改后的信息存入到后台数据库中,本系统主要用到了读者信息表、图书信息表、图书借阅表的存储过程,将后台数据库中的表中信息通过sql语句调入到vb前台界面进行显示,本系统的主要存储过程和触发器如下:4.2.1 存储过程查询指定读者当前的借书情况的存储过程,如下图:表reader_n31的增删改的存储过程,如下图: 4.4.2 触发器向借阅信息表插入记录并判断插入条件的触发器,如下图:4.3 索引设计数据库的索引设计主要是对信息的规范以及方便用户使用数据库能方便的进

12、行查询,输入与输出。本数据库设计的索引如下:reader_n31表中的readerid字段的唯一索引属性,如下图:book_n31表中的bname字段的非聚集索引属性,如下图:4.4 安全性设计图书借阅管理系统的安全性通过设置用户等级和权限来实现的,本系统分为三级用户,一级用户为图书为具有很高专业技术和很好的素质修养的系统管理员,他的权限是对整个系统操作;二级用户为技术维护人员,他们的权限是负责数据库的部分表的功能操作;三级用户为借阅工作人员和普通的读者,他们的权限仅仅是对表进行查询。下面仅列出设置系统管理员的级别和权限。系统管理员的对某一表的操作权限,如下图:5 详细设计5.1 登录模块5.

13、1.1功能设计登录模块是进入主界面的接口,主要功能是对用户的登录进行识别和分级,分为三级用户,主要包括普通读者和借阅工作人员以及系统管理员,不同的用户调入后台数据表中的信息进行登录,然后进入主界面进行相应的操作。5.1.2.界面设计登录界面,如下图用户登录后进入主界面,如下图:5.1.3模块算法(重要代码段)private sub command5_click()if text1.text = or text2.text = then msgbox 用户名或密码为空!, 48, 警告else adodc1.connectionstring = provider=sqloledb.1;integ

14、rated security=sspi;persist security info=false;initial catalog=图书借阅系统n31 adodc1.recordsource = select readerid from reader_n31 where readerid= & trim(text1.text) & and readerid= & text2.text & adodc1.refresh if adodc1.recordset.eof then msgbox 用户名或密码不正确,重新输入!, 48, 警告 text1.text = text2.text = text1

15、.setfocus else formmain.show formmain.manage.enabled = false formmain.worker.enabled = false formmain.lselect.enabled = false unload me end ifend ifprivate sub command2_click()a = msgbox(真的要退出吗?, 1 + 32, 提示)if a = vbok then unload meend ifend sub5.1.4调试与测试 登录系统通过调用模块实现数据库的链接,然后运行结果,调试过程中出现数据库连接不上的提示

16、,经过查阅资料才得到解决。5.2 查询模块5.2.1功能设计查询模块主要功能是提供给用户查询界面让用户可以根据自己的需要进行相应的查询,这里主要列出读者信息查询和图书信息查询界面。5.2.2界面设计读者信息查询界面,读者可以进行条件查询,如下图:5.2.3模块算法(重要代码段)option explicitpublic txtsql as stringdim mrc as adodb.recordsetprivate sub command1_click() if combo2.text = 借书证号查询 then txtsql = select * from reader_n31 where

17、 readerid like % + trim(text1.text) + % adodc2.connectionstring = str adodc2.recordsource = txtsql adodc2.refresh end if if combo2.text = 姓名 then txtsql = select * from reader_n31 where rname like % + trim(text1.text) + % adodc2.connectionstring = str adodc2.recordsource = txtsql adodc2.refreshend i

18、f.private sub form_load() str = provider=sqloledb.1;integrated security=sspi;persist security info=false;initial catalog=图书借阅系统n31;data source=localhost;set cnn = new adodb.connectioncnn.connectionstring = strcnn.openadodc2.cursorlocation = aduseclientadodc2.commandtype = adcmdtextadodc2.connections

19、tring = stradodc2.recordsource = select * from lend_n31adodc2.refreshend subprivate sub command2_click()formmain.showunload meend sub5.2.4调试与测试查询系统主要是提供用户查询的界面,再设计功能实现时首先利用模块进行数据库连接,然后通过sql语句将表中的数据调入到前台界面,调试过程中有时会出现“事实事错误91:with 变量未定义”以及“select语法附近有错误”等错误,最后通过上网查资料以及向同学询问,把问题给逐一排除了。5.3 管理模块5.3.1 功能设

20、计管理模块主要包括读者信息管理,图书信息管理以及图书借阅信息管理,这一模块主要功能是提供系统管理员使用,一般用户和工作人员没有权限对此模块进行操作,这里只列出图书信息管理模块界面5.3.2 界面设计图书信息管理界面,如下图:点击更新按钮,可以查询到添加的结果,如下图:5.3.3模块算法(重要代码段)option explicitpublic txtsql as stringdim id as stringdim mrc as adodb.recordsetprivate sub showdata() dim j as integer dim i as integer dim msgtext,

21、txtsql as string dim cnn as adodb.connection txtsql = select * from book_n31set cnn = new adodb.connectioncnn.connectionstring = concnn.openset datagrid1.datasource = adodc1adodc1.cursorlocation = aduseclientadodc1.commandtype = adcmdtextadodc1.connectionstring = cnnadodc1.recordsource = txtsqladodc

22、1.refreshdatagrid1.refreshend subprivate sub command1_click()dim str as stringdim cnn as new adodb.connection command1.caption = 添加 set cnn = new adodb.connection cnn.connectionstring = con cnn.open cnn.execute exec book_do_insert & val(1) & , & trim(text1.text) & , & trim(text2.text) & , & trim(tex

23、t3.text) & , & trim(text4.text) & , & val(trim(text5.text) & , & val(text6.text) & , & val(text7.text) & , & trim(text8.text) & , & str & cnn.close msgbox 添加成功!, vbexclamation id = trim(text1) showdataend subprivate sub command2_click()dim str as stringdim cnn as new adodb.connection command2.captio

24、n = 修改 set cnn = new adodb.connection cnn.connectionstring = con cnn.open cnn.execute exec book_do_insert & val(2) & , & trim(text1.text) & , & trim(text2.text) & , & trim(text3.text) & , & trim(text4.text) & , & val(trim(text5.text) & , & val(text6.text) & , & val(text7.text) & , & trim(text8.text)

25、 & , & str & cnn.close msgbox 修改成功!, vbexclamation id = trim(text1) showdataend subprivate sub command3_click()dim str as stringdim cnn as new adodb.connection command1.caption = 删除 set cnn = new adodb.connection cnn.connectionstring = con cnn.open cnn.execute exec book_do_insert & val(3) & , & trim

26、(text1.text) & , & trim(text2.text) & , & trim(text3.text) & , & trim(text4.text) & , & val(trim(text5.text) & , & val(text6.text) & , & val(text7.text) & , & trim(text8.text) & , & str & cnn.close msgbox 删除成功!, vbexclamation id = trim(text1) showdataend subprivate sub command4_click()showdataend subprivate sub command5_click()formmain.showunload meend subprivate sub form_load() text1.text = text2.text = text3.text = text4.text = text5.text = text6.text = text7.text = text8.text = end sub5.2.4调试与测试管理界面的设计以及功能的实现遇到了些问题,本功能的主要是通过是通过连接数据库,然后利用sql语句调用数据库中的存储过程“book_do_insert” 然后将添加的信息写入到数据库中的

温馨提示

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

评论

0/150

提交评论