书籍信息管理模块主要是管理员根据情况对新书进行登记入库、旧书删除、修改操作,并将信息返书籍信息数据库,它的业务流程图如图3-6所示。
另一层为读者信息管理模块,它的主要功能是对新读者的相关信息录入到数据库中,并实时地对读者信息库进行更新,业务流程图如图3-7所示。
藏书信息 图书 管理员 书籍信息添 加修改 书籍信 息数据库 藏书查询 图3-6 书籍信息管理业务流程图
借书证 读者 读者资料表 图书 管理员 读者信 息数据库 借书证注销 图3-7 读者信息管理业务流程图
3.2 系统数据库的设计
数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶段可用的工具很
10
多。用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
图书馆管理系统数据库中各个表的设计结果如下面几个表格所示,每个表格表示为数据库中的一个表。
图书信息表包括图书编号、类别、书名、作者等相关信息,在系统中此表使用较为频繁,在各种有关书的操作中都需要用到,具体表的结构如表3-1所示。
表3-1图书信息表
字段名称 Code Class Name Author OutDate Press Cost Memo Znum 数据类型 char Nvarchar char Nvarchar Datetime Nvarchar Smallint Nvarchar Nvarchar 数据类型大小 10 4 20 10 8 20 2 max 4 可否为空 不可为空 不可为空 不可为空 不可为空 可为空 可为空 可为空 可为空 不可为空
此外,系统用户信息表用于存放系统用户的信息,见表3-2;用于存放读者的基本信息,见表3-3;用来存放借书记录的基本信息,见表3-4;图书类别信息表用来存放图书类别的基本信息,见表3-5;图书信息表用来存放图书的基本信息的,见表3-6。
表3-2系统用户信息表
11
表3-3读者信息表
表3-4借书记录信息表
表3-5图书类别信息表
表3-6图书信息表
3.3 系统功能模块设计
(1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。
12
(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案。
(3)图书管理模块:添加删除不同类型的的图书及注明图书可借的天数库存数量、添加删除图书的档案。
(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。 (5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。
(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。
13
第四章 图书馆管理系统实现
4.1 登录界面的实现
登录窗体主要是通过验证用户账号给不同的用户登录系统不同的权限,一共分为超级管理员、管理员和一般用户,分别可以对系统进行一系列管理。 4.1.1登录界面
登录界面如图4-1所示。
图4-1登录界面
4.1.2主要实现代码
procedure TfrmLogin.btnOKClick(Sender: TObject); var
Query : TADOQuery; begin
//如果验证输入的口令正确,则进入主操作界面 try
//检查操作人员表中是否有匹配记录 Query := TADOQuery.Create(nil);
Query.Connection := dm.ADOConnection1 ;
Query.SQL.Add('select * from Operator where UserName=:UserName and userpwd=:userpwd');
Query.Parameters.ParamByName('UserName').Value := cmbUsername.Text ; Query.Parameters.ParamByName('userpwd').Value := edtpassword.Text ; Query.Open;
if Query.RecordCount = 0 then begin
MessageDlg('请输入正确的用户名和密码',mtError,[mbok],0); Exit; end;
//根据不同的操作员级别,允许进行不同的功能操作
14