图书管理借阅系统设计报告Word文件下载.docx

上传人:b****5 文档编号:19310060 上传时间:2023-01-05 格式:DOCX 页数:23 大小:1.04MB
下载 相关 举报
图书管理借阅系统设计报告Word文件下载.docx_第1页
第1页 / 共23页
图书管理借阅系统设计报告Word文件下载.docx_第2页
第2页 / 共23页
图书管理借阅系统设计报告Word文件下载.docx_第3页
第3页 / 共23页
图书管理借阅系统设计报告Word文件下载.docx_第4页
第4页 / 共23页
图书管理借阅系统设计报告Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

图书管理借阅系统设计报告Word文件下载.docx

《图书管理借阅系统设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书管理借阅系统设计报告Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

图书管理借阅系统设计报告Word文件下载.docx

3.2逻辑数据库设计9

第四章数据库应用系统的实现10

4.1数据库的定义10

4.2应用系统的开发16

第五章结束语25

第一章绪论

1.1数据库技术的国内外发展与应用现状

60年代后期,随着计算机技术从科学计算向数据处理的扩展,数据处理的规模越来越大,数据量急剧增长,文件系统作为数据管理的手段已经不能满足应用的需求。

为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术应运而生,出现了统一管理数据的专门软件系统——数据库管理系统。

数据库系统的出现使信息系统的重心发生了转移,从以加工数据的程序为中心转向以数据共享为核心。

----数据库系统以其可靠的数据存储和管理,高效的数据存取和方便的应用开发等显著优点获得了广泛的应用。

从小型单项事务处理系统到大型信息系统;

从联机事务处理(OLTP)到联机分析处理(OLAP);

从传统的企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等领域,都离不开数据库管理系统。

正是这些不断涌现的应用需求,推动了数据库技术从第一代的网状、层次数据库系统、第二代的关系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。

我国数据库技术的研究与开发起步较晚,直到70年代末才真正开始。

80年代初,许多研究所和高等院校开始了关系数据库管理系统、分布式数据库管理系统和数据库应用系统的研制,既培养了人才又积累了技术。

从80年代中期开始,以Oracle公司为代表的国外数据库公司纷纷进入我国,他们带来了国外先进的产品和技术,同时也蚕食和瓜分了中国的数据库市场。

90年代,我国数据库界在国家“八五”、“九五”科技攻关计划、863高技术计划等项目的支持下,开展了数据库产品化的实践。

面对国外实力雄厚的数据库厂商,科技人员艰苦工作、无私奉献,用不到国外同行所用投资的百分之一的经费,研制了关系数据库、分布式数据库、并行数据库、面向对象数据库、嵌入式移动数据库等有自主版权的产品(原型),成为我国数据库产业的星星之火。

相信在国家有关政策和企业的支持下,这些星星之火一定能成燎原之势。

1.2、图书借阅管理数据库应用系统开发的意义

目前,图书管理人员在管理借阅书籍时,借阅时要经历登记,查找,统计,还书时要登记,分类等一系列枯燥繁琐的手续,这种操作不仅浪费时间,而且容易出错,许多记录不便于长期保存。

设计图书借阅管理系统将很好地改善这种局面,利用计算机中最友好,最简单的Windows界面进入本系统,让图书管理人员通过鼠标和键盘简单的敲击,来完成图书的借阅,归还,查询,以及对学生信息的统计工作和对图书管理人员的信息统计。

真正实现图书馆管理系统的自动化,极大地减轻了工作量,同时提高工作效率和成本!

第二章系统概要设计

2.1分析系统功能

根据图书馆的需求分析,图书借阅管理系统主要分为四大功能模块,每个功能模块又分为几个小的功能模块:

2.2.1学生信息管理

(1)查询学生信息:

查询学生借书情况。

可以查询所有专业的借书情况,也可以查询指定学生的借书情况。

(2)学生信息管理:

包括添加,修改和删除学生信息。

2.2.2图书信息管理

(1)查询图书:

查询图书的情况,包括借阅图书的信息,库存图书的信息,图书借阅时间等信息。

(2)整理图书馆:

包括删除图书信息,修改图书信息。

(3)借书:

图书借阅给学生,必须指定要借阅的图书。

记录借书的时间,编辑索书号。

(4)还书:

学生归还图书。

2.2.3借阅信息管理

主要对借阅数据的记录。

2.2.4图书管理人员信息管理

(1)查询图书管理员信息:

查询查询图书管理员借书情况。

(2)图书管理员信息管理:

包括添加,修改和删除图书管理员信息。

2.2系统功能模块图

本系统在启动后显示登陆界面,主要采取两种形式的登录,一种是普通管理员的登录,主要是对学生信息,借阅信息等的管理,一种是超级管理员,是对普通管理员的管理,其有权对普通管理员信息进行修改。

系统功能模块图

2.3数据流程图

系统数据流程图

第三章数据库系统设计

3.1分析数据库需求

根据系统功能和数据流,可以确定以下数据项和数据结构:

(1)学生信息表【XS】:

{借书证号,姓名,专业名,性别,出生时间,借书数,照片}

(2)图书信息表【BOOK】:

{ISBN,书名,作者,出版社,价格,复本量,库存量}

(3)借阅表【JY】:

{借书证号,ISBN,索书号,借书时间}

(4)管理员信息表【DL】:

{账号,姓名,密码,联系电话,身份}

1.学生信息管理

调用学生信息表,图书信息表,借阅信息表。

调用学生信息表。

2.图书信息管理

调用图书信息表,借阅信息表。

调用图书信息表。

3.借阅信息管理

调用借阅信息表

4.图书管理人员信息管理

调用管理员信息表。

3.2概念数据库设计(E-R图)

3.2.1设计方法及关键技术

由于E—R数据模型不是面向实现,而是面向现实世界的,设计时的出发点是有效和自然地模拟现实世界,而不是首先考虑它在计算机中如何实现。

因此,一切要从实际出发,根据数据的需要来设计数据库,把可能用到的数据包含进去,因此,没有一种万能的数据模型,设计者需要依据自己的数据库的需要来设计E—R模型图。

其实质的联系就是:

实体集的实体之间的对应方式。

其基本的联系有四种:

一对一,一对多,多对多,以及isa。

3.2.2系统的E-R图

第四章数据库应用系统的实现

4.1数据库的定义

4.1.1数据库的定义

1.数据库对象的定义

将设计的数据库表用SQL语言(createtable****)或企业管理器定义(界面)

关系图:

2.数据库的创建

根据系统的E—R图和要求,设计了四张表,分别是XS表(学生信息表),BOOK表(图书信息表),JY表(借阅表),DL表(管理员信息表)。

数据结构表如下图:

XS表(学生信息表)

字段名

数据类型

长度

是否允许空

说明

借书证号

Char

8

主关键字

姓名

专业名

12

性别

Bit

1

出生时间

Datetime

借书数

Int

4

照片

Image

16

BOOK表(图书信息表)

ISBN

书名

26

作者

出版社

20

价格

Float

复本量

库存量

JY表(借阅表)

索书号

10

借书时间

DL表(管理员信息表)

账号

密码

联系电话

身份

3.3数据库的实现

1.创建学生信息表

2图书信息创建

3.借阅表的创建

4,图书管理员信息表的创建

4.2应用系统的开发

主要功能模块对应的主要界面,完成的主要功能及主要应用程序。

登陆界面:

主要代码:

Active:

=false;

sql.Clear;

SQL.Add('

select*fromDLwhere账号='

+Trim(Edit1.Text)+'

and密码='

+Trim(Edit2.Text));

Active:

=true;

ifIsEmptythenbeginShowMessage('

用户信息错误,请核对您的账号密码后再登录!

或者与管理员联系!

'

);

Edit2.Text:

='

;

sPAS:

Abort;

endelsebeginclose;

ifEdit1.Text='

1'

thenbeginShowMessage('

恭喜ID为'

+Trim(Edit1.text)+'

的管理员登陆成功!

Form3.show;

Form1.Visible:

endelsebeginShowMessage('

恭喜id为'

的用户登陆成功!

fmbook.show;

end

主界面

借书:

iflength(trim(etssh.Text))=10then

begin

btjs.Enabled:

adqup.SQL.Clear;

str:

INSERTINTOjy(借书证号,ISBN,索书号,借书时间)VALUES('

=str+QuotedStr(adqxs.FieldValues['

借书证号'

])+'

'

+QuotedStr(dbtext7.Caption)+'

+QuotedStr(etssh.Text)+'

+QuotedStr(etrq.Text)+'

)'

adqup.SQL.Add(str);

adqup.ExecSQL;

adqbook.Active:

showmessage('

借书成功!

endelse

索书号不是10位数'

还书:

bths.Enabled:

str:

deletefromjywhere借书证号='

+QuotedStr(adqxs.FieldValues['

]);

=str+'

and索书号='

+QuotedStr(adqjy.FieldValues['

索书号'

adqup.SQL.Clear;

adqup.SQL.Add(str);

adqup.ExecSQL;

adqjy.Active:

查询:

procedureTfmbook.adqxmAfterScroll(DataSet:

TDataSet);

varstr:

string;

begin

selectb.姓名,a.借书证号,a.ISBN,c.书名,a.索书号,a.借书时间,b.照片fromjya,xsb,bookc'

wherea.借书证号=b.借书证号anda.ISBN=c.ISBN'

casergcx.ItemIndexof

0:

=str+'

anda.借书证号='

+QuotedStr(adqxm.FieldValues['

1:

anda.ISBN='

ISBN'

2:

anda.借书证号in(select借书证号fromxswhere专业名='

名称'

)'

end;

aopen(adqjy,str);

dgjy.Columns[6].Visible:

end;

procedureTfmbook.rgcxClick(Sender:

TObject);

select姓名as名称,借书证号fromxs'

select书名as名称,ISBNfrombook'

selectdistinct专业名as名称fromxs'

维护:

部分主要代码:

astpxsbook.ProcedureName:

delete_XS_1;

astpxsbook.Parameters.CreateParameter('

@jszh'

ftString,pdInput,8,adqwh.FieldValues['

@flag'

ftInteger,pdInputOutput,0,1);

astpxsbook.ExecProc;

ifastpxsbook.Parameters.ParamValues['

]=0then

application.MessageBox('

删除成功'

提示'

0)else

借书未还请,删除失败'

0);

astpxsbook.ProcedureName:

update_XS_1;

@jszh'

@xm'

姓名'

@zym'

ftString,pdInput,12,adqwh.FieldValues['

专业名'

@xb'

ftBoolean,pdInput,0,adqwh.FieldValues['

性别'

@cssj'

ftDateTime,pdInput,0,adqwh.FieldValues['

出生时间'

@jss'

ftInteger,pdInput,0,adqwh.FieldValues['

借书数'

管理员信息表:

第五章结束语

通过做这次数据库的大作业,收获很多,从刚开始的什么都不懂,到后来的一知半解,再到最后的慢慢的掌握和了解,时间虽然不长,但是却也经过了几个星期。

数据库的完成主要以本书作为参考,遇到无法理解书中的代码含义,就通过上网查询,尽量看一些尽量简洁的,容易看懂看懂的代码。

当遇到的问题时就就不断地想办法去解决,通过问同学,看一些别人的代码,上网搜索。

从刚开始的用户登录之后显示用户名,到后来的存储过程、sql语句执行时候的报错,问题虽然很多,的确实花了我一段时间去解决,书上、网上到处去找资料,也让自己对delphi的掌握更深了一点,这的确是很难得的,其实,刚开始时难倒我的不是怎么用ADO组件去连接数据库,而是界面的设计问题,由于以前没有接触过,对于这种面向对象的编程语言还是有点不适应,而且以前的练习都是一些小型的程序,这次是一个系统的,大型的程序,而通过老师的讲解,则慢慢的明白了事件的概念,不同的代码应该写在不同的事件下面,这样事件触发时才会得到你想要的结果。

处理问题要一个一个的来,不能一蹴而就。

对于我的图书管理系统,最大的优点是简单,但是却也比较全面,该实现的功能也基本上都有了,各种动态sql语句在代码里面都有很多,再就是这个系统易懂,由于我几乎在每个事件下面都有一个showmessage(弹窗提示),用户操作起来也会更加方便,所以在这个方面应该算是一件比较好的事,我主界面使用了一个Pagecontrol,只要一点即可实现借书,还书,查询,维护功能的实现,同时还有就是个性化的查询与维护方式,通过Radiogroup,可以实现不同条件的查询与维护。

说到缺点,也有很多没有解决的问题,由于没有可以专业的参考书籍,只能一步一步的独一空间进行摸索,对于各种组件的搭配操作还显的不够熟练,这样显得界面也很单调,所以说我对于各种最基本组件的搭配使用还有问题,再就是代码的问题,几乎是千篇一律,模块化做的还不够好,有时候修改起来就比较困难,这也是亟待解决的一个问题。

同时,对于图书管理员界面操作比较简单,还有一些不合理的地方。

还有就是数据库的问题,因为对数据库的了解仅仅停留在建表上面,对于各种存储过程、触发器、索引、约束、关系和视图等还不了解,这个还有待加强。

对于以后,虽然数据库大作业已经交了,但是对于这个图书管理系统的完善还没有停止,下一步要做的应该是对于代码编写的模块化,还有数据库的各种约束的建立。

并更多的去了解数据库中对数据的各种定义。

同时,逐渐完善系统的各项功能,使其更加人性化。

参考文献:

1《数据库系统概论》王珊、萨师煊著高等教育出版社;

2《Delphi7程序设计与上机指导》曹蕾著冶金工出版社;

3《图书管理系统实验报告》;

4《Delphi7编程思想与实力经典》马晓凯著冶金工业出版社。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1