全 文 :第 6 卷 第 3 期
1 9 9 3 年 6 月
林 业 科 学 研 究
FO R E S T R E S EA R C H
V o l
.
6
,
N o
.
3
Ju n
. ,
1 9 9 3
通用数据库处理系统(OBPs )的编制
张会儒 洪玲霞 唐宁正
关抽词 计算机 、 数据库 、 处理系统
目前 , 数据库管理系统d B A SE 二皿以及新开发的d BA SE ‘ 丁 和 Fo x BA SE 在我国微型计
算机上的使用十分广泛 。 就管理数据而言 , 使用它们很方便 。然而 , 它们共同的弱点是 , 计算速
度慢 , 且所提供的计算功能和 函数相当少 , 即使最简单的矩阵运算 , 实现起来也较麻烦 。 因此 ,
造成了大量的数据以 d B A sE 方式收集起来 , 无法进行简单易行的数据处理及运算。 另外 , 对
用户来说 , 这些系统是一个语言 系统 , 仅仅是命令级的管理而非程序级的管理 , 使用者要有一
定的计算机和d B A SE语言基础 , 而对于不太熟悉计算机又不懂 d BA SE 语言的人员就较困难 ,
因此在实际工作中有一定的局限性 。与d BA SE 相比 , BA SI C的计算速度快 , 提供的函数多 , 是
目前较常用的计算机语言之一 , 且已实现了d BA SE 与BA SI C 之间的数据传递 [’, 2 1。 为此 ,
,⋯lseleesl
我们将计算机高级语言与数据库两者结合起
来 , 用 B A SI C 语言编写了通用数据库处理
系统D BP S (D a ta B a s e Pr o e e s s Sys te m ) ,
之所以通用 , 是因为它适用于任何结构的数
据库 。
匡丁习
杏
巨竺到—一-一备
选择 竹
1 系统程序设计及功能
该系统由 1 个主控模块和 5 个子模块构
成 :
o 主控模块 (D BP S)多 1 随机查询模
块 (D BCX ) ; 2 数据变换模块 (D B BH ) ;
3 随机统计模块 (D B T J) , 4 替代字段
模块 (D B T D ) , 5 打印输出模块 (D B D Y ) 。
1
。
1 主控模块(D BPs)
主控程序控制了本系统的 5 个子模块 。
程序首先给出各功能的主菜单 , 由用户选择
需要的功能 , 并根据用户的选择决定执行哪
一模块 , 每一模块执行完后 , 均返回主菜单 ,
当不需继续运行时 , 选择退出本系统 , 回到
D O S 操作系统下 。 程序流程见图 1 。
匕匹互」一
二巨画习一
生一汇画习一
匕 , 巨亚] 一
扁 吓不~刁一
选择 门?
圈 i 主控程序流粗 图
1 9 9 2一 08一 1 0收稿 -
张会价研实员 , 洪玲该 , 唐守正 (中国林业科学研 究院资派伯息研究所 北京 10 0 0 9 1) 。
3 期 张会儒等 : 通用数据库处理系统(D BPS) 的编制
1
。
2 随机查询模块(D BC X )
查询也叫检索 , 就是根据用户的要求 , 将满足需要的记录资料提取出来 , 并能有选择地输
出 。 本模块是对任一指定的数据库进行查询 , 并将入选 的结果存盘 。 查询的方 式 有 两 种 :
(1) 按条件查询 ; (2 ) 按标号文件查询 。
按条件查询方式 , 是按照用户输入 的对查询库某个或多个字段的限制条件进行查询 , 条
件由用户根据要求输入 , 然后系统将其分解 , 进行逻辑判断 , 满足条件的记录进行以后的处
理 , 否则将被剔除 。
按标号文件查询是按照用户建立的标号文本文件查询 。 标号文件就是用户将要查询 的记
录按照标号字段建立的顺序文件 , 如 : 现要查询 1 林场 2 林班 4 、 7 、 10 小班和 1 林场 4 林
班 3 、 5 小班及 2 林场 1 林班 1 、 4 小班的资料 , 则标号文件形式如下 :
1 , 2
,
4 1
, 2 , 7 1
,
2
,
1 0 1
, 4 , 3 1
一
4
一
5 2
,
1
,
1 2
,
1
一
4
第一列为林场 , 第二列为林班 , 第三列 为小班 , 列之间用逗号( , )分隔 。林场、 林班 、小班
为查询库中的字段 , 称为标号字段 , 标号字段必须是数字型字段 , 如果要对字符型字段查询 ,
可选择按条件查 询 方 式。 标 号 文 件 的 建
立 可 用 任 何 编 辑 软 件 , 如 LO T U S 、
W OR D ST A R
、
W P S
、
E D L IN 等。
查询的结果存盘形式也有两种 :
(l) 文本文件方式
(2 ) 数据库文件方式
以上文本文件方式存盘时 , 系统根据用
户指出的字段生成顺序文件。 以数据库方式
存盘时 , 若数据库无结构 , 则先根据用户指定
的输出字段建立数据库结构 , 然后将记录写
入库中 , 有结构则直接写记录 。 程序流程见
图 2 。
1
。
3 教据库变换模块 (D B B H )
本模块是对指定的数据库作列变换 , 即
利用已知的字段(列 ) , 经过代数运算后产生
新的字段 (列 ) , 并将变换后的结果存盘 , 或
者从原始库中提取部分字段 (列 )生成新库 。
列变换的公式在字段 (项目)来源中输入 。 程
序流程见图 3 。
1
。
4 随机统计模块 (D B T J)
本模块是按用户的要求对数据库中的任
何项目进行统计累加 , 并将结果存盘 。
在经营单位的生产活动当中 , 有些统计
报表不但要有统计结果 , 而且要有被统计的
原始数据 , 以往的统计都没能解决这个间题 。
要杏 问的数据库 名?
输出数据文件 名了
显示查询库结构 标号数据文件名?
显示查询库结构
查询条件 ? 标号所在字段号?
输出字段 ?
物出方式 : 1 . 文本文件 ; 2 . 数据库
建库结构
查询 记盘
返 回
图 2 查询模块流程 图
3 34 林 业 科 字 研 多 6 卷
本模块中 , 运用设置虚拟层 的办法很好地解
决 了这一问题 , 所以本模块既适用于森林资
源的统计汇总 , 也适用于生产计划报表统计 。
一般统计报表的结构如下 :
{
“ 一林一~ ~ . ⋯全 计 一掣禁一⋯生竺色⋯. ⋯ ~
! 一 一 } 面 一蓄 一面 } , { 面 } , i
}属 }种 } }积 }积 }积 }积 {积 【积 }
、一层变魔一 , 1 、—数字矩阵— ,
图 3 致 据变换棋块流程图
横向可分为两部分 : 第一部分为非统计
数字部分 , 它决定统计数字在统计报表中的
层次位置 , 称之为层变量 , 第二部分为统计
数字 , 横向和纵向组成了一个矩阵 , 称之为
数字矩阵 。 在层变量中每一项依次称为第一
层 、 第二层等 , 每一层还可 以分为若干级 ,
例如 : 权属可以分为国有、 集体等 , 林种可
分为用材林 、 防护林 、 特用林等。 分层的依
据、 个数 、 名称以及各层的分级数、 名称由
用户根据需要和统计表的结 构输入 , 分级的
依据在归类原则中用条件表达式输入。 由于
受 B A SI C 语言系统的限制 , 层数最多 为 5
层 , 每层的分级数最多为 10 0 级 。 在数据库较大 , 且需要抄原始数据的情况下 , 有可能超出
这个范围 , 这时 , 用户可将要统计的内容分两次做 。
对于纵向合计的处理 , 本模块采取分层分级求合计的方式 , 而且将合计放在统计表纵栏
的前面 , 形式如下 :
1 层
合计
统计结果的存盘方式也有两种 , 同随机查询模块 。 程序流程见图 4 。
1
。
5 替代字段棋块 (D B T D )
该模块是对两个数据库同时进行的操作 , 两个库分别称之为A 库和 B库 。 具体为用A 数
据库的部分字段替代 B数据库的部分字段 , 两个数据库的结构可以相同 , 也可以不同 , 用户
只要给出相应的字段号 , 就可完成替代。 为了提高运行速度 , 替代前两数据库要按关键字段
上升排序 。
1
.
6 打印棋块 (D BD Y )
本模块可以实现对所有数据库的打印输出 。 如果有表头文件 , 则按表头文件的项目以报
表形式打印; 若无表头文件 , 则按用户给出的输出字段打印 。
1 期 张会孺等 : 通用数据库处理系统 (D BP S) 的编制
表头文件可以用任何汉字编 辑 软 件 建
立 , 如W O R D ST A R 、 W P S 、 E D L IN等 。
其格式举例如下 :
冰硷山林场项 目计划表
单位 : d / h m Z
单位 { 总用工 } 用工
位单项目
开 始
原始数据库名 ?
结果库(文件)名 ?
层变薰在原库中的字段号 ?
结果库字段来源步条件 ?
数
量
备
注
N 一尸尸一才 ~ ~ ~ ~一< 之 结果文件是数据库吗?
至丁- 值夔到
巨亘巫到 砷, 叫备
第i层第j级名称 ,归类原则 ?
结果库哪些项不累加 ?
其中 , 第 1 行为大标题 , 第 2 行为副标
题 , 第 3 至倒数第 4 行为表头内容 , 倒数第
3 行为行的分隔线 , 倒数第 2 行的竖线为列
的分隔线 , 其中的数字为该栏内容在数据库
中所在的字段号 , 打印时 , 系统根据这些数
字从数据库中提取相应的字段内容 。 最后一
行为报表的底线 。
对打印的内容 , 用户可以有 选 择 地 打
印 , 也可全部打印 。 需要有选择打印时 , 用
户要输入限制条件 , 它的输入同其他模块。
}
统计条叫一匣竺至全全剑备
}统计
, 排序 ,存盘 }
杏
} ‘回‘ }
图 4 随机统计模块流程图
2 系统的使用
2
。
1 系统的启动
采用人机对话菜单驱动 , 可在汉字操作
系统CCD O SZ 。 1以上版本支持下的 IB M 八PC
/ X T 和长城 o 5 2 0CH 及其兼容机上运行 , 需
内存6 4 0 K B 。
系统可在硬盘或软盘上运行。 若在软盘
上运行 , 则在汉字操作系统提示符下 , 键入
A :
进入本系统 。若在硬盘上运行 , 则将本系统的 6 个文件 (D B PS . E X E 、 D BCX . E X E 、 D B B H .
E X E
、
D B T J
.
E X E
、
D B T D
。
E X E
、
D B D Y
.
E X E )和编译 B A S IC的 i 个文件 (B A SR U N .
E X E ) 拷入硬盘 , 在汉字操作系统提示符下键入D BPS
2. 2 使用要点
本系统操作简单、 方便 , 专业人员和非专业人员均可使用 , 但对于初次使用本系统的人
员 , 必需先熟悉以下几点 :
(1) 甘* , & * 中的符号特为 原始数据库的标志符 , 符号& 为新数据库 (结果库)的标志
符 , 符号 * 为字段号 (关 = 1 , 2 , ⋯ , N )。 如 : # 5代表原始库第 5 项 , & 5代表新数据库第 5 项 。
(2) 字段(项目)来源用数值表达式表示 , 可以使用B A sI C 允许的所有算术和函数运算
3 3 0 林 业 科 学 研 究 6 卷
符 , 如 : # 1 + # 5 , SQR (& 2 + & 3 ) , (# 2 一卜& 8 )八O等。
(3) 各种条件的输入用条件表达式表示 , 可用 B A SI C 允 许使用的所有关系和逻辑运算
符 , 如 : (# 1 > = 4 O R # 2 二 8) A N D # 3 = “杉木 ” 。 条件表达式中字符型字段的内容要加
双引号 (“ " ) 。
(4) 回答屏幕的提问(Y / N )时 , 大、 小写字母均有效。
(5) 存盘时 , 时间取计算机里面时钟的时间 。
本系统已经在广西 、 吉林、 辽宁 、 黑龙江的某些生产单位得到应用 , 效果很好 。
参 考 文 献
1 朱阳 . 高级语言直接读取 已知 d B八S E 一皿 数据文件的简便方法 . 徽计算机应用 , 1 9 。, 1 0 (1 ) : 5 ~ 58 .
2 辛德强 . 用 BA S IC 语言直接读写 d B A S E 兀、 d B入S E 皿 教据库文件 . 徽计算机应用 , i , 8 5 , , (l) : 扭2 ~ 刁5 .
E s ta blis hm e o t o j G
e o e r a l D a ta B a s o P r o e e s : 习夕s r。。:
Zh a n g H u ir u H o n g L in g x ia T a n g Sh o u z h e n g
A b str a et In th is Pa Pe r
, g e n e r a l d a ta ha s e P ro c e s s s y s te m (D B PS ) 15
e s tb lish e d
,
in w h ieh e o m Pu t e r B A SIC la n g u a g e a n d d a t a ba se d BA SE 15
e o m b in e d
.
D B PS e o n s ist s o f a m a in m o d u le a n d f iv e fu n e t io n m o d u le s
,
w h ie h
e a n fin ish in q u ir y
, t r a n sfo rm a tio n
, s ta t is tie s
, re Pla e e m e n t a n d Pr in t in g fo r
d a ta ba s e
.
D e e o m Po s it io n e a le u la t io n o f lo g ie e x Pr e s s io n
, r e la tio n e x Pr e s s io n
a n d a lg e b r a ie e x P re s s io n in Pu t ed fr o m k e yb o a rd in th e s ys te m w it h B A SIC
la n g u a g e 15 r e a liz e d
, a n d th e P ro b le m o f Pr e s e r va t io n o f o r jg in a l r e e o rd 3
in s ta t is t ie s r e s u lt 15 r e s o lv e d by s e tt in g u P v irt u a l laye r
。
5 0 t h is sys te n l
lla s th e e h a ra e te r is t ie s o f s tr o n g fu n e t io n w h ie li 15 fle x ib le a n d e o n v e n ie n t
In U S e
-
K e y w o r d s e o m P u te r
,
d a ta b a se
,
d a ta Pr o e e ss syst e m
Z h a n g H u ir u
,
A , , ista n t E n g in e e r
,
}于o n g L in g x ia , T a n g S ho u : he n g (丁he R e se a re h In , titu te o f
Fo r e s t R e , o u r ee In fo r m a t io n T e e h n lq u e s
,
C A F B e iji
n g 1 0 00 , l)
.