新客网
首页 | 新闻 | 系统·网络·服务器·安全 | 工具·办公 | 编程·数据库 | 图象·网页·运营 | 硬件·存储 | 专题教程 | 旧版
 → 当前位置:首页 > 教程 > 数据库 > DB2教程 > 正文

对比DB2 9和DB2 V8.x中的XML功能

XKER.COM   2006-8-30 7:59:48  来源:IBM开发网  点击:



表 2. 带注释的 XML 模式分解和 XMLTABLE 之间的差异

带注释的 XML 模式分解 XMLTABLE(SQl/XML)
类型映射 静态映射信息在 XML 模式中注释并在注册时启用,不需要在运行时向应用程序公开(隐式)。 动态映射信息作为 SQL 查询的一部分。实际上,映射在运行时显式地定义并向应用程序公开。
XML 模式 需要一个 XML 模式,而且这个 XML 模式必须在 XSR 中注册。 不需要一个 XML 模式。
目标关系表必须存在? 是的。 在运行时创建虚拟表。
支持多个表? 是的。一个 XML 文档可以映射到多个关系表。 不行。只能创建一个可以在 SQL 语句中引用的虚拟表。
XMLQUERY

XMLQUERY 是一个 SQL/XML 发布(伪)函数,它的用途是计算一个 XQuery 表达式并向应用程序返回一个 XML 值,这个值可以是包含零个或更多项的 XQuery 序列。

图 5. XMLQUERY 查询

XMLQUERY 查询

图 5 所示的查询只返回 XMLPRODUCT 表中每一行的 DESCRIPTION 列中存储的 XML 数据的一些元素。

XMLEXISTS

XMLEXISTS 谓词使用 XQuery 查询一个 SQL/XML 值。如果查询返回非空的序列,那么函数返回 true;否则返回 false。

图 6. XMLEXISTS 查询

XMLQUERY 查询 

DB2 Viper 的 XML 支持对基于 XML 的应用程序的影响

应用程序的设计会受到 XML 数据的存储模型(原样或分解)的影响。存储模型受到存储、查询和修改 XML 数据方面的功能限制和任何性能需求的影响。随着新功能的引入,DB2 XML Extenders 的许多限制已经被消除了,因此 XML 存储模型可以改变了。

本文的其余部分详细描述处理 XML 数据的 DB2 功能之间的差异。还讨论如何将现有的应用程序迁移到 DB2 Viper 以便使用新的特性集。

设置数据库

您可能会注意到,为数据库设置 XML 支持所需的一些步骤已经改变了。

表 3. DB2 V8.x 和 DB2 Viper 数据库设置之间的差异

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 中引入的新概念。

注意: 因为索引不与任何模式或映射相关联,如果模式改变了,那么可以定义新索引,而不必删除现有索引。
为了了解迁移过程,先来看看在 DB2 Version 8.x 和 DB2 Viper 中创建能够存储 XML 数据的数据库的一些基本步骤。

本新闻共13页,当前在第04页  
01  02  03  04  05  06  07  08  09  10  
11  12  13  

上一篇教程:DB2 中的数据类型
下一篇教程:DB2 9颠覆关系型数据库?
收藏本文】 【我要投稿】 【打印本文】 【论坛讨论】 【关闭窗口

相关文章
·DB2 9数据库专题·DB2 9安装方法简介
·海关数据库专家王翔看好DB2 9的数据压缩性能·段云峰:DB2 9对企业有3点帮助
·银行数据库专家王明胜谈DB2 9·DB2专家王云谈商业智能BI
·DB2 9是信息数据管理的基石·DB2 9数据服务器发展3部曲
·DB2 9颠覆关系型数据库?·DB2 中的数据类型
·DB2中的数据移动详解·用shell抽取,更新db2的数据
·IBM DB2 Connect简介·DB2数据库设计和最高性能原则
·DB2 如何提高IMPORT命令性能·在Linux上实现DB2双机HA完整方案

学院文章搜索
  
推荐文章
·编程过把瘾:自己动手写操
·数据恢复指南 专题
·硬盘“逻辑锁”解决办法
·DOS使用中的常见问题解答
·DOS下常用的相关网络命令
·Win2000优化技巧篇之:硬件
·惊心8小时:破译Windows运行
·菜鸟必备:超实用低级格式
·硬件有价数据无价 硬盘开盘
·国内数据恢复市场内幕揭秘
阅读排行
·免费代理IP(每日更新)
·DB2 9数据库专题
·关于 Apache 的几种常见应
·QQ千人好友浮出水面 会员抢
·站长手册:WIN2003下Web服
·网站投资你和我的20个自身
·Fdisk分区详解
·140天,从做站起步到日赚1
·佳能活动 免费得QQ秀
·DOS下对系统重新进行分区
专题教程
·数据恢复指南 专题
·Web服务器专题
·DB2 9数据库专题
·ghost教程 专题
·局域网技术专题
·虚拟机专题
·CDN加速技术专题
·注册表教程专题
·电脑技巧 专题
·Linux与虚拟化技术
最新文章
·Firefox出现新高危0Day漏洞
·QQ千人好友浮出水面 会员抢
·DOS下对系统重新进行分区
·Fdisk分区详解
·DOS常用命令
·dos如何进行系统配置
·dos慎用命令
·Ver、Vol、Ctty命令使用说
·Tree、Unformat、Vsafe命令
·Setver、Share、Subst命令
设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003 - 2006 XKER Inc. All Rights Reserved
新客网 版权所有