pureXML®
功能部件允许您将格式良好的 XML 文档存储在具有 XML 数据类型的数据库表列中。通过将 XML 数据存储在 XML 列中,数据可保持其本机分层结构形式,而不是将其作为文本存储或映射为其他数据模型。
因为 pureXML
数据存储已完全集成,所以可利用现有 DB2®
数据库服务器功能来访问和管理存储的 XML 数据。
将 XML 数据以其本机分层结构形式来存储可以使 XML 的搜索、检索和更新效率更高。XQuery、SQL 或上述二者的组合可用于查询和更新 XML 数据。返回 XML 数据或采用 XML 自变量的 SQL 函数(称为 SQL/XML 函数)还能根据从数据库中检索的值来构造或发布 XML 数据。
查询和更新
可使用下列方法查询和更新存储在 XML 列中的 XML 文档:
- XQuery
- XQuery 是用于解释、检索和修改查询 XML 数据的通用语言。DB2
数据库服务器允许直接调用 XQuery 或从 SQL 调用 XQuery。因为 XML 数据存储在 DB2
表和视图中,所以提供了一些函数,用于通过直接命名表或视图或通过指定 SQL 查询从指定的表和视图中抽取 XML 数据。XQuery
支持各种用于处理 XML 数据、更新元素和属性之类的 XML 对象和构造新 XML 对象的表达式。XQuery 的编程接口提供了类似于 SQL 的功能,用于执行查询并检索结果。
- SQL 语句和 SQL/XML 函数
- 许多 SQL 语句支持 XML 数据类型。这使得您能够对 XML 数据执行许多常见数据库操作,例如,创建具有 XML 列的表、将 XML 列添加至现有表、创建基于 XML 列的索引、对具有 XML 列的表创建触发器以及插入、更新或删除 XML 文档。DB2
数据库服务器支持的一组 SQL/XML 函数、表达式和规范利用 XML 数据类型。
可以从 SQL 查询中调用 XQuery。在这种情况下,SQL 查询可以将数据以绑定变量的形式传递至 XQuery。
应用程序开发
许多编程语言通过 SQL 和外部过程提供了对应用程序开发的支持:
- 编程语言支持
- 对新的 pureXML
功能的应用程序开发支持使得应用程序能够组合 XML 和关系数据的访问和存储。下列编程语言支持 XML 数据类型:
- C 或 C++(嵌入式 SQL 或 CLI)
- COBOL
- Java(JDBC 或 SQLJ)
- C# 和 Visual Basic(IBM® 数据服务器 .NET 提供程序)
- PHP
- Perl
- SQL 和外部过程
- 通过在 CREATE PROCEDURE 参数特征符中包含 XML 数据类型参数,可将 XML 数据传递至 SQL 过程和外部过程。现有的过程功能支持围绕 SQL 语句实现过程逻辑流,它们产生或利用 XML 值以及变量中的 XML 数据值临时存储器。
管理
pureXML
功能提供用于管理 XML 文档的 URI 依赖关系的存储库并允许用于数据库管理的 XML 数据移动:
- XML 模式存储库 (XSR)
- XML 模式存储库 (XSR) 是用于存放在处理 XML 列中存储的 XML 实例文档时所需的所有 XML 工件的存储库。它存储 XML 文档中引用的 XML 模式、DTD 和外部实体。
- 导入、导出和装入实用程序
- 导入、导出和装入实用程序已更新为支持本机 XML 数据类型。这些实用程序象处理 LOB 数据一样来处理 XML 数据:这两种类型的数据都存储在实际的表之外。已更新的 db2Import、db2Export 和
db2Load API 还提供了用于导入、导出和装入 XML 数据的应用程序开发支持。这些已更新的实用程序允许移动存储在 XML 列中的 XML 文档数据,这类似于对关系数据的数据移动支持。
性能
使用存储在 XML 列中的 XML 文档时,可使用提高性能的功能部件:
- 基于 XML 数据的索引
- 对存储在 XML 列中的数据提供了索引支持。使用基于 XML 数据的索引可提高针对 XML 文档发出的查询的效率。与关系索引类似,XML 数据索引对列建立索引。 但是,它们的区别在于关系索引是对整个列建立索引,而XML 数据索引只是对部分列建立索引。通过指定 XML 模式(它是受限的 XPath 表达式),可指明要对 XML 列的哪些部分建立索引。
- 优化器
- 更新了优化器,以支持针对 XML 数据和关系数据对 SQL 函数、XQuery 函数和嵌入了 XQuery 的 SQL/XML 函数进行求值。优化器采用通过 XML 数据以及来自基于 XML 数据的索引的数据所收集的统计信息生成有效的查询执行计划。
- 说明和 Visual Explain
- 已更新说明工具和 Visual Explain GUI 工具,以便支持用于查询 XML 数据的 SQL 增强功能并支持 XQuery 表达式。对说明工具和 Visual Explain GUI 工具的这些更新允许您快速查看
DB2
数据库服务器针对 XML 数据对查询语句进行求值的方式。
工具
一些工具支持 XML 数据类型,这些工具包括控制中心、命令行处理器、IBM Data Studio 和 IBM Database Add-Ins for Microsoft Visual Studio。
带注释的 XML 模式分解
pureXML
使您能够将采用分层格式的 XML 数据作为 XML
存储和访问,但有时可能需要将 XML 数据作为关系数据来访问。带注释的 XML
模式分解根据 XML 模式中指定的注释来分解文档。