识别错误身份证号码计算机审计方法.docVIP

识别错误身份证号码计算机审计方法.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
识别错误身份证代码的 计算机审计方法 一、方法代码 GCA/0002 二、方法名称 识别错误身份证代码的计算机审计方法 三、目标功能 审计目标:验证身份信息的存在性、唯一性、合理性、规范性,有助于审计人员从总体上把握人员信息,整体上评判一个数据库系统开发的好坏。 审计功能:通过对身份证号码的检查,发现一些有价值的问题线索,实现审计目标,发挥审计的监督作用。 四、所需数据 所需数据资料如下表所示: 序号 数据资料名称 结构化 非结构化 半结构化 1 人员信息表 √ 其中: 基础表:人员信息表 数据元素:姓名、性别、身份证号码 五、分析步骤 (一)、验证身份证号码长度的合理性。根据我国身份证号码的编码规则,长度不为15位或18位的均视为不合理。 类SQL语句:Select b.* From [人员信息表] b Where (Len(b.身份证号) Not In (15,18) And b.身份证号 Is Not Null ) Or b.身份证号 is Null (二)、验证身份证号码是否存在无效字符。在身份证号码的录入时,有的时候即使长度是15位或18位,但由于身份证号码中包含其他字符,如*,#,¥,%等,均视为身份证号码存在无效字符。做法上,如果身份证号码为15位,则取全部的15位;如果身份证号码为18位,则取前面17位,把结果先存于中间表中,再进行查询。 类SQL语句:select [姓名],[性别],iif(Len(b.身份证号)=18,mid(b.身份证号,1,17),b.身份证号) as 身份证号 into 中间表 From [人员信息表] b Where Len(b.身份证号) In (15,18) Select * From [中间表] Where Isnumeric([身份证号]) = 0 case when len(b,,,)=18 then substring(,,,,1,17) else b.xxx end (三)、验证身份证号码中包含的出生日期信息是否不符常理。在身份证号码的录入时,有的时候即使长度是15位或18位,但如果存在如1985-2-30等出生日期信息,均视为身份证号码不符常理。做法上,先提取出出生的年月日,把结果先存于中间表中,再进行查询。 类SQL语句:select [姓名],[性别],[身份证号],iif(Len(b.身份证号)=15,19+mid(b.身份证号,7,2)+-+mid(b.身份证号,9,2)+-+mid(b.身份证号,11,2) ,mid(b.身份证号,7,4)+-+mid(b.身份证号,11,2)+-+mid(b.身份证号,13,2)) as 出生日期 into 中间表1 From [人员信息表] b Where Len(b.身份证号) In (15,18) Select [中间表1].* From [中间表1] where ISDATE([出生日期])=0 or not([出生日期] Between 1900-01-01 And 2010-06-30) 四、验证身份证号码中包含的性别信息是否与字段性别的信息相吻合。 类SQL语句:Select * From [人员信息表] b Where Len(b.身份证号) In (15,18) and 性别=男 and iif(Len(b.身份证号)=15,mid(b.身份证号,15,1),mid(b.身份证号,17,1)) IN(0,2,4,6,8) or Len(b.身份证号) In (15,18) and 性别=女 and iif(Len(b.身份证号)=15,mid(b.身份证号,15,1),mid(b.身份证号,17,1)) IN(1,3,5,7,9) 六、流程图 七、方法语言 (一)验证身份证号码长度的合理性。 Var SqlStr, CurQuery, IsEmpty; Begin //Sql语句赋值给变量 SqlStr:= Select b.* From [人员信息表] b Where (Len(b.身份证号) Not In (15,18) And b.身份证号 Is Not Null ) Or b.身份证号 is Null ; //执行查询SQL,查找身份证号码长度不合理的情况 CurQuery:=CreateQ(SqlStr,-1); //查询结果集是否为空 IsEmpty:=QEof(CurQuery); if IsEmpty#1 then begin //循环将查询结果放入业务疑点临时库 repeat AddTransRslt(CurQuery,身份证号码长度不合理 查询

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档