4.管理员管理
管理员管理则是根据需要对各个管理员进行管理,并记录和反馈管理员信息。
四、系统设计
4.1 系统选型
因为图书馆现在只有一台计算机,所以该系统的第一版本将采用单机版投入运行。如下图所示。以后版本采用Client/Server计算模式,事务服务器和数据库服务器设置在同一台服务器中,该服务器采用高档微机。根据需要,为各子系统配置若干台微机,采用双绞线连接服务器,实现信息共享。系统平台的硬件结构最终方案如图所示:
如图4.1 系统平台的硬件结构
4.2模块设计
根据前面功能需求分析和子系统划分,该系统的功能图如下所示:
如图4.2 图书管理信息系统功能
4.2.1系统数据流程图
数据流程图:(0层DFD)
如图4.4、4.5 1层DFD
4.2.2数据字典
主要处理逻辑描述(如表4-1)
编号 1 名称 图书管理
简述 维护图书库的完整性
输入 图书编号,书名,作者等
处理 新增图书记录的录入
修改图书记录的信息
删除已报销的图书记录
输出 图书库
备注
填表人 日期 2003/1/8
编号 2 名称 借还书管理
简述 对学生借/还书进行处理
输入 学生提供的数据(书号.卡号)
处理 1.记录学生借/还书信息
2.对图书数据库进行修改
3.对借书数据库进行修改
输出 借/还书记录,图书库,借书证库
备注
填表人 日期 2003/1/8
(注:其它处理逻辑和此类似,这里就不列出来了.)
2)主要数据流描述(如表4-2)
编号 4.1 名称 借书者和书的信息
含义 借书者和书的信息
来源 学生
去向 管理员
组成 书号,卡号,借书日期,数目等
备注
填表人 日期 2003/1/8
编号 4.2 名称 还书信息
含义 还书者和书的信息
来源 学生
去向 管理员
组成 还书书号,借书证号,日期,数目等
备注
填表人 日期 2003/1/8
(注:其它数据流和此类似,这里就不列出来了。)
4.3数据库设计
4.3.1 数据库的概念
1.使用Access2000 实现关系型数据库
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
2.新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。
1) 标识需要的数据;
2) 收集被标识的字段到表中;
3) 标识主关键字字段;
4) 绘制一个简单的数据图表;
5) 规范数据;
6) 标识指定字段的信息;
7) 创建物理表。
3. 修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成。
4. 实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
4.4代码设计
本系统的查询功能代码(例举实例)如下:
'listview1功能介绍:用于显示(当读者借书/还书时)该读者已借阅的所有书籍,方便管理员及读者了解信息
'adodc1功能介绍:与datagrid1绑定,显示数据查询信息
Private Sub about_Click()
Form3.Show
End Sub
'数据查询的实现
Private Sub start_Click()
'对应不同的选项进行查询
On Error GoTo wrong
Dim LibName As String
If combo1.ListIndex = -1 Or Text1.Text = "" Then
MsgBox "你没有输入查询内容或选择查询项"
Else
a = Text1.Text
Adodc1.CommandType = adCmdText
i = combo1.ListIndex
b = combo1.List(i)
Set DataGrid1.DataSource = Adodc1
Select Case SSTab1.Tab
Case 2
If i <> 6 Then
Adodc1.RecordSource = "select * from libary where " & b & " like '%" & a & "%'" '借阅信息查询
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from libary "
Adodc1.Refresh
End If
Case 3
If i <> 7 Then
Adodc1.RecordSource = "select * from S_book whe