- 时间:2022-01-09 18:15 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:对比DB2 9和DB2 V8.x中的XML功能
正在看的db2教程是:对比DB2 9和DB2 V8.x中的XML功能。[b]简介
[/b]DB2 UDB Version 8.x 中的 XML 支持基于 DB2 的关系基础设施。XML 数据要么按原样存储为字符大对象(CLOB),要么分解到关系表中。另一方面,DB2 UDB Viper 具有真正的 XML 数据本机支持。现在,将 XML 数据作为一种新的数据类型处理,存储在一个经过解析并加上注释的树中,这个树是与关系数据存储分开的。还引入了基于 XML 模式的 XML 索引技术,并支持 XQuery 和 SQL/XML 作为查询和发布 XML 数据的语言。
[b]DB2 UDB Version 8.x 中的 XML 支持[/b]
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 的一部分安装)合并到代码中。
[b]DB2 Viper 中的 XML 支持[/b]
DB2 Viper 支持本机 XML 存储,从而不再需要将 XML 分解到关系表中供查询和发布。这种新的存储方式将 XML 保存为与 XML 文档对象模型(DOM)相似的经过解析并加上注释的树形式。对于仍然需要将 XML 数据分解到关系表中的应用程序,这个版本中还提供了增强的分解功能,这种功能使用带注释的 XML 模式映射。
[b]XML 特性对比 —— DB2 UDB Version 8.x 和 DB2 Viper[/b]
表 1. XML 特性对比 —— DB2 UDB Version 8.x 和 DB2 Viper
DB2 UDB Version 8.x
DB2 Viper
存储和索引
XML 数据存储为两种形式:
原样的文档:
[list]
[*]XMLCLOB、XMLVARCHAR、XMLFILE 类型的 XML Extender 列。[/*]
[*]BLOB、CLOB 或 VARCHAR 类型的列。 [/*]
[*]在关系副表中创建 XML 文档的间接索引。 [/*][/list][list]
[*]解析文档来更新创建的副表。 [/*][/list]分解到关系 XML Extender(XML 集合):
[list]
[*]使用文档访问定义(DAD)分解到现有的关系表。 [/*][/list][list]
[*]只有 XML 中的叶节点可以分解并映射到 SQL 列类型。 [/*][/list][list]
[*]不支持名称空间。 [/*][/list][list]
[*]功能有限,不能处理复杂的 XML 文档。 [/*][/list]
XML 数据存储为两种形式:
原样的本机文档 XML 存储。
[list]
[*]从头构建了全新的层次化(本机)存储。这种存储方式保存文档的任意树形式。 [/*]
[*]XML 类型的列。 [/*]
[*]使用叶节点的路径表达式建立 XML 索引。 [/*]
[*]在插入时对文档进行解析。 [/*][/list]用关系 SQL/XML 函数和带注释的模式映射进行分解。
[list]
[*]使用带注释的 XML 模式映射分解到现有的关系表。 [/*]
[*]XML 片段也可以分解,映射到 XML 列类型。[/*]
[*]处理名称空间。 [/*]
[*]可以使用扩展的功能过滤 XML 数据,比如 DB2 表达式和条件。 [/*][/list]
验证
[list]
[*]DAD 中定义的隐式验证。 [/*]
[*]使用 XML Extender UDF svalidate 进行显式验证。 [/*]
[*]文档类型定义(DTD)注册并存储在内部表中。 [/*]
[*]从文件系统获得 XML 模式。 [/*][/list][list]
[*]没有与列相关联的隐式验证。 [/*][/list][list]
[*]使用 SQL/XML 函数 XMLVALIDATE 进行显式验证。 [/*][/list][list]
[*]不支持 DTD 验证。 [/*][/list][list]
[*]DTD 和 XML 模式注册在 XML 模式存储库(XSR)中,并存储在数据库中。 [/*][/list]
查询和发布
使用 SQL/XML 和 XML Extender 函数进行查询和发布。
对于原样的 XML 文档。
[list]
[*]使用带索引的副表查询文档,以 CLOB 形式获得文档。 [/*][/list][list]
[*]可以使用 XML Extender 函数进行子文档查询。 [/*][/list]可以使用 Extender 函数进行 XSLT 转换。
对于分解到关系表的 XML 数据。
[list]
[*]SQL/XML 发布函数。 [/*][/list][list]
[*]XML Extender DAD 映射和函数。 [/*][/list]
使用 SQL/XML 和 XQuery 进行查询和发布。
对于原样的 XML 文档。
[list]
[*]可以混合使用 SQL/XML 和 XQuery 来检索和发布关系数据和 XML 数据。 [/*][/list][list]
[*]可以联结多个 XML 列。 [/*][/list]使用 XML Extender XSLT 函数支持 XSLT。
[list]
[*]可以使用 XQuery 查询、转换和发布 XML。 [/*][/list]对于分解到关系表的 XML 数据。
[list]
[*]SQL/XML 发布函数。 [/*][/list]
更新
对于原样的 XML 文档。
[list]
[*]使用 SQL update 语句进行全文档更新。 [/*][/list][list]
[*]使用 XML Extender UDF update 进行更新。 [/*][/list]
对于原样的 XML 文档。
[list]
[*]使用 SQL update 语句进行全文档更新。 [/*][/list][list]
[*]由于缺少定义 XQuery 更新的标准,不支持子文档更新。 [/*][/list][list]
[*]可以从 developerWorks 下载更新存储过程,请参考 XML application migration from DB2 8.x to DB2 Viper, Part 1: Partial updates to XML documents in DB2 Viper (developerWorks,2006 年 5 月)。 [/*][/list]
为数据库启用 XML 功能
需要为数据库启用 XML Extender 功能。
不需要启用数据库,因为 XML 支持现在是 DB2 引擎的固有部分。
工具
在 DB2 Development Center 或 Control Center 中没有集成 XML 支持。
Websphere Studio Application Developer
[list]
[*]XML Schema Editor [/*][/list][list]
[*]DTD Editor [/*][/list][list]
[*]DAD Mapping 工具 [/*][/list][list]
[*]在查询构建器中不支持 SQL XML。 [/*][/list][list]
[*]Xerces 和 Xalan 解析器 [/*][/list][list]
[*]Java Database Connectivity(JDBC)驱动程序中没有提供支持。 [/*][/list]
XML 支持集成到了工具的各个方面。
DB2 Control Center 和 DB2 Develope
[b][1] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_2.html][2][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_3.html][3][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_4.html][4][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_5.html][5][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_6.html][6][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_7.html][7][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_8.html][8][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_9.html][9][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_10.html][10][/url] [url=http://www.1sucai.cn/shujuku/db2/shujuku_165229_2.html]下一篇[/url] [/b]