案例3 图书管理系统.docx

上传人:b****0 文档编号:288139 上传时间:2022-10-08 格式:DOCX 页数:87 大小:323.81KB
下载 相关 举报
案例3 图书管理系统.docx_第1页
第1页 / 共87页
案例3 图书管理系统.docx_第2页
第2页 / 共87页
案例3 图书管理系统.docx_第3页
第3页 / 共87页
案例3 图书管理系统.docx_第4页
第4页 / 共87页
案例3 图书管理系统.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

案例3 图书管理系统.docx

《案例3 图书管理系统.docx》由会员分享,可在线阅读,更多相关《案例3 图书管理系统.docx(87页珍藏版)》请在冰豆网上搜索。

案例3 图书管理系统.docx

案例3图书管理系统

案例3图书管理系统

第5章图书管理系统

本章对数据库的连接主要采用Windows自带的ODBC来完成,在应用程序中使用了TDatabase控件。

5.1摘要与关键字

5.1.1摘要

图书资料管理系统主要是针对高校的图书馆作为使用对象而开发的,作为一个典型的信息管理系统(MIS),其系统开发任务主要包括数据库的设计与维护、客户端应用程序的开发等两个方面。

对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点。

经过详细的分析,选用Borland公司的Delphi作为前端开发工具,利用其提供的集成开发环境及各种控件,尤其是对数据库的支持完成对数据库的各种操作,达到对图书资料管理的目的。

首先建立系统应用原型,然后对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。

5.1.2关键词

图书、管理、设计、实现、SQLServer。

5.2引言

图书资料的管理是高校图书馆都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料,这种管理方式存在着许多缺点,如:

效率低、保密性差且较为烦琐,另外随着图书资料数量的增加,其工作量也将大大增加,这必然增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。

经过我们详细的调查,目前我国各类高等院校中有相当一部分单位图书资料管理还停留在人工管理的基础上,尤其是中、小学的图书资料的管理更是如此,这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。

所示。

图5-1系统数据流图

5.3.2开发与运行环境

本例的高校图书管理系统开发与运行环境如下:

开发环境:

WindowsXP

开发工具:

Delphi8

数据库管理系统:

SQLServer2000

运行环境:

Windows98/ME/2000/XP

5.4系统设计

5.4.1系统模块设计

根据系统功能分析和高校图书管理的特点,经过模块化的分析得到如图5-2所示的系统功能模块结构图。

图5-2系统功能模块图

5.4.2数据库设计

1.数据字典

根据系统功能模块结构图和高校图书管理流程,以及典型高校图书管理系统的需求,总结出如下的数据字典:

●系统用户数据:

图书馆内部人员使用图书管理系统的身份数据,包含的数据项有用户编号、登录口令、权限代码。

●读者类别数据:

借阅图书读者的类别数据,包含的数据项有读者类别编号、类别名称、借书数量、借书期限、有效期限。

●读者个人数据:

读者个人与图书借阅有关的身份数据,包含的数据项有借阅证编号、读者类别编号、姓名、部门名称、办证时间。

●图书书目数据:

用于图书编目使用的书目数据,包含的数据项有索书号、图书条码、书名、作者、出版社、出版日期、字数、页数、内容简介、关键词。

●新书书目数据:

图书编目产生的书目数据,包含的数据项与图书书目数据相同。

●馆藏书目数据:

新书书目经典藏之后形成馆藏图书书目数据,包含的数据项有索书号、图书条码、书名、作者、出版社、出版日期、字数、页数、内容简介、关键词、入馆日期、复本数、可借数、库室名。

●图书征订数据:

征订图书的相关数据,包含的数据项有书名、作者、出版社、出版日期、数量、征订日期。

●图书借阅数据:

包含的数据项有图书条码、借阅证编号、借阅日期、还书日期、图书所在库室编号。

●操作日志数据:

包含的数据项有用户名、操作时间、操作动作。

2.数据库结构设计

根据系统需求,分析出实体-关系图,如图5-3所示。

图5-3实体-关系图

根据实体-关系图和数据字典,设计出高校图书管理系统数据库中的各个数据表。

根据用户使用要求得到系统用户数据表,根据读者实体得到读者个人数据表,根据数据字典对读者的要求得到读者类别数据表,根据图书实体得到图书书目数据表,根据新书实体得到新书书目数据表,根据馆藏图书实体得到馆藏书目数据表,根据征订关系得到图书征订数据表,根据借阅关系得到图书借阅数据表,根据系统要求记录操作日志得到操作日志数据表。

数据表名称与结构如下:

系统用户数据表:

表名“t_user”,结构见表5-1。

表5-1t_user表结构

字段名

类型

大小

索引

说明

Bh

Char

5

编号

Passwd

Char

6

密码

Limit

Tinyint

权限

读者个人数据表:

表名“t_dzb”,结构见表5-2。

表5-2t_dzb表结构

字段名

类型

大小

索引

说明

Zh

Char

5

证号

Lxdm

Tinyint

类型代码

Xm

Char

20

姓名

Bm

Char

20

部门

Rq

Datetime

日期

读者类别数据表:

表名“t_lxdm”,结构见表5-3。

表5-3t_lxdm表结构

字段名

类型

大小

索引

说明

Lxdm

Tinyint

类型代码

Lxmc

Char

10

类型名称

Jsl

Tinyint

借书量

Jsq

Tinyint

借书期

Yxq

Tinyint

有效期

图书书目数据表:

表名“t_tsb”,结构见表5-4。

表5-4t_tsb表结构

字段名

类型

大小

索引

说明

Id

Bigint

自动增长

Tm

Char

7

条码

Syh

Varchar

30

索引号

Sm

Varchar

60

书名

Zz

Varchar

30

作者

Cbs

Varchar

60

出版社

Cbrq

Datetime

出版日期

Zs

Int

字数

Ys

Int

页数

Nrjj

Varchar

200

内容简介

Gjz

Varchar

100

关键字

新书书目数据表:

表名“t_xsb”,结构同上。

馆藏书目数据表:

表名“t_csb”,结构见表5-5。

表5-5t_csb表结构

字段名

类型

大小

索引

说明

Tm

Char

7

条码

Syh

Varchar

30

索引号

Sm

Varchar

60

书名

Zz

Varchar

30

作者

Cbs

Varchar

60

出版社

Cbrq

Datetime

出版日期

Zs

Int

字数

Ys

Int

页数

Nrjj

Varchar

200

内容简介

Gjz

Varchar

100

关键字

Rgrq

Datetime

入馆日期

Jbs

Smallint

基本数

Kjs

Smallint

可借数

Ksm

Char

20

库室名

图书征订数据表:

表名“t_dgb”,结构见表5-6。

表5-6t_dgb表结构

字段名

类型

大小

索引

说明

Sm

Varchar

60

书名

Zz

Varchar

30

作者

Cbs

Varchar

60

出版社

Cbrq

Datetime

出版日期

Sl

Int

数量

Dgrq

Datetime

定购日期

图书借阅数据表:

表名“t_jyb”,结构见表5-7。

表5-7t_jyb表结构

字段名

类型

大小

索引

说明

Tm

Char

7

条码

Zh

Char

6

证号

Jsrq

Datetime

借书日期

Hsrq

Datetime

还书日期

Yh

Tinyint

已还

Kh

Tinyint

库号

操作日志数据表:

表名“t_log”,结构见表5-8。

表5-8t_log表结构

字段名

类型

大小

索引

说明

Name

Char

10

用户名

Czsj

Datetime

操作时间

Czlog

Varchar

200

操作动作

5.5系统实现

5.5.1建立数据库

本例数据库使用SQLServer2000,数据库名为TSGL。

在SQLServer2000数据库服务器上建立数据库以及各数据表的过程,在这里不作介绍,有关内容参阅SQLServer相关书籍。

5.5.2建立连接

本例使用ODBC数据源连接数据库,数据源名为mybase。

建立过程可参阅第四章内容。

5.5.3程序设计

1.主窗体

主窗体保存为main.pas。

主窗体界面如图5-4所示,包含一个Database组件、一个MainMenu组件和一个StatusBar组件。

图5-4主窗体

窗体主要组件属性设置见表5-9。

表5-9主窗体组件属性设置

组件

属性值

Form1

Name='MainForm'FormStyle=fsMDIFormCaption='高校图书管理系统'

MainMenu1

Database1

DatabaseName=mybaseLoginPrompt=False

StatusBar1

其中Database1的Params属性添加两项USERNAME和PASSWORD分别设置为SQLServer的登录用户名和密码。

主窗体中定义全局变量dlname,用于保存登录的用户名。

编写一个过程addlog完成日志记录,和一个函数getnettime用来取得服务器时间,保证系统时间的一致性。

过程和函数的代码如下:

//取得服务器时间函数

functionTMainForm.getnettime:

string;

begin

withTQuery.Create(nil)do

begin

try

Close;

SessionName:

=MainForm.Database1.SessionName;

DatabaseName:

=MainForm.Database1.DatabaseName;

SQL.Clear;

SQL.Add('selectgetdate()asaa');

Open;

result:

=FieldByName('aa').AsString;

finally

Free;

end;

end;

end;

//日志记录过程

procedureTMainForm.addlog(varname,czsj,czlog:

string);

varsqlstr:

string;

begin

//生成将参数传递的信息写入日志数据表的SQL语句

sqlstr:

='insertintot_log(name,czsj,czlog)values('''+name+''','''+czsj+''','''+czlog+''')';

withTQuery.Create(nil)do

begin

try

Close;

SessionName:

=MainForm.Database1.SessionName;

DatabaseName:

=MainForm.Database1.DatabaseName;

S

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

当前位置:首页 > 初中教育

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

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