身份证信息的数据质量审计分析及应用探讨,本文主要内容关键词为:身份证论文,质量论文,数据论文,信息论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
审计过程中面对居民身份证号,一般情况下审计人员仅对居民身份信息的完整性(如长度是否少于15位、18位或是否为空)作出判断,很少对其准确性进行深入检查,由于居民身份证信息是判断居民信息的关键字段,甚至是唯一字段,经常会遇到居民身份证信息与其他信息的关联或历史数据的比对,如何纠正信息系统中错误身份信息,还原正确居民身份证信息,追查审计线索,就显得尤为重要。本文就公积金联网审计过程中,利用AO 2011SQL查询分析器进行居民身份证信息数据质量分析及应用作简单介绍。
一、身份证号码的规则分析
熟悉身份证信息的编码规则,是校验数据质量的基础。根据[中华人民共和国国家标准GB11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。而早期使用的是15位的身份证号码相比则少了两位出生年份码和一位校验码。具体编码规则见表1。
二、身份证号码准确性校验方法
校验身份证信息,保证数据质量的准确性,是审计结果应用的关键,一般情况下身份证信息校验方法从地址码、出生日期、性别三个层面开展。
(一)地址码校验
通过全国身份证地址电子查询档案,验证业务数据中身份地址前6位系统数据的正确性(见图1)。校验方法有两种。
一是左连接查询校验。以业务数据身份证编码截取6位左连接全国身份证地址电子查询档案,对连接结果“对应地址”为空的身份证编码进一步校验其准确性。查询语句如下:
select a.贷款人身份证编码,substring(a.贷款人身份证编码,1,6)身份证地址码,b.地址码,b.对应地址
from贷款合同表a left join全国身份证地址电子档b on substring(a.贷款人身份证编码,1,6)=b.地址码
where len(a.贷款人身份证编码)=15 or len(a.贷款人身份证编码)=18
order by substring(a.贷款人身份证编码,1,6)
二是子查询校验。以业务数据身份证编码截取6位,查看6位地址码是否在全国身份证地址电子查询档案中。
select贷款人身份证编码,substring(贷款人身份证编码,1,6)身份证地址码from贷款合同表
where substring(贷款人身份证编码,1,6)not in(select地址码from全国身份证地址电子档)
(二)出生日期校验
验证身份证编码出生日期的准确性,校验过程中一般有两种思路。
一是出生日期对比。截取18位身份证编码中7~14位(若是15位则截取7~12位并在前面补上‘19’),形成校验出生日期与贷款合同表中出生日期比对一致性。查询语句如下:
select贷款人身份证编码,len(贷款人身份证编码)身份证长度,
case when len(贷款人身份证编码)=15 then'19'+substring(贷款人身份证编码,7,2)+'-'+sub-string(贷款人身份证编码,9,2)+'-'+substring(贷款人身份证编码,11,2)
when len(贷款人身份证编码)=18 then substring(贷款人身份证编码,7,4)+'-'+substring(贷款人身份证编码,11,2)+'-'+sub-string(贷款人身份证编码,13,2)end校验出生日期,
case when len(贷款人出生日期)=8 then substring(贷款人出生日期,1,5)+'0'+substring(贷款人出生日期,6,2)+'0'+sub-string(贷款人出生日期,8,1)else贷款人出生日期end贷款人出生日期
from贷款合同表
where(len(贷款人身份证编码)=15 or len(贷款人身份证编码)=18)(见图2)
二是年龄异常分析。截取18位身份证编码中7~10位(若是15位则截取7~8位并在前面补上‘19’)形成出生年份,用贷款年份减去出生年份,则为“身份证年龄校验”,对异常年龄进行分析。查询语句如下:
select贷款人身份证编码,len(贷款人身份证编码)长度,贷款申请日期,
case when len(贷款人身份证编码)=15 then year(贷款申请日期)-('19'+substring(贷款人身份证编码,7,2))
when len(贷款人身份证编码)=18 then year(贷款申请日期)-substring(贷款人身份证编码,7,4)end身份证年龄校验
from贷款合同表
where((len(贷款人身份证编码)=15 or len(贷款人身份证编码)=18))
and贷款申请日期is notnull and贷款申请日期>'1999/12/31'(见图3)
(三)性别校验
验证省份证编码性别准确性,主要是通过截取18位身份证编码的第17位(15位身份证编码的第15位),利用编码规则中奇男偶女(假设奇数代码为“1”,偶数代码为“2”)的特征与贷款合同表中性别代码比较。查询语句如下:
(1)select贷款人身份证编码,len(贷款人身份证编码)身份证长度,
case when len(贷款人身份证编码)=15then substring(贷款人身份证编码,15,1)
when len(贷款人身份证编码)=18 then substring(贷款人身份证编码,17,1)end性别特征,
贷款人性别代码
into性别特征表
from贷款合同表
where(len(贷款人身份证编码)=15 or len(贷款人身份证编码)=18)
(2)select*,case when性别特征in('1','3','5','5','9')then'1'else'2'end性别校验码
from性别特征表
where case when性别特征in('1','3','5','9'),then'1'else'2'end<>贷款人性别代码
(四)准确性校验注意点
(1)地址码校验中由于最新全国身份证地址电子查询档案中缺少一部分已撤销地区编码,对查询结果需要进行进一步验证,方能确定错误的地址码。
(2)出生日期、年龄、性别比较校验中是相互校验的过程,对身份证信息中异常数据可以直接得出结论,细微差异需要进一步比较分析,查明原因。
(3)18位身份证信息校验还可以利用第18位校验码进行验证,验算方法为:①身份证号码前17位数分别乘以不同的系数。从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2;②将这17位数字和系数相乘的结果相加;③用加出来和除以11取余数,余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字,分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2,与身份证号码第18位比较判断其准确性。
(4)对于几类校验准确性有误的身份证信息,为防止结果中同一身份证有不同的错误可以使用“UNION”语句连接去除相同身份证信息。
三、两代身份证比较应用
校验的目的是为了应用,而应用基础是数据的准确性。如果身份证信息在数据库中,作为证明个人信息的唯一字段进行关联比较时,既要考虑到数据准确性,也要考虑到两代身份证的长度差异,才能更好地追踪线索,发现问题。近日,笔者在公积金审计中,由于国家实行房地产宏观调控,我市公积金二次贷款条件和规定2010年11月30日后进行了调整,因此,在审计过程中首先要确定哪些是二次贷款。
(1)身份证信息准确性验证。检验2010年11月30日后贷款人身份证信息准确性,对于出现差错的身份证信息进行更正,并且通过职工编码和姓名看有差错的部分身份证信息在历史贷款信息中有无差异,具体校验方法见第二部分内容。
(2)两代身份证转换同一长度。为确定贷款人历史贷款信息,需将两代身份证转换同一长17位进行比较,一般情况将15位身份证信息在第6位后加“19”,18位身份证信息去除最后一位变17位,形成新的身份证字段。查询语句如下:
select贷款人身份证编码,
case when len(贷款人身份证编码)=15 then substring(贷款人身份证编码,1,6)+'19'+substring(贷款人身份证编码,7,15)else substring(贷款人身份证编码,1,17)end新贷款人身份证,贷款申请日期
from贷款合同表
where len(贷款人身份证编码)=15 or len(贷款人身份证编码)=15
(3)确定二次贷款人数。首先根据新贷款人身份证统计1次以上人员,然后以子查询确定申请日期在2010年11月30日后贷款人员,并根据查询结果,分析政策调整后二次贷款相关规定执行情况。
标签:substring论文; 身份证贷款论文; 中华人民共和国居民身份证论文; 贷款人论文; 数据校验论文; 编码转换论文;