APP下载

消防安全管理系统消防档案管理的设计与实现

2016-11-18田富国

关键词:档案资料消防形式

田富国 黄 静

(泉州经贸学院, 福建 泉州 362411)



消防安全管理系统消防档案管理的设计与实现

田富国 黄 静

(泉州经贸学院, 福建 泉州 362411)

为将消防档案资料整合到数据库中进行集中统一管理,提出了3种形式的存储方案,并优选了最佳解决方案,完成了数据库的设计与自动导入模块的实现。

客户机服务器; 数据存储; 数据库; 数据流图

泉州经贸学院的消防安全管理信息系统是一个数据库管理系统,是基于客户端服务器设计的,可供分院消防安全管理部门工作人员共享的一个消防安全数据处理平台。其中,消防档案管理模块是该系统中的一个重要模块,可实现对消防档案的统一管理。本次研究首先进行了需求分析,然后设计出数据流图和功能结构图,完成了数据库的设计与自动导入模块的实现。

1 需求分析

该模块要求实现对消防档案的统一管理。模块的功能有:

(1) 创建消防档案,建立一个消防文档资料的电子档案,统一存储在中央服务器中;

(2) 能够实现对消防文档资料的修改和删除;

(3) 具有将消防文档资料自动导入功能;

(4) 可以对用户进行权限设置,使得不同的用户具有不同的权限,不会对档案数据造成破坏;

(5) 可以对消防档案资料进行权限设置,使得不同的用户具有不同的查看权限,不会造成重要档案数据泄密;

(6) 应具有良好的实用性,界面友好,操作简单,使用方便;

(7) 应具备数据的独立性,在软硬件环境发生变化时,能够保证数据的完整性,确保数据的安全迁移[1-3]。

2 数据流图

根据需求分析,绘制消防档案管理模块的数据流图[4],见图1。

图1 消防档案管理模型数据流图

3 功能结构图

根据需求分析,绘制消防档案管理模块功能结构图,见图2。

图2 消防档案管理模块功能结构图

4 管理形式分析

分院现有的消防档案资料大部分是以文本文档的形式存储。针对如何将这些档案资料高效整合到数据库中进行集中统一管理,提出了3种方案,并优选出1种最佳方案。

4.1 以文件形式管理

以文件形式进行管理是指将消防档案资料进行分类和编号,设置档案名,以word文本文档形式保存各个档案内容,并以文件形式存储在磁盘固定的路径下。在数据库中保存档案编号、档案类型、建档时间、建档人以及存取档案资料的文件路径和档案名称,其档案表见表1。

表1 以文件形式管理的档案表

为了处理档案资料内容显示问题,在显示窗口中添加一个OLE控件,并且通过编程实现在OLE控件中浏览显示档案资料内容。

采用文件形式结合数据库进行管理,档案资料保存在文本文档中,而文本文档保存在固定路径的磁盘下。在数据库中只保存文件路径和名称,可以节省数据空间,避免数据库过分膨胀,可以实现对档案资料的统一管理,但文件资料必须在一定的目录下,且同一目录下文件不能重名,这对文件的管理造成了一定的困难;另外,在OLE控件中浏览显示文件档案资料时,由于每次都要调用服务器程序,所以速度较慢。 故该方案不予考虑。

4.2 以OLE存储结构形式管理

采用OLE存储结构形式管理,要将消防档案资料进行分类和编号,设置档案名,而档案资料内容是以OLE存储结构形式存储在磁盘的一个文件中。在数据库中,保存档案编号、档案名、档案类型、建档时间、建档人等信息,其档案表见表2。

表2 以OLE存储结构形式管理的档案表

采用OLE存储结构形式结合数据库进行管理,可以实现对档案资料的统一管理。把所有的消防档案资料存储在一个OLE存储文件中,管理比较方便,也避免了数据库过分膨胀;并且打开存储文件后,不需要每次都执行服务器程序来显示存储信息,存取速度较快。由于数据是保存在本地的一个OLE存储结构形式的文件中,在单机的情况下以这种方式管理数据,该方案比较理想。但由于本系统是基于客户端服务器的,因此要求网络用户能够共享数据库中的数据,而本方案不能解决数据的共享问题。

4.3 以image类型字段存储形式管理

采用该形式管理,档案资料内容是以image类型字段存储在数据库中。在数据库中,同时保存档案编号、档案名、档案类型、建档时间、建档人等信息,其档案表见表3。

表3 以image类型字段存储形式管理的档案表

档案资料内容以image类型字段形式存储,可以很方便地实现对档案资料的统一管理,并且将数据库存储在网络服务器上,实现对数据的共享。 本系统是基于客户端服务器设计的,要求实现数据的共享,故采用此方案。

5 数据库设计与自动导入模块的实现

客户机分布在不同地方,数据库服务器运行在主机上,各个客户机上的客户端应用程序通过SQL语句访问服务器上数据库中的数据。数据库服务器选择Sysbase公司的Adaptive Server Anywhere 8。

5.1 数据库表的设计

根据需求分析及客户端要实现的功能模块,设计了数据库表。

(1) 档案表(archive):参见表3。档案访问权限的设置:权限为0,为最高级别,仅供系统管理员、消防主管、消防档案管理员查看,不允许消防设施管理员和一般用户查看;权限为1,为中级别,可供系统管理员、消防主管、消防档案管理员和消防设施管理员查看,不允许一般用户查看;权限为2,为低级别,允许所有用户查看。

(2) 用户表(usertable):参见表4。用户表权限的设置:权限(authority)为0,表示系统管理员;权限为1,表示消防主管;权限为2,表示消防档案管理员;权限为3,表示消防设施管理员;权限为4,表示一般用户。消防档案管理员不仅对档案有查看的权限,而且对档案有录入和修改的权限,其他用户只有查看档案的权限。权限允许(permission)为0,表示允许该用户使用系统;权限允许为其他,表示该用户还未被允许使用系统。

表4 用户表

5.2 自动导入模块的实现

5.2.1 模块的总体规划

自动导入模块的实现是指将消防文档资料自动导入到数据库中。在执行自动导入程序之前,用户先对要导入数据库的文档资料进行分类,建立几个以档案类型命名的文件夹,把分类后的文档资料按各自归类放在相应的文件夹中;然后,执行自动导入程序,将文档资料从文件夹中自动导入到数据库中。

5.2.2 导入数据库函数的实现

程序中设计了一个自定义的局部函数f_intoDB,实现将单个文件导入数据库。调用函数f_intoDB的程序传递3个参数给函数f_intoDB。调用的形式为:f_intoDB(filename,s_type,filepath),其中 3个参数filename,s_type,filepath分别为文件名、文件类型和文件路径[5]。局部函数f_intoDB代码实现如下:

string bh,mc,nx,wz,bz,jdr

integer qx

date d

long ll_id

blob nl

bh=""

mc=s_filename

nx=s_type

d=today()

wz=""

qx=2

jdr="自动导入"

bz=""

insert into

archive(number,name,content,type,setup,place,accessauthority,person,remarks)

values(:bh,:mc,:nl,:nx,:d,:wz,:qx,:jdr,:bz);

select max(id) into :ll_id from archive;

bh=s_type+string(ll_id)

update archive set number=:bh where id =:ll_id;

ole_1.insertfile(filepath)

sqlca.autocommit = true

nl= ole_1.objectdata

updateblob archive set content=:nl where id =:ll_id;

commit;

sqlca.autocommit = FALSE

5.2.3 模块的具体实现

建立可视窗口。首先要求用户输入消防档案资料所在的文件夹,用户提供消防档案资料所在的文件夹后,按下确定按钮,程序开始查找文件夹中的所有文件,并依次把文件导入数据库中。确定按钮的click事件代码如下:

string directoryname,s_type,filename="",filepath="",filetype="doc"

long hFind, hNext

s_find_data wfd

directoryname=sle_2.text

s_type=sle_3.text

filename=trim(directoryname) + "*." + trim(filetype)

hFind=FindFirstFile(filename,wfd) ∥查找第一个文件

if hfind>0 then

filename=wfd.filename

filepath=directoryname+filename

filename=left(filename,len(filename)-4)

f_intoDB(filename,s_type,filepath) ∥f_intoDB函数实现将文件导入数据库

do while true

hNext=FindNextFile(hFind,wfd) ∥查找下一个文件

If hNext=0 Then

FindClose(hFind)

Exit

else

filename=wfd.filename

filepath=directoryname+filename

filename=left(filename,len(filename)-4)

f_intoDB(filename,s_type,filepath)

End If

loop

messagebox("成功导入数据库!","您已成功将文件导入数据库中!")

else

messagebox("找不到文件!","文件夹中找不到文件")

end if

close(parent)

程序中wfd 是一个自定义结构类型s_find_data的变量,用来存放文件属性,其中的一个属性filename是string类型的变量,用来存放文件名。程序中的f_intoDB函数是一个自定义的局部函数,实现将文件导入数据库。另外,程序中还用到了3个全局外部函数FindFirstFile,FindNextFile,FindClose。

6 结 语

消防安全管理信息平台,是一个供消防安全管理部门工作人员共享的工作平台。针对如何对消防档案资料进行集中统一管理的问题,对文件的存储形式提出了3种方案。优选后进行了数据设计与自动导入模块的实现,实现了消防档案资料的集中统一管理。

[1] 希尔伯沙茨(美).数据库系统概念[M].第6版.北京:机械工业出版社,2012:146-176.

[2] ULLMAN D J,WIDOM J.数据库系统基础教程[M].北京:清华大学出版社,1999:286-296.

[3] 董宇,安小米,钱澄,等.信息化视角下国外科技档案管理研究进展与特点[J].档案与建设,2014(7):15-19.

[4] 王珊,萨师煊.数据库系统概论[M].第4版.北京:高等教育出版社,2006:205-224.

[5] 陈明,杨劲松.PowerBuilder 8.0高级编程技术[M].北京:北京希望电子出版社,2002:320-324.

Design and Implementation of the Fire Fighting Archives Management Module in the Fire Safety Management System

TIANFuguoHUANGJing

(Quanzhou Vocational College of Economics and Business, Quanzhou Fujian 362411, China)

In order to unify the management, the fire archives data is integrated into the database. Three forms of storage solutions are put forward, and finally an optimal solution is chosen. And then the database design and automatic import module are completed.

clientserver; data storage; database; data flow chart

2016-06-24

2015年福建省中青年教师教育科研项目“基于CS的消防安全管理信息系统的建设”(JA15841)

田富国(1974 — ),男,福建三明人,硕士,讲师,研究方向为数据库。

TU998;TP311

A

1673-1980(2016)05-0086-04

猜你喜欢

档案资料消防形式
《消防界》征稿启事
展览档案资料的收集和归档探讨
工程档案资料管理现状及信息化管理创新的思路探讨
全国消防日11月9日
地质档案资料的保密工作探析
小议过去进行时
漫画说消防
微型演讲:一种德育的新形式
消防也幽默
搞定语法填空中的V—ing形式