中关键技术及难点

文章作者 100test 发表时间 2007:10:10 12:13:00
来源 100Test.Com百考试题网


  1 数据转换冲突及处理
  1.1 数据转换冲突
  在数据转换过程中,要想实现严格的等价转换是比较困难的。必须要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:
  1)命名冲突:源数据源的标识符可能是目的数据源中的保留字。
  2)格式冲突:同一种数据类型可能有不同的表示方法和语义差异。
  3)结构冲突:如果两种DBMS之间的数据定义模型不同,如为关系模型和层次模型,则需要重新定义实体属性和联系,以防止属性或联系信息的丢失。
  4)类型冲突:不同数据库的同一种数据类型存在精度之间的差异。
  5)其他冲突:不同数据库的大对象类型存在不同的约束,而且存在一些特殊类型。如SQL SERVER中一个表中有多于一个TEXT或IMAGE的字段时,出现错误。而ORACLE也不允许一个表中的BLOB和LONG类型多于一个。
  
  1.2 冲突处理方法
  对于以上数据转换中的冲突,可进行相应的冲突处理。
  对于命名冲突,可以先检查数据源中的保留字,建立保留字集合,对于保留字中的命名冲突,根据需要重新命名。
  对于格式冲突,可以根据ODBC SQL类型从数据源的驱动程序中取出相对应的数据源的数据类型后,对一些特定的类型进行特殊的处理。对于字符型数据中含有“’”字符的情况,在数据转换过程中需通过转义符作特殊处理,否则会把它误当作字符串分隔符。
  对于不同数据库的同一数据类型的精度冲突,类型转换中将ODBC SQL类型和精度结合起来决定源数据类型和目标数据类型的映射关系。找出目的数据源中与源数据源类型的精度最匹配的数据类型作为缺省的映射关系。
  转换过程中的数据类型匹配,日期型数据最好先转换成字符型,然后根据不同的目标数据源分别作不同的处理。如ORACLE中使用TO_DATE函数,而FOXPRO中使用CTOD函数将日期格式的字符串转换成日期。
  对于SQL SERVER中的TEXT、IMAGE类型,在进行转换时需要做出选择,或者把TEXT镜像为VARCHAR2(4000),或者镜像为LONG 类型,但Long 类型一个表里只能有一个。对于ORACLE,TEXT类型可以映像为CLOB类型,而IMAGE可以镜像为BLOB。CLOB类型可以在一个ORACLE表里有多列。
  
  2 读取数据源的元数据
  2.1 数据源的元数据类型
  数据源的元数据类型如表3所示:
  表3数据源的元数据类型
  元数据种类 元数据信息 用途
  数据源连接信息 数据库名,驱动器,服务器,  DSN名,数据源描述,用户名等 用于连接源数据源和目的数据源
  表信息 表名,表属主,表模式,表类型 用于数据转换中创建表
  列信息 列名,类型,宽度,精度,标度,是否为空 用于数据转换中表的创建以及列映射
  类型信息 类型名,最大列宽度,最大最小标度,前后缀字符,是否接受空,关键字列表 用于数据转换中表的创建以及类型映射
  键信息 主键名,主键列,外键名,外键列,外键关联列 用于数据转换中表模式的转换
  其它对象信息 索引信息,存储过程信息,权限信息等 用于数据转换中数据库对象的转换


相关文章


11g新功能对临时表空间的SHRINK
FormBuilder使用树使用方法
Oracle索引的维护方法
JDBC存取ORACLE大型数据对象LOB几种情况的示范类
中关键技术及难点
ORA-01536:超出表空间***的空间限量
寻找发展方向数据分析的5大技术走向
如何去降低回收Temp的使用容量
Oracle调优与深入之04031处理过程
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛