|
DB2 UDB Version 8.x |
DB2 Viper |
存储和索引
|
XML 数据存储为两种形式:
原样的文档:
- XMLCLOB、XMLVARCHAR、XMLFILE 类型的 XML Extender 列。
- BLOB、CLOB 或 VARCHAR 类型的列。
- 在关系副表中创建 XML 文档的间接索引。
分解到关系 XML Extender(XML 集合):
- 只有 XML 中的叶节点可以分解并映射到 SQL 列类型。
|
XML 数据存储为两种形式:
原样的本机文档 XML 存储。
- 从头构建了全新的层次化(本机)存储。这种存储方式保存文档的任意树形式。
- XML 类型的列。
- 使用叶节点的路径表达式建立 XML 索引。
- 在插入时对文档进行解析。
用关系 SQL/XML 函数和带注释的模式映射进行分解。
- 使用带注释的 XML 模式映射分解到现有的关系表。
- XML 片段也可以分解,映射到 XML 列类型。
- 处理名称空间。
- 可以使用扩展的功能过滤 XML 数据,比如 DB2 表达式和条件。
|
| 验证 |
- DAD 中定义的隐式验证。
- 使用 XML Extender UDF svalidate 进行显式验证。
- 文档类型定义(DTD)注册并存储在内部表中。
- 从文件系统获得 XML 模式。
|
- 使用 SQL/XML 函数 XMLVALIDATE 进行显式验证。
- DTD 和 XML 模式注册在 XML 模式存储库(XSR)中,并存储在数据库中。
|
查询和发布
|
使用 SQL/XML 和 XML Extender 函数进行查询和发布。
对于原样的 XML 文档。
- 使用带索引的副表查询文档,以 CLOB 形式获得文档。
- 可以使用 XML Extender 函数进行子文档查询。
可以使用 Extender 函数进行 XSLT 转换。
对于分解到关系表的 XML 数据。
|
使用 SQL/XML 和 XQuery 进行查询和发布。
对于原样的 XML 文档。
- 可以混合使用 SQL/XML 和 XQuery 来检索和发布关系数据和 XML 数据。
使用 XML Extender XSLT 函数支持 XSLT。
- 可以使用 XQuery 查询、转换和发布 XML。
对于分解到关系表的 XML 数据。
|
| 更新 |
对于原样的 XML 文档。
- 使用 XML Extender UDF update 进行更新。
|
对于原样的 XML 文档。
- 由于缺少定义 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
- Java Database Connectivity(JDBC)驱动程序中没有提供支持。
|
XML 支持集成到了工具的各个方面。
DB2 Control Center 和 DB2 Developers Workbench(基于 Eclipse)。
- Visual Studio .NET 增加了对 DB2 XML 的支持
|
| DB2 版本 |
DB2 UDB Version 7.x 和 DB2 UDB Version 8.x
DB2 z/OS Version 7 和更高版本(V8)
iSeries V5R1 和更高版本(V5R3) |
DB2 Viper
AIX、NT、LINUX、SOLARIS |