APP下载

浅析馆藏数据库全库统计的方法

2010-06-13周晔

档案与建设 2010年5期
关键词:档号顺序号案卷

□周晔

随着档案数字化建设的推进,馆藏数据日益增长,以常熟市档案馆为例,根据台账统计,目前入库的案卷目录有30多万条,文件级目录达到500多万条。常熟市档案馆数据库设计的基本思想是按全宗建表形成数据。由于全宗数量本来较多,又有变迁的因素,数据表数量本身已经比较多;加之归档形式的变化和档案种类的增加等原因,数据表的结构日趋多样化,表数量也越来越多。档案管理软件在使用过程中,又根据使用目的创建了一些专题数据库表,如退伍军人档案、农民建房档案、婚姻档案专题等,这些专题表,有的与库藏的其它表有重复,也有的是新增唯一的表;加上各种临时库表,库中的数据表近千张。如果要对馆藏数字信息总量,以及分类的各种档案数量进行统计,第一选择是利用档案管理软件提供的统计功能完成。但在统计的过程中会发现,这些众多的表并非按统计的要求而设计,虽然档案管理软件也提供多表查询的功能,但在进行统计时,由于表数较多、全宗变化等原因,有些分类的跨表统计容易出错。但如果按表逐一统计,虽可以保证统计的完整准确,但工作量很大。能否找到较为方便的方法,在管理软件的统计不太方便时,综观全库,使统计工作简明易做且结果完整准确呢?有一种思路是直接通过数据库本身提供的连接工具,利用通用的数据库标准语言SQL语言,在后台对整个库进行操作。通过找到统计对象的共同特点,对全库按特点进行查询统计,可以保证数据结果的完整准确。思路确定后,在操作过程中会遇到一些问题,例如:SQL语言要求操作的数据表有准确的表名,但对本馆的数据库而言,档案管理软件为安全起见,生成的表名全是没有规律不能直接识别含义的随机字符串。而这些表,也并非全部是馆藏的数据表,例如,有一些是查档利用的登记表,里面的条目内容并非馆藏的内容,档号在输入时也比较随意。这些条目是不能统计在内的。怎样找到合适的表名对象,如何正确使用SQL语言,直接对整个数据库进行查询统计,下面详细描述采用上述思路完成统计的方法步骤:

一、列出所有有效馆藏条目记录表

通过观察发现,档案管理软件本身使用了一个专门的说明表记录了所有在管理软件里正式用到的表名,但这些表中,有一些并非真正保存馆藏条目的表,而是一些查档登记簿或编研统计类表。另外,所有记录馆藏条目的表有一个特征,就是具有“档号”这个特征字段。所以,我们从说明表中取得一份表名列表,再从全库中得到有“档号”字段的表名列表,从这两份列表中取得交集,再根据说明表的说明,并分析交集外的数据表,对后台库中所有表基本有所认识,以此确定合理的所有有效的馆藏条目的记录表,以之作为全部统计的基础。

上述思路在实现过程中有两点需要说明,一是求得库里所有具有“档号”字段的表名的参考SQL语句如下:

二是和说明表取交集的方法,可以借助EXCEL软件,先将所有登记表置于一列,再将查询得到的表名置于一列,借助公式VLOOKUP,得到二者的交集。假设A列存放全部有“档号”字段的表列集,B列存放说明表中的表列集,C列求得A、B列交集的参考公式如下:

和软件登记表进行对比分析后,得到有效表名近500个,以这500个表做为以下统计的对象。

二、案卷级数量统计

将第一步得到的所有有效馆藏条目的记录表中不同的档号取出,多表取得内容的SQL语句可采用联合的方法,语句格式如下:

省略号部分,可以利用EXCEL表格,自动生成省略号部分的多表语句。其中参数DISTINCT,可以保证结果表中档号全是唯一不重复的。值得说明的是,采用表联合的方法,一次最多可查256张表,500张表要分两次执行,故可以将中间结果分别存入临时表templ,temp2两张表中,再合并到一个临时表中,表名叫ALLDH,此表里集中了全馆内所有不同的档号,也可以说就是馆藏案卷级的数量了。即可得到总的文件级目录总数。

三、档案文件级目录数量统计

档案的文件级目录数,指的是每个案卷含有多少个文件的数量,在数据库表里,体现为同一卷档号相同,但卷内的顺序号不同。而不做卷的档案,一个档号就是一件。要得到文件级档案的总条目数,应该分别统计以卷归档和以件归档的条目数并求和。其中以卷归档的档案,数据库中表的标志是,含有“卷内顺序号”字段,得到不同的档号及卷内顺序号就可以了,方法同得到不同档号的方法。从多个表中得到不同的卷内顺序号的参考SQL语句如下:

a group by档号,卷内顺序号

将所有不同的档号和卷内顺序号放到临时表tdetail中,得到案卷的文件级目录条数共计400多万条。

而对于以件归档的档案,具体表现是其库表结构中,不会出现“卷内顺序号”字段。用EXCEL求差集的方法,求得不含“卷内顺序号”的数据表。从这些不含“卷内顺序号”字段的数据表中得到所有的不同档号放入临时表“无卷内”中,由于不含“卷内顺序号”的数据表还包括案卷目录,所以再排除有“卷内顺序号”字段表里出现过的档号,就是以件归档的档案,一个档号对应一件档案。找到有“卷内顺序号”字段表里出现过的档号的SQL语句参考如下:

将以卷归档和以件归档的档案分别统计的文件级目录数量相加,

四、分类统计的方法

统计时,除了要求得到总体的数量,还要求得到不同专题中的案卷和文件级目录的数量。如2009年底江苏省档案局要求统计以下种类档案专题的馆藏数量:明清、民国、婚姻、独生子女、名人、印章、影音、会计、公证、革命历史、土地(建房)、知青、保先、退伍军人档案。对不同的分类,有的在本馆做过专题,可以直接在软件专题里得到数据;有的档号具有特点,比如明清档号,是以K01做为档号的开始全宗号的,对能找到该类档号特征的分类,可以很方便地利用前面得到的两个临时表ALLDH和tdetail,用SQL查询语句得到数据。查询案卷数目的SQL语句为:

SELECT档号FROM ALLDH WHERE档号LIKE‘K01%’

而查询该类文件级档案数目的SQL语句为:

SELECT档号FROM TDETAIL WHERE档号LIKE‘K01%,

综上所述,结合数据库后台直接查询的方法,加上档案管理软件本身的查询和统计功能,应该就可以较快而准确地完成全库及分类统计的各项要求了。

猜你喜欢

档号顺序号案卷
关于参考文献著录格式
浅议专业档案实体分类及其在档号编制中的运用
石家庄市人大常委会 认真开展案卷评查
OKUMA MCR 系列加工中心ATC 故障修复
山西省开展农业行政处罚案卷评查活动
《归档文件整理规则》档号编制的原则与要求( 之三)
工作广角
关于兽药监督执法案卷的几个问题
关于参考文献著录格式
浅谈条形码技术在提高档案实体管理水平中的思路