IBM® 和第三方工具支持使用 pureXML® 功能部件。下列工具是随 DB2®
数据库服务器提供的或者是可单独从
IBM
下载的:
- IBM Data
Studio
- 对 XML 的支持包括下列内容:
- 存储过程:可以创建和运行包含 XML 数据类型作为输入和输出参数的存储过程。
- 数据输出:可以树型或文本形式查看包含在 XML 列中的文档。
- SQL 编辑器: 可创建同时使用关系数据和
XML 数据的 SQL 语句和 XQuery 表达式。
- XML 模式:可以管理 XML 模式存储库 (XSR) 中的模式文档,包括注册和删除模式以及编辑模式文档。
- XML 文档验证:可以针对在 XSR 中注册的模式验证 XML 文档。
- 用户定义的 SQL 函数: 可创建并运行使用 XML 参数的用户定义的 SQL 函数。
- 命令行处理器
- 几个 DB2 命令支持本机存储 XML 数据。可以从
DB2 命令行处理器(CLP)使用关系数据旁边的 XML 数据。可以从 CLP 执行的任务的示例包括:
- 通过对 XQuery 语句加上 XQUERY 关键字前缀来发出 XQuery 语句。
- 导入和导出 XML 数据。
- 对 XML 列收集统计信息。
- 使用 XML 数据类型的 IN、OUT 或 INOUT 参数来调用存储过程。
- 使用在处理 XML 文档时所需要的 XML 模式、DTD 和
处理 XML 文档。
- 重组基于 XML 数据的索引和包含 XML 列的表。
- 分解 XML 文档。
- IBM Database Add-Ins for Microsoft Visual Studio
- 可以使用 IBM Database
Add-Ins for Microsoft Visual
Studio 创建具有 XML 列的表和基于 XML 数据的索引。在此工具中像创建任何其他列一样创建 XML 列。只需要将数据类型指定为 XML。可以通过使用此工具中的“XML 索引设计器”来创建索引。不必如使用 CREATE INDEX 语法创建基于 XML 数据的索引时所要求的那样手动指定 XML 模式表达式。相反,可以从已注册的 XML 模式的树型表示、XML 列中的文档或本地文件中的 XML 模式以图形方式选择想要建立索引的 XML 节点。该工具将为您生成 XML 模式表达式。或者,可以手动指定 XML 模式表达式。指定了所有其他索引属性之后,该工具将为您生成索引。
- EXPLAIN
- 可以在 XQuery 语句和 SQL/XML 语句上发出 EXPLAIN
语句,以便快速查看这些语句的存取方案,包括 DB2
数据库服务器是否使用索引。要发出 XQuery 语句的 EXPLAIN 语句,可使用 XQuery 关键字,后跟用单引号或双引号引起来的 XQuery 语句,如以下示例所示:
EXPLAIN PLAN SELECTION FOR XQUERY 'for $c in
db2-fn:xmlcolumn("XISCANTABLE.XMLCOL" )/a[@x="1"]/b[@y="2"] return $c'
DB2
将捕获 EXPLAIN 表中的存取方案信息。所有 XML 列的期望序列大小都存储在 EXPLAIN_STREAM 表的 SEQUENCE_SIZES 列中。您可能还会注意到 EXPLAIN_PREDICATE 表中存在某些数据,它们是一些您无法识别的谓词。这些谓词由
DB2
数据库服务器在 EXPLAIN 操作期间对索引扫描中使用的 XPath 表达式进行求值时生成。您不需要评估此谓词信息。这些谓词不是优化器方案的一部分,因此在 PREDICATE_ID 和 FILTER_FACTOR 列中的值为 -1。或者,通过使用 IBM Data
Studio 来查看这些存取方案的图形描述,可以避免手动解释 EXPLAIN 表。有关更多详细信息,请参阅带有 Visual Explain 的图形存取方案。
下列节点显示在图形中以说明 XML 操作:
- IXAND
- 指示 DB2 数据库服务器已将 AND 谓词应用于多个索引扫描的结果。
- XISCAN
- 指示 DB2 数据库服务器已使用基于 XML 数据的索引来访问数据。
- XSCAN
- 指示 DB2 数据库服务器已对 XPath 表达式求值,并且已从 XML 文档中抽取 XML 文档片段。
- XANDOR
- 指示 DB2 数据库服务器已将 AND 和 OR 谓词应用于多个索引扫描的结果。
- XTQ
- 指示 DB2
数据库服务器使用了特殊表队列(TQ)将全局 XML 序列中的每项发送到其原始数据库分区,根据该项的评估从 XML 文档检索 XML 数据,然后将 XML 数据聚集到输出序列中。