计算机审计中的数据库系统分析是指审计人员在审计准备阶段,在充分了解被审计单位信息系统情况的基础上,对其后台数据库存放的数据进行系统分析,以确定数据库、表和字段三个层次的关联关系及其事务流程的分析过程。本质上,数据库系统分析就是理解数据库的过程,使抽象的数据转化为审计可以理解使用的数据,为后续开展数据审计、分析建模奠定基础。 实施数据库系统分析的必要性 一、数据库系统分析是实现审计数据有效采集的前提 实施计算机审计一般要经历如下几个步骤: 1.采集被审计单位信息系统中的电子数据; 2.根据审计需要,对采集的数据进行转换、清理和验证; 3.构建分析模型,分析数据,确定审计重点和查找问题线索。 采集被审计单位信息系统中的电子数据是进行计算机审计工作的前提,而对被审计单位的数据库系统进行系统分析是实现审计数据有效采集的关键。 数据库系统分析解决的主要问题之一是摸清数据库之间、数据库中表之间和表内字段之间的关系,理解数据结构及数据在各系统间的流动,确定审计需要关注的主要数据库、主要表和主要字段,了解业务流程如何在数据库系统中反映。因此,数据库系统分析的质量直接关系到被审计单位电子数据能否被有效采集、使用。 二、数据库系统分析为评价被审计单位内控制度,制订审计方案提供依据 数据库系统分析解决的另一个主要问题是确定被审计单位各业务流程及相关信息系统中,采取了哪些风险控制措施。这些控制措施既有内置于应用软件中的应用控制,又有对业务管理所采取的诸如职责分离、授权等综合控制。审计人员通过对业务关键点的测试,可以初步评价这些内控制度是否充分以及是否有效执行发挥作用,并为制订审计方案提供依据。 实施数据库系统分析的流程 笔者根据多年数据库系统分析工作的实践,归纳出一套适用于审计工作的分析规范,具体包括如下四个步骤。 一、确定数据库间的关系和业务流程。审计人员要与被审计单位的信息技术、会计核算和业务管理部门充分沟通,了解各部门职责分工和业务流程。这个阶段需要的资料主要有信息系统总体架构、各系统设计说明书、上线培训教材和操作指南等。 二、确定数据库表间关系和事务流程。在第一步工作基础之上,审计人员通过分析挑选出主要的表,明确主要表间的事务流程,确定主附表间的约束关系。这个阶段需要的资料主要是表级关系拓扑图和主要表参与事务处理的过程。 三、确定表内字段之间的关系。审计人员根据表的采样挑选出主要的字段,明确主要字段间的依赖关系,明确关键字段的编码规则,比如账号、业务编号、传票套号的编码规则。关键字段的编码规则和业务处理流程关系极强,这方面的分析结果直接关系到审计思路的运用。这个阶段需要的资料主要是数据字典、建表脚本、字段释义和编码规则。 四、汇总上述三个步骤、三个层次的分析结果,编制《数据库系统分析报告》。这份报告应该包括审计数据采集与使用方案,对内部控制制度测评的初步评价,审计应该重点关注的部位等,为下一步审计工作的顺利实施提供直接的指导。 数据库系统分析的重要方法——“黑箱方法” 审计实践中,如果审计人员无法充分获取完整的数据库规范文档,面对复杂的后台数据库系统,分析工作应如何开展呢?笔者根据参加多个审计项目的数据库系统分析的实践,总结出一个重要分析方法——“黑箱方法”。“黑箱方法”是指通过观测外部输入系统的信息和系统输出的信息的变化关系,来探索系统的内部构造和机理的方法。 本文结合一个实例来详细介绍黑箱方法在数据库系统分析中的运用。我们以某财务管理软件后台数据库系统为分析对象,该系统主界面主要由日常账务、部门核算、往来账管理、项目核算、系统间转账等模块构成。 选取几个业务覆盖面最全的客户作为测试用例,使用财务管理软件做查询测试,把主要模块的查询结果复制下来,编制《财务管理软件查询报告》。 之后,打开数据库,根据表的行和列的数目挑选出主要表,然后使用SQL语句检索,找到核心表中信息含量相对较多的字段来破译。本例选择z-dwwl表,该表对应着单位往来账模块检索结果,由此判断该表是“单位往来账表”。以“10月份第0194号凭证”进行查询,使用查询语句select*from z-dwwl where mon='10'and pzh='0194',对照查询界面逐个破译字段名称含义,确定字段对应关系如下:pzrq、pzh、zy、kmdm、j、d、dqh、dwdm、bmry、proj分别对应凭证日期、凭证号、摘要、科目代码、借方金额、贷方金额、地区号、单位代码、部门代码和项目核算。然后使用VISIO的数据库反向工程功能和EXCEL选择性粘贴的行列转置功能把横排的表头竖起来,分别编制数据库拓扑结构图和数据字典。 实例分析流程如下图所示:
只有成功地分析数据库系统,理顺数据间的关系,才能使后续数据审计、分析建模工作顺利进行。 需要关注的几个问题 实施系统分析时需要关注以下四个问题。 一、数据库系统分析要摸清数据库系统逻辑关系、要理解数据库系统事务流程。两者相互依存,清楚数据库系统逻辑关系是事务流程分析的基础,而理解事务流程又有助于快速摸清数据库系统的逻辑关系。所以,数据库系统分析需要两者并重,既要重视逻辑关系分析这一重点,又要关注事务流程这条主线。