|
DB2 UDB Version 8.x |
DB2 Viper |
创建数据库
|
也支持非 UTF-8 数据库使用 XML 数据。
为创建数据库,发出 create db migrate 命令。 |
只支持 UTF-8 数据库使用 XML 数据。
为创建 UTF-8 数据库,发出 create db migrate using codeset utf-8 territory us 命令。 |
| 为数据库启用 XML |
需要通过发出 dxxadm enable_db migrate 命令为每个数据库启用 XML Extender 支持。 |
XML 支持是 UTF-8 数据库固有的功能。 |
| 安装进行验证所需的任何 DTD 或 XML 模式 |
用来进行验证的所有 XML 模式位于文件系统中,不进行注册。
用来进行验证的任何 DTD 需要注册并存储在数据库的特殊表 DTD_REF 中。
|
用来进行验证的所有 XML 模式需要注册在 XSR 中。
DTD 不能用于验证,所以在大多数情况下 DTD 必须改为 XML 模式(仍然可以将它们注册在 XSR 中,因为它们可以用于实体引用和默认值)。 |
| 创建 XML 到关系数据的映射 |
原样存储(XML 作为 XML CLOB 存储在一个列中)和分解存储(XML 中的数据分解存储到关系表中)都需要 XML 到关系数据的映射。
使用专用的映射形式,DAD。 |
只有分解存储需要 XML 到关系数据的映射。使用更标准且高效的映射技术,带注释的 XML 模式映射。
|
| 注册并启用映射 |
存储原样 XML 的 XML 列需要使用 DAD 映射来启用,从而创建更新与此列相关联的副表所需的触发器。启用 XML 列的命令是:db2xml.dxxEnableColumn。
DAD 映射定义如何将 XML 文档分解为关系表集合(XML 集合),可以注册 DAD 映射并允许在 XML Extender 分解函数中使用。启用 XML 集合的命令是:db2xml.dxxEnableCollection。 |
XML 类型的列(存储本机 XML 数据)没有任何相关联的映射,不需要启用。
带注释的 XML 模式定义如何将 XML 文档分解为关系表,需要将它们注册在 XSR 中并启用分解。这可以在注册时进行:
COMPLETE XML SCHEMA PRODSCHEMA ENABLE DECOMPSITION
也可以在已经注册 XML 模式之后启用:
ALTER XSROBJECT PRODSCHEMA ENABLE DECOMPOSITION |
| 在 XML 文档上创建索引 |
对于 XML 列中的原样文档,可以建立间接索引,办法是:将 XML 文档中的部分数据分解到辅助(副)关系表中,然后为这些表创建索引,从而对分解的数据进行快速搜索。
注意: 实际上,这些映射定义 XML 列上的模式种类,如果输入文档的形态改变了,那么需要修改映射信息和副表。 |
以本机方式存储在 XML 列中的 XML 文档可以建立 XML 索引。这些索引直接定位经过解析的树中的存储节点(而不是文档)。这种 XML 索引是 DB2 Viper 中引入的新概念。
注意: 因为索引不与任何模式或映射相关联,如果模式改变了,那么可以定义新索引,而不必删除现有索引。 |