首页 > 人工智能 > 正文

系统实施中数据导入的冲突处理

2008-05-23 09:11:39  来源:中国计算机报

摘要: 数据导入过程中,要想实现严格的等价导入是比较困难的。必须要确定两种模型中所存在的各种语法和语义上的冲突。
关键词: 项目

    数据导入过程中,要想实现严格的等价导入是比较困难的。必须要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:

    命名冲突 源数据源的标识符可能是目的数据源中的保留字。针对这种错误,应先检查数据源中的保留字,建立保留字集合,对于保留字中的命名冲突,要根据需要重新命名。

    格式冲突 同一种数据类型可能有不同的标识方法和语义差异。针对这种错误,技术人员可以从数据源的驱动程序中取出相对应的数据源的数据类型后,对一些特定的类型进行特殊的处理。对于字符型数据中含有“,”字符的情况,在数据导入过程中须通过转义符作特殊处理,否则会把它误当作字符串分隔符。另一方面也可以通过建立数据类型映射表来解决问题。

    结构冲突 如果两种DBMS之间的数据定义模型不同,如为关系模型和层次模型,则需要重新定义实体属性和联系,以防止属性或联系信息的丢失。

    类型冲突 不同数据库的同一种数据类型存在精度之间的差异。此时应在类型转换中将类型和精度结合起来决定源数据类型和目标数据类型的映射关系,找出目的数据源中与源数据源类型的精度最匹配的数据类型作为缺省的映射关系。类型映射表的建立过程中,也应该充分地考虑类似问题。

    对于数据导入导出中,如何保持字段的非空设定等约束关系的问题,我们按照两方面进行讨论:对于未知模式的目的数据库,应首先对源数据库的定义和结构进行系统的分析和学习,按照目前的各种约束关系,有针对性地设计目的数据库的结构,从而避免信息损失;对于已知模式的目的数据库,如目的数据库模式与源数据库相同或相近,就可以正常实现约束的导出,如模式不同,则需要对目的数据库的模式进行分析,按照目的数据库的模式重新建立导出数据的约束关系。同时,数据库数据导入导出中对单表的导出应该有一定的限制和要求。

    通常情况下,如果用户只是为了浏览和查看数据库中的数据信息,那么单表导出的方式并不会妨碍数据库的正常使用,但如果对单表导出的数据进行编辑、储存等其它操作,则有可能因为约束关系的破坏使得数据库的完整性和一致性受损。导出应尽可能地以数据库整体导出的方式避免此类错误的发生,在特殊情况下需要导出部分表时,也要按照先主表后从表,以主表为基准对从表的结构进行检验,如发现错误则要在数据库中对导出后的数据手工建立约束,或者手工清除错误。
 


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。