APP下载

地籍档案数据库迁移的研究与应用

2013-02-19石晓春区钜照邱宏华

地理空间信息 2013年1期
关键词:记录表关键字数据表

石晓春,吴 磊,区钜照,邱宏华

(1.广东省国土资源测绘院,广东 广州510500)

在国土资源信息化建设过程中,原有的地籍管理数据库系统累积了大量的地籍数据,主要包括土地调查、土地登记、土地分等定级估价、土地统计、地籍档案管理等[1]。然而,随着计算机技术的发展,软硬件环境的不断更新,原有系统不能满足业务工作提出的新要求,这使得相应的数据库内容也要不断地更新,并且新数据库必须接纳旧数据库的数据。因此,将原有数据库系统中的海量数据迁移到新的数据库中,是目前数据库管理的重要问题。国内外已有不少学者对数据迁移工作开展了广泛的研究[2-7],本文立足于当前地籍档案数据管理的需要,研究了数据库迁移的可行性和应用方案,确保迁移后数据准确可靠。

1 数据迁移

数据迁移指的是将原系统的数据进行提取(Extraction)、转换(Transformation),并装载(Loading)到新系统中的过程[8]。数据迁移主要分为2个过程,一个是模式转换,另一个是数据转换,分别对应于结构对比和数据清理及规范化[9]。

1.1 模式转换

模式转换是对比新旧系统数据库的表结构及数据字典,找出它们之间的映射关系,并且制定新旧数据的转换规则。

1.2 数据转换

一般情况下,原有数据库中数据不是直接提取出来就导入到目标数据库的,而是需要一系列的变换、运算,才能成为目标数据库中数据。数据转换是将原有数据库中的数据按照一定的规则,清理转换,然后填充到目标数据库中,产生目标数据库所需要数据的过程。

2 迁移方案的设计

2.1 数据分析

广东省某市国土资源局自1986年初始登记发证至今,共130多万份地籍发证资料。2000年该市使用智能土地登记业务系统(旧数据库)存储地籍资料,系统使用SQL Server 2000数据库存储了地籍登记的信息数据。目前该系统存在较多信息不全、信息错误、信息缺失等相关问题。2007年该市开发并使用了电子政务系统(新数据库),使用Oracle数据库,但由于多种原因,旧数据库仍继续使用,因而存在2个系统2套数据共存的现象,因此需要进行数据迁移。以地籍档案数据库中档案登记业务为例,旧数据库有4个数据表,新数据库有1个数据表,数据表之间通过关键字进行关联。数据表字段对比分析如表1所示。

表1 数据表字段分析表

2.2 方案设计

本方案的目的是将旧数据库的数据迁移到新数据库中,在数据分析的基础上,制定转换规则,进行数据转换,对地籍历史数据进行整理和补充入库,并使之正常运行。地籍数据库迁移方案流程如图1所示。

2.3 实施步骤

1)对旧数据库的数据进行预处理,并整理成与新数据库表结构相同的临时数据库。临时数据库主要用于旧数据库的质量检查、修改,采用与新数据库一致的表结构。

图1 数据库迁移方案流程图

2)将临时数据库转换到新数据库中。

3)数据库检查,包括关键字空值记录检查、完全重复记录检查、关键字相同其他字段不同记录检查、元数据检查等[10]。

4)用程序自动删除完全相同记录,根据检查记录表,查找档案、核对资料,在线编辑后台数据库表记录,经测试运行无误,形成最终的数据库成果。

3 主要技术及其应用

尽管数据迁移并不涉及复杂的系统开发,但是依旧面临很多问题。本文对广东省某市国土资源局地籍档案数据迁移实际过程中存在的问题进行了总结,并结合实际情况寻找解决方法。

3.1 变更记录合并

为了解决数据迁移过程中地籍档案数据库变更记录表中数据冗余的问题,对表的记录进行整理。首先根据变更记录表的ID字段值(变更次数),在变更记录字段(BGJL)值后面追加相应的分号“;”数,然后删除表中的ID字段,接着把4个关键字值相同的记录进行合并。

1)ID字段值处理。

update 变更记录表 t set t. 变更记录 = t. 变更记录|| ';' where t.ID = '1';

update 变更记录表 t set t. 变更记录 = t. 变更记录|| ';;' where t.ID = '2';

2)变更记录字段(BGJL)值合并。

create or replace function str_list ( 关键字(变量) in varchar2)

Return varchar

Is

str_list varchar2(4000) default null;begin

for x in (select 变更记录 from 变更记录表 where变更记录表.关键字 = 关键字(变量)) loop

str_list := str_list||to_char(x. 变更记录);

end loop;

return str_list;

end;

create table 新变更记录表as select T. 关键字,str_list(T. 关键字) from变更记录表t group by t.关键字

3.2 左连接

为了解决不同数据表的合并问题,本文以4个关键字为关联,通过左连接技术将“变更记录”、“建设用地面积”、“农用地面积”等数据表整理到“临时数据库”中,进而转换到新数据库,经检查修改后形成数据库成果。

select table1.column,table2.column

from table1 left join table2 on table1.column1 =table2.column2;

4 结 语

在旧数据库系统中的数据迁移到新数据库的过程中,迁移操作要保证数据的安全和一致。先要对系统的数据结构、数据关系、数据表之间的关联做深入的分析和全面的了解,再根据系统的实际情况制定合适的方案,并进行多次测试,以确定数据能安全、完整、一致、无损地迁移到新数据库中。本文在研究数据迁移理论的基础上,结合广东省某市地籍档案数据迁移的实例,对数据迁移进行了实践,对数据迁移过程中遇到的问题进行了总结,并提出了解决方法。

数据迁移过程中不但包含具体的技术问题,而且还涉及到系统的业务问题,只有深入了解2个系统的业务逻辑,才能正确地完成数据迁移工作。

[1]张新长, 唐力明. 地籍管理数据库信息系统研究[M]. 北京:科学出版社, 2009

[2]Mark E. Williams, Gary R. Consolazio, Marc I. Hoit. Data Storage and Extraction in Engineering Software using XML[J].Advances in Engineering Software, 2005, 36(11): 709-719

[3]Joachim Biskup, David W. Embley. Extracting Information from Heterogeneous Information Sources using Ontologically Specified Target Views[J]. Information Systems, 2003, 28(3):169-212

[4]Joseph Fong, San Kuen Cheung. Translating Relational Schema into XML Schema Definition with Data Semantic Preservation and XSD Graph[J]. Information and Software Technology, 2005,47(7): 437-462

[5]宋鹏, 廉继红. ETL技术在复杂数据迁移项目中的应用[J].西安工程大学学报, 2008(4): 493-498

[6]李永良. 数据迁移在新旧系统中切换[J].中国计算机用户,2003,35: 45-46

[7]姜倩, 武桂香, 管凤旭. 异构数据库间的动态数据迁移[J].应用科技,2005(32): 43-45

[8]Lilian Hobbs, Susan Hillson and Shilpa Lawande, et al. Loading Data into the Warehouse[J].Oracle 10g Data Warehousing, 2005,15(2): 155-253

[9]陈永亮. Oracle环境下数据迁移技术研究与实现[D]. 北京:北方工业大学,2011

[10]史秋晶, 李羽荟. 城镇地籍GIS建库的质量控制及检查[J].地理空间信息, 2010, 8(4):158-161

猜你喜欢

记录表关键字数据表
2022.04.21~2022.05.20国外运载火箭发射记录表
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
2022.1.21~2022.2.20国外运载火箭发射记录表
2021.01.21~2021.02.20 国外运载火箭发射记录表
2020.7.21~2020.8.20国外运载火箭发射记录表
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
成功避开“关键字”
基于列控工程数据表建立线路拓扑关系的研究
图表