数据库审计方法初探

更新时间:2011-11-25 09:50 找法网官方整理
导读:
传统的计算机审计,是将数据经过采集后利用模板直接导入AO系统,并在AO系统中对财务数据进行审计分析。随着审计深度和广度的不断扩大,传统的数据采集转换已经不能满足审计的要求。面对拥有大数据量、结构各异、种类繁多的数据库财务软件和业务数据库系统,我们需要采

  传统的计算机审计,是将数据经过采集后利用模板直接导入AO系统,并在AO系统中对财务数据进行审计分析。随着审计深度和广度的不断扩大,传统的数据采集转换已经不能满足审计的要求。面对拥有大数据量、结构各异、种类繁多的数据库财务软件和业务数据库系统,我们需要采用更灵活的方式对数据进行分析和处理。这类数据库的审计分析,主要经过数据采集、数据转换、数据验证、审计分析、审计核实五个步聚。就目前来讲,数据采集、数据转换、数据验证这三个步骤放在审前调查阶段来完成,数据采集、数据转换的时间比例约占审前调查的30%,数据验证的时间比例约占审前调查的70%。审计分析、审计核实在审计实施阶段完成,审计分析占到审计实施阶段绝大多数时间。如果条件允许,还可以将审计分析提前到审前调查阶段来进行。下面对实施这五个步骤中应注意的一些问题做进一步探讨。

  一、 数据采集和转换

  (一)了解数据库的基本情况

  处理被审计单位数据库,首先要了解被审计单位数据库的基本情况,如数据库软件的种类、版本、数据量等。以常用数据库为例:Access数据库可以直接复制使用;SQL Server可以将数据库分离、复制后直接拿来使用;而DB2数据库复制后,移到本地,还需要进行修改才能使用;Oracle数据库复制后也是不能直接使用的。无论什么数据库,如果备份的数据库和恢复的数据库版本不一致,就可能导致数据库恢复失败。如果要对数据进行模拟测试验证,则需要了解被审计单位是否可以提供备份机和可以使用的前端软件。

  (二)明确采集要求,掌握数据量大小

  在数据采集过程中要提出明确的采集要求:如数据发生的时间范围、地域范围、数据导出格式;同时还要清楚被审计单位的数据导出方式、数据量大小等数据库情况。以Oracle为例:在该数据库中每一张表都属于某一个用户,每一个用户的权限不同,能够导出的数据也不同,所以要知道被审计单位是以什么形式提供的数据。而且,在数据采集过程中,要清楚数据量大小,如Oracle数据库,该数据库在创建时,不加载任何数据,体积本就比较大(超过1G),加载备份数据恢复后,体积可能比原备份数据增长一倍,因此,必须有足够的空间用来恢复数据。

  (三)进行正确的数据格式转换

  目前,大部分审计人员分析时,习惯使用SQL Sever数据库,所以有时必须将其它的数据库格式转换成审计人员熟悉的SQL Sever数据库格式。不同数据库存放数据的格式存在很大差异,进行相互转换有一定难度。尤其是对整个数据库进行转换时,可能会遇到很多意想不到的问题。以Oracle转换成SQL Server为例:相同的TimeStamp类型(时间戳类型),在转换过程中就会出错,原因是两种数据库在存放该类型数据时格式不同。各类数据库使用的SQL语句都是一样的,不同的是各自的函数。如果有一个专门针对各类数据库之间数据格式转换的工具,就可以大大减少数据采集的时间。

  二、数据验证

  (一)对数据库中主要财务数据和相关报表进行对比

  在数据采集、清理、转换之后,从数据库表中提取主要财务数据与会计报表核对。主要分为两种情况:一种是业务、财务两套系统;另一种是业务系统和财务系统合一的集成系统。前者是从业务系统中提取指标数据与财务系统提取的指标数据进行分析核对;后者针对年度报表上的一些财务指标,在集成系统中对原数据进行分析统计,将统计结果与报表上的财务指标进行核对,验证其报表的真实性。两者的数据来源不同,但方法一致,并且可以相互验证。在实际数据验证过程中,数据验证的难易程度与数据库对数据处理的复杂程度有关。一般来说,数据库系统开发完善程度越高、单位数据库管理员对数据库熟悉程度越高、系统应用越规范的单位,其数据验证相对就会更顺利。

  (二)选择验证对象数据是关键

  一套单一的数据系统,只要能从数据库中找到主要表,然后通过核对总记录数、总金额,或者通过审核顺序号的断号和重号、特殊编码的规范性来进行验证即可。

  多套系统组合运用,首先要弄清楚系统之间的数据流向、关系和时效,再查找或整理出具有完整数据的表,如果不考虑这三个因素,可能做了大量的验证之后,才发现数据不全。找表时要确定找到的这张表是通过系统自动计算生成未改动过的,还是经过了人工再处理,如果是人工再处理的表,则要弄清这些表都进行了哪些处理后再使用。

  不同系统,不同业务,常用表也不同。以商业银行为例:流水表是最实时、最原始、最完整的数据表,而业务状况表或资产负债表是系统在流水表的基础上经过统计处理出来的,这时候就需要向数据库管理员了解具体情况,再做选择。因此,无论面对简单还是复杂的系统,都应该根据被审计单位具体业务情况和业务特点而有所选择。

  (三)与被审计单位数据库管理员建立良好的沟通平台

  数据验证时间应该控制在审前调查时间的70%左右,而在实际操作过程中,数据验证经常是在审前调查结束时都不能完成,需顺延到实施阶段。这就需要在数据验证开始之前,对被审计单位的信息系统情况做一个全面细致的摸底。首先,初步了解被审计单位信息系统情况,设计计算机审前调查表,交由被审计单位数据库管理员填写。其次,对于复杂的信息系统最好得到系统的业务流程图或数据流程图,这样对系统的了解可以更直观、快捷。对没有系统文档的被审计单位,要依靠其系统管理员的介绍。再有,系统文档反映的情况通常与现行系统的实际情况存在差异,若仅凭系统文档熟悉信息系统需要很长时间,易走弯路。所以无论被审计单位信息系统的实际情况怎样,都应该在打开数据库之前,请系统管理员对系统的流程、功能等进行一次类似于讲课的演示讲解,这样既可以避免审计过程中,向管理员询问具体问题时存在沟通障碍,也可以降低管理员有意或无意隐藏有效信息的风险,比如一个关键的表、字段、甚至一个数据库或数据系统。与被审计单位数据库管理员的联系会贯穿整个计算机审计的始终,建立良好的沟通平台是进行审计分析的良好开端与基础。

  三、审计分析

  审计分析是一个复杂过程,要在上百张表中找到所需要的表并非易事。找到相关的表只是开始,最终还是要解决审计中的问题。在审计过程中,对某一问题的处理,除了要对数据库中相关表熟悉之外,还要对业务有所了解,不能准确把握,就会出现反复的现象。如对某一问题的分析过程。 

  (一)表数据分析

  要根据问题分析数据。原因很简单,表太多,没有更多时间对每一张表都进行分析。实际上,对表的分析,在数据验证阶段就已经开始了,数据验证过程也是表分析过程。那么,分析的捷径何在?获得数据字典,这是第一步,在数据字典文档中,包含所有的表说明和字段说明。因而可以更快、更有效地对数据进行分析和处理。若没有数据字典文档,可以通过下面的方法分析表含义:一是数据库中的字典表;二是数据库表中的备注;三是表名的英文或拼音简写,询问相关管理人员。一个大型完善的软件系统,都会提供一组字典表,这组字典表包含有其他表的一些常用信息,如部门信息、费用类别等。同时,这组表中也会有一张相当于数据字典文档的表,它记录了数据库大部分表和字段的含义,在审计分析过程中可以充分利用这类表。这类表的表名可能会以DICT、TABLE、ZD等开头或结尾。如果没有找到这张表,还可以看看数据库表设计中的备注信息,部分系统出于方便维护等原因,会将字段和表的解释记录在备注中。如果之前的这些都没有,就需要看表中的英文或拼音简写,猜测表中可能的数据,并打开表进行查看,或通过咨询信息管理人员获得需要的资料。另外,在财务数据中,凭证表会比较容易找到,因为这张表通常是所有财务表中记录数最多的一张。而余额表可能有也可能没有,如果有则将其余额表与财务报表核对验证其真实性、完整性,如果没有则将凭证表和上一年的余额表作处理计算生成余额表,再验证其准确性。在获得数据库的资料后,就可以根据审计问题,利用数据字典文档、字典表、备注等筛选出表名相近的表,缩小表数据分析的范围。对筛选出的表逐一查看分析,找到最关键的表,然后逐层关联筛选,最终获得审计结果。

  (二)建立中间表

  这里所说的中间表是指在分析问题的过程中,将两张或两张以上的表进行关联、处理形成的表。这些表的形成既体现审计步骤,使审计逻辑更清晰,还节省审计时间。以医院为例,在数据库中存在病种代码表(存放病种代码和病种名称)和住院病人表(存放病种代码和住院病人的其他信息,但没有病种名称),将这两张表关联得到中间表——病人信息表,这样可以一目了然地看出病人住院情况和所患的病种。建立中间表的过程都是从问题出发,根据问题寻找表,并对各表进行关联,形成最初的基础表。多人合作时,这些基础表就可以为各审计小组利用,以节省时间。形成的基础表,可能已经接近最后的结果,只需要设置一些条件就可以,也可能这些基础表又是下一个中间表的基础表,在一层一层的关联过滤后,最终得到结果。看似简单的过程,也不是一蹴而就,需要花费很多时间去分析、处理。中间表的形成过程及结果表的得出见图2。

  

  (三)多人合作分析

  多人合作分析,主要针对大型数据库的分析和处理,体现在如何合作、如何节省时间两个方面。在这里做一个简单探讨。下面用图示来说明这个过程。    

  这是一个对问题分解、汇总、再分解的过程。首先,将审计问题分类,把分类问题分配给每一组审计分析人员,每组至少有两个人员组成,包括审计人员和计算机人员。审计分析人员获得问题后,开始分析各自需要的表。这个阶段,只是寻找、判断审计需要的表,不做具体处理。在找到各自需要和可能需要的表后,对所有分析出的表进行汇总。针对这些表,分析人员共同讨论需要建立的基础表或中间表。讨论结束后,要明确由哪一个人或哪几人完成基础表的创建。之后,各个审计分析人员将通过这些基础表和自己创建的中间表进行数据查询分析,最终得到审计结果。在分析过程中要保证及时沟通,避免问题延误、遗漏或重复性工作。

  四、审计核实

  通过数据审计分析处理的结果并非都是正确的,所以要在审计分析后进行审计核实。在审计核实过程中发现的错误可能由以下几方面原因造成:一是由于审计人员之间在分析和理解审计问题上有所不同,导致结果并非所需要。二是审计业务理解的偏差和数据库表、字段理解的偏差。三是编写语句过滤条件错误或不完整。这些原因,都导致出现不正确的审计结果。这时就需要回到最开始重新进行审计分析过程,以更正存在的错误。(作者单位:自治区审计厅)

  编辑推荐:

  审计方法概述

  审计方法概述

  审计方法变革

温馨提示:法律问题具有较强的专业性,如有疑问,建议一对一咨询专业律师
我在审计法领域有丰富的实战经验 ,如果你需要针对性解答,可以向我在线咨询。
响应时间 平均2分钟内
已帮助 190119
在线咨询
声明:该作品系作者结合法律法规、政府官网及互联网相关知识整合,如若内容错误请通过【投诉】功能联系删除。
找法网咨询助手
官方
当前在线
立即咨询
找法网咨询助手提醒您:
法律所涉问题复杂,每个细节都有可能决定案件走向,若问题紧急,建议 立即咨询 律师,并详细描述自身问题,以获得 针对性解答。24小时在线,平均5分钟回复。
同学欠我的钱不大,500元不还怎么办?
可以采取协商和解的方式追讨债务。协商和解是指债权债务当事人在自愿、互谅的基础上,直接进行协商或邀请第三人从中斡旋,解决纠纷。
我丈夫给别人担保,别人还不上钱就成了执行人的黑名单
您好,这要看您的担保期限是否已经过了,如果您的担保仍然有效,债权人起诉的话,可能会将您列为被告要求您偿还债务
未成年操作导致公司账户冻结你这边配合还是不配合不配合的情况下公司这边将报备公安机关处理公安机关将采取
法律分析:由于未成年的付款,导致我们商户被司法冻结6w,需要付款用户的配合激活账户来解冻商户余额,如遇付款方不配合操作,我方将向法院起诉。法律依据:《中华人民共
遵义修建房子该怎么样给赔偿
法律分析:不同房屋结构相应的赔偿标准为:(一)砖混结构一级房屋每平方米400元,二级每平方米380元,三级每平方米360元;(二)砖木结构一级房屋每平方米260
白银找律所咨询多少钱费用
法律分析:(一)民事诉讼案件按审判阶段确定收费标准。1、计件收费标准。每件收费3000--10000元。2、按标的额比例收费标准。10万元以下(含10万元),1
湛江市辖区镇级国有土地出让金计算办法
法律分析:土地出让金,一般由土地使用权获得方支付。市、县国土资源管理部门与国有土地使用权受让人在签订土地出让合同时,应当明确约定该国有土地使用权受让人应当缴纳的
1分钟提问 海量律师提供在线解答
  • 1
    提交咨询
    详细描述您所遇到的问题或纠纷并发送
  • 2
    接入律师
    耐心等待律师解答,平均5分钟及时响应
  • 3
    获取解答
    还有疑问?60分钟无限次追问
立即咨询