当前位置: 代码网 > it编程>数据库>DB2 > 对比DB2 9和DB2 V8.x中的XML功能

对比DB2 9和DB2 V8.x中的XML功能

2024年05月15日 DB2 我要评论
正在看的db2教程是:对比db2 9和db2 v8.x中的xml功能。简介 db2 udb version 8.x 中的 xml 支持基于 db2 的关系基础设施。xml 数据要么按原样存储为字符
正在看的db2教程是:对比db2 9和db2 v8.x中的xml功能。

简介
db2 udb version 8.x 中的 xml 支持基于 db2 的关系基础设施。xml 数据要么按原样存储为字符大对象(clob),要么分解到关系表中。另一方面,db2 udb viper 具有真正的 xml 数据本机支持。现在,将 xml 数据作为一种新的数据类型处理,存储在一个经过解析并加上注释的树中,这个树是与关系数据存储分开的。还引入了基于 xml 模式的 xml 索引技术,并支持 xquery 和 sql/xml 作为查询和发布 xml 数据的语言。

db2 udb version 8.x 中的 xml 支持

db2 8.x 使用 sql/xml 和 db2 xml extender 向底层关系数据提供 xml 功能。db2 xml extender 提供许多用户定义类型(udt)、用户定义函数(udf)和存储过程来支持 xml。xml 文档存储为关系形式,并使用 xml extender 基础设施为关系数据提供 xml 表现形式。还支持一些用来将关系数据发布为 xml 的 sql/xml 函数。更多细节可以在 db2 xml extender web 站点上找到。

db2 还允许创建用户定义的 java 函数和存储过程,可以将 xml 和 xsl 解析器(作为 db2 8.x 的一部分安装)合并到代码中。

db2 viper 中的 xml 支持

db2 viper 支持本机 xml 存储,从而不再需要将 xml 分解到关系表中供查询和发布。这种新的存储方式将 xml 保存为与 xml 文档对象模型(dom)相似的经过解析并加上注释的树形式。对于仍然需要将 xml 数据分解到关系表中的应用程序,这个版本中还提供了增强的分解功能,这种功能使用带注释的 xml 模式映射。

xml 特性对比 —— db2 udb version 8.x 和 db2 viper

表 1. xml 特性对比 —— db2 udb version 8.x 和 db2 viper



db2 udb version 8.x db2 viper 存储和索引

xml 数据存储为两种形式:

原样的文档:

  • xmlclob、xmlvarchar、xmlfile 类型的 xml extender 列。
  • blob、clob 或 varchar 类型的列。
  • 在关系副表中创建 xml 文档的间接索引。
  • 解析文档来更新创建的副表。
分解到关系 xml extender(xml 集合):
  • 使用文档访问定义(dad)分解到现有的关系表。
  • 只有 xml 中的叶节点可以分解并映射到 sql 列类型。
  • 不支持名称空间。
  • 功能有限,不能处理复杂的 xml 文档。
xml 数据存储为两种形式:

原样的本机文档 xml 存储。
  • 从头构建了全新的层次化(本机)存储。这种存储方式保存文档的任意树形式。
  • xml 类型的列。
  • 使用叶节点的路径表达式建立 xml 索引。
  • 在插入时对文档进行解析。
用关系 sql/xml 函数和带注释的模式映射进行分解。
  • 使用带注释的 xml 模式映射分解到现有的关系表。
  • xml 片段也可以分解,映射到 xml 列类型。
  • 处理名称空间。
  • 可以使用扩展的功能过滤 xml 数据,比如 db2 表达式和条件。
验证
  • dad 中定义的隐式验证。
  • 使用 xml extender udf svalidate 进行显式验证。
  • 文档类型定义(dtd)注册并存储在内部表中。
  • 从文件系统获得 xml 模式。
  • 没有与列相关联的隐式验证。
  • 使用 sql/xml 函数 xmlvalidate 进行显式验证。
  • 不支持 dtd 验证。
  • dtd 和 xml 模式注册在 xml 模式存储库(xsr)中,并存储在数据库中。
查询和发布

使用 sql/xml 和 xml extender 函数进行查询和发布。

对于原样的 xml 文档。
  • 使用带索引的副表查询文档,以 clob 形式获得文档。
  • 可以使用 xml extender 函数进行子文档查询。
可以使用 extender 函数进行 xslt 转换。

对于分解到关系表的 xml 数据。
  • sql/xml 发布函数。
  • xml extender dad 映射和函数。
使用 sql/xml 和 xquery 进行查询和发布。

对于原样的 xml 文档。
  • 可以混合使用 sql/xml 和 xquery 来检索和发布关系数据和 xml 数据。
  • 可以联结多个 xml 列。
使用 xml extender xslt 函数支持 xslt。
  • 可以使用 xquery 查询、转换和发布 xml。
对于分解到关系表的 xml 数据。
  • sql/xml 发布函数。
更新 对于原样的 xml 文档。
  • 使用 sql update 语句进行全文档更新。
  • 使用 xml extender udf update 进行更新。
对于原样的 xml 文档。
  • 使用 sql update 语句进行全文档更新。
  • 由于缺少定义 xquery 更新的标准,不支持子文档更新。
  • 可以从 developerworks 下载更新存储过程,请参考 xml application migration from db2 8.x to db2 viper, part 1: partial updates to xml documents in db2 viper (developerworks,2006 年 5 月)。
为数据库启用 xml 功能 需要为数据库启用 xml extender 功能。 不需要启用数据库,因为 xml 支持现在是 db2 引擎的固有部分。 工具 在 db2 development center 或 control center 中没有集成 xml 支持。

websphere studio application developer
  • xml schema editor
  • dtd editor
  • dad mapping 工具
  • 在查询构建器中不支持 sql xml。
  • xerces 和 xalan 解析器
  • java database connectivity(jdbc)驱动程序中没有提供支持。
xml 支持集成到了工具的各个方面。

db2 control center 和 db2 develope

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一篇

(0)

相关文章:

  • DB2 9的九大新特性

    DB2 9的九大新特性

    正在看的db2教程是:db2 9的九大新特性。这款新型数据服务器率先实现了可扩展标记语言(xml)和关系数据间无缝交互,而无需考虑数据的格式、平台或位置。来自8... [阅读全文]
  • 国内学院派专家对DB2 9新产品赞不绝口

    国内学院派专家对DB2 9新产品赞不绝口

    正在看的db2教程是:国内学院派专家对db2 9新产品赞不绝口。倪光南 中国工程院院士:今天ibm把层次数据库和关系数据库结合在一起,带来了强大的功能。我觉得i... [阅读全文]
  • DB2中的数据移动(一)

    DB2中的数据移动(一)

    db2中所谓的数据移动,包括:1.数据的导入(import)2.数据的导出(export)3.数据的装入(load)导入和装入都是利用db2的相关命令把某种格式... [阅读全文]
  • DB2大事记

    DB2大事记

    正在看的db2教程是:db2大事记。1968:ibm 在 ibm 360 计算机上研制成功了 ims v1,这是业界第一个层次型数据库管理系统,也是层次型数据库... [阅读全文]
  • DB2编程序技巧(1)

    DB2编程序技巧(1)

    正在看的db2教程是:db2编程序技巧(1)。1db2编程1.1建存储过程时create后一定不要用tab键createprocedure的create后只能用... [阅读全文]
  • 创建一个空的IBM DB2 ECO数据库的方法

    创建一个空的IBM DB2 ECO数据库的方法

    问:怎样才能创建一个空的ibmdb2eco数据库?答:一般情况下你需要一个空数据库作为存储ecospace的容器。delphi2005提供了一张光盘,其中包括i... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com