跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

DB2 Viper 的新特性

XML 处于核心地位

C. M. Saracco (saracco@us.ibm.com), 高级软件工程师, EMC
C. M. Saracco 在 IBM 硅谷实验室的 DB2 XML 组织中工作。她从事数据库管理、XML、Web 应用程序开发的相关工作。

简介: 新的 DB2® “Viper”(Viper 是 DB2 V9 的开发代号) 版现在处于 beta 阶段,它提供了与先前版本非常不同的体系结构。自从出现以来,DB2 Universal Database™ for Linux®、UNIX® 和 Windows® 第一次提供了新的查询语言、新的存储技术、新的索引技术以及支持 XML 数据及其固有层次结构的其他特性。但是,不要担心,所有的 DB2 传统数据库管理特性仍然存在,包括对 SQL 和表结构的支持。本文讨论 Viper 中新的 XML 技术,了解 IBM 为什么使 DB2 成为 “混合型”(即多种结构的)数据库管理系统(DBMS)。

发布日期: 2006 年 2 月 09 日
级别: 初级
访问情况 : 2972 次浏览
评论: 


简介

管理新的数据形式常常要面对新的挑战。许多 IT 领导者发现 Extensible Markup Language(XML)格式的数据就带来了这种情况。

通常,管理和共享 XML 数据的一般方法效果不好。文件系统可以应付简单的任务,但是在需要处理大量文档时它们就表现得不好了。并发性、恢复、安全和可用性问题变得难以管理。商业关系数据库管理系统(DBMS)解决了这些问题,但是在其他方面有所欠缺。它们常常提供两种基本的数据库设计选项 —— 将每个 XML 文档完整地存储为一个大型对象,或者将它 “撕开”,分散存储在多个表的多个列中。在许多情况下,这些选项都会导致性能问题、管理困难、查询的复杂性增加和其他问题。最后,纯 XML DBMS 在 IT 基础设施中引入了一种新型的环境,但是这种环境还没有经过考验,它的集成能力、需要的人员技能以及未来的生命力还不确定。

Linux、Unix 和 Windows 平台的 DB2 “Viper” 版引入了另一个可能。这个新的 beta 版可以非常好的支持 XML 数据。为此,IBM 对 DB2 进行了扩展,使其包含:

  • 新的存储技术,可以高效地管理 XML 文档中固有的层次结构。
  • 新的索引技术,可以提高在 XML 文档之间和内部进行搜索的速度。
  • 新的查询语言支持(对于 XQuery)、新的图形化查询构建器(对于 XQuery)和新的查询优化技术。
  • 根据用户提供的模式检验 XML 数据的能力。
  • 新的管理功能,包括对关键数据库工具的扩展。
  • 与流行的应用程序编程接口(API)的集成。

一定要注意,DB2 对 XML 的 “固有” 支持是在对其他技术的现有支持之外 提供的,SQL、表格数据结构和各种 DBMS 特性等现有支持仍然存在。因此,用户可以用一个数据库对象同时管理 “传统的” SQL 数据和 XML 文档。而且,可以编写一个查询同时搜索和处理这两种数据形式。

本文在介绍 DB2 对 XML 的固有支持的同时将研究这些特性。但是,我们先考虑一下为什么说正确地管理 XML 数据是很重要的。


潜在的好处

越来越多的公司开始转到 XML 技术,从而帮助他们实现面向服务的体系结构(SOA)、在不同的系统和应用程序之间交换数据并适应快速变化的业务环境。许多 IT 领导者正在寻找办法高效地共享、搜索和管理公司产生的大量 XML 文档和消息。DB2 新的 XML 支持的设计目的就是为了帮助公司减少存储和使用 XML 数据所需的时间和工作量,进而减少开发费用并提高业务灵活性。

例如,“结合使用 DB2 原生 XML 与 PHP”(developerWorks,2005 年 11 月)解释了 DB2 新的 XML 支持如何减少支持电子商务 Web 站点所需的数据库设计和应用程序代码的复杂性。“Managing XML for Maximum Return”(IBM,2005 年 11 月)讨论了顾客对对比测试场景的体验,这些测试表明新的 XML 支持可能减少工作量和开发时间。

这些好处的背后是什么?DB2 使用户能够完整地存储 XML 文档,同时 DBMS 完全掌握文档的内部结构。这样就避免或减少了其他解决方案涉及的管理任务和程序设计任务。另外,它可以加快文档之间和文档内部的搜索,使顾客能够更快地适应 XML 模式中反映出的业务需求变化。


体系结构概述

DB2 使客户机应用程序能够通过它们选择的查询语言 —— SQL(包括具有 XML 扩展的 SQL,常常称为 “SQL/XML”)或 XQuery —— 同时处理表格数据结构和 XML 数据结构。如 图 1 所示,DB2 中的引擎级组件支持用这两种语言指定的查询。


图 1. 新的 DB2 “Viper” 版的体系结构
DB2 Viper 体系结构

为了高效地管理传统 SQL 数据类型和 XML 数据,DB2 包含两种不同的存储机制。我们将简要地讨论新的 XML 存储技术。但是,一定要注意,给定数据类型所用的底层存储机制对于应用程序是透明的。换句话说,应用程序不需要显式地指定要使用的存储机制,也不需要管理存储的物理方面,比如如何将 XML 文档的各个部分拆分到多个数据库页上。系统会自动采用适合目标数据的格式,应用程序自然而然地获得存储和查询数据方面的运行时性能优势。

让我们从用户的视角看看新的 DB2 XML 特性。


逻辑存储

XML 文档集合存储在 DB2 表中,这些表包含一个或多个新的 XML 数据类型的列。这使管理员能够使用熟悉的 SQL 数据定义语言(DDL)语句来创建存储 XML 数据的数据库对象。但是,这个熟悉的接口隐藏了一个事实:DB2 以不同的方式存储 XML 数据。它使用新技术来存储 XML 数据的层次结构,并支持高效地搜索原始 XML 数据的所有部分。

为了用户易于集成传统形式的业务数据和 XML 数据,DB2 管理员可以创建同时包含传统 SQL 数据类型列和新的 XML 数据类型列的表。下面是这种表的一个例子:


清单 1. 创建包含 XML 列的表
                
create table items (
	id 	 	int 	primary key not null,
	brandname 	varchar(30), 
	itemname	varchar(30),
	sku		int, 
	srp		decimal(7,2),
	comments	xml
)

这个表的前 5 列使用传统 SQL 数据类型来保存每件商品的销售信息,包括它的 ID 号、品牌名、商品名、库存单位(SKU)和建议的零售价(SRP)。“comments” 列包含 XML 数据,这是关于此商品的顾客反馈。

注意,在创建具有 XML 列的表时,并不指定 XML 数据的内部结构。这是故意的。XML 文档是自我描述的,它们的内部结构差异很大。DB2 对存储 XML 数据的惟一要求是它必须是 “良构的(well formed)” —— 也就是说,它必须符合 “W3C XML 标准”(参阅 “参考资料”)中指定的某些语法规则。这种宽松的方式给用户提供了很大的灵活性,更容易存储包含不同属性和内部结构的 XML 文档集合;由于业务需求或业务情况常常变化,有时候可能缺少某些信息,所以 XML 文档的属性和结构很不一致。

但是,用户可能希望确保 XML 数据符合他们自己的结构规则,因此要求 DB2 在进行存储之前对数据进行检验。这将在 “XML 模式和检验” 一节中详细讨论。这主要涉及创建 XML 模式(也是 W3C XML 标准的一部分)并向 DB2 注册这些模式。(关于 XML 模式的更多信息,请参阅 “参考资料”。)

现在,您可能想知道用户如何用 XML 数据填充 DB2 表。答案很简单 —— 使用两种熟悉的 DB2 机制之一。SQL INSERT 语句和 DB2 IMPORT 工具可以处理 XML 数据和其他数据类型(DB2 IMPORT 在幕后会发出 INSERT 语句)。如果您想知道 DB2 为什么只支持通过 SQL 而不是 XQuery 来插入数据,答案也很简单 —— 刚出现的 XQuery 第一版主要关注数据库读取活动,而不是写入活动。在还没有被业界明确接受的标准的情况下,IBM 提供两种用户熟悉的方法,用户可以选择其中之一来存储 XML 数据。(关于 XQuery 标准的更多信息,请参阅 “参考资料”。)


物理存储

在实践中,大多数用户不需要关心 DB2 对 XML 数据采用的新的物理存储管理体系结构。但是,为了帮助您了解 DB2 在幕后采用什么操作,我们简要地讨论一下 DB2 内部存储 XML 数据的方式。

DB2 采用一种经过解析的格式来存储和操作 XML 数据,这种格式可以反映原始 XML 文档的层次结构。因此,它采用树和节点作为模型来存储和处理 XML 数据。如果用户要求 DB2 在进行存储之前针对注册的 XML 模式对 XML 数据进行检验,那么 DB2 将用模式类型信息对 XML 层次结构中的所有节点进行标注;否则,就用默认的类型信息对节点进行标注。

对于前面给出的 “items” 表定义,我们研究一个将存储在这个表中的 XML 示例文档。如 图 2 所示,这个 XML 文档包含一个层次结构中的多个元素,包括根元素 “Comments” 以及一个或多个与给定商品相关的 “Comment” 元素。每个评论有一个相关联的评论标识符、顾客信息(可能包含用于顾客姓名和邮件地址的子元素)、顾客评论的文本以及一个标志(表示顾客是否希望接受回复)。


图 2. 示例 XML 文档及其层次化表示
XML 文档表示

在存储时,DB2 会保留这个文档的内部结构,并将它的标记名和其他信息转换为整数值。这样做可以节省磁盘空间,还可以改进使用导航表达式的查询的性能。例如,在存储时,DB2 可能将 图 2 中的 “Comments” 标记转换为 “0”。但是,用户并不了解这种内部表示。

最后,DB2 会根据需要自动地跨多个数据库页拆分文档的各个部分(即文档树的节点)。实际上,DB2 可以根据需要对文档层次结构中任何级别上的节点集合(即子树)进行拆分。在这种情况下,DB2 自动地生成和维护一个 “区域” 索引,这样就可以高效地跟踪整个文档的物理表示。


索引

除了提供新的 XML 层次化存储管理支持之外,DB2 还提供了新的索引技术来加快涉及 XML 数据的搜索。与关系索引相似,这些新的 XML 索引也是用熟悉的 SQL DDL 语句创建的:CREATE INDEX。但是,除了指定要建立索引的目标列之外,还要指定 “xmlpattern”(这本质上是一个没有谓词的 XPATH 表达式)来标识感兴趣的 XML 文档子集。

例如,使用前面的 “items” 表定义和 图 2 所示的示例 XML 文档,管理员可以发出以下语句对 “comments” 列中包含的所有评论标识符(“CommentID” 值)建立索引。注意,示例文档中的 “CommentID” 元素是 “Comment” 元素的子元素,“Comment” 元素本身是根元素 “Comments” 的子元素。


清单 2. 为 XML 列创建索引
                
create index myindex on items(comments) generate key 
using xmlpattern '/Comments/Comment/CommentID' as sql double

有几个细节值得注意。“xmlpattern” 子句中指定的路径是大小写敏感的。因此,“/Comments/Comment/CommentID” 与 “/comments/comment/commentid” 并不对相同的 XML 元素值建立索引。另外,因为 DB2 并不要求对于一个给定的 XML 列必须有 XML 模式,所以 DB2 可能不知道什么数据类型与指定的模式相关联。用户必须使用支持的 SQL 类型之一(VARCHARVARCHAR HASHEDDOUBLEDATETIMESTAMP)显式地指定数据类型。

最后,尽管使用 SQL DDL 语句来创建 XML 索引,但是 XML 数据上的索引与传统 SQL 数据类型列上的索引是不一样的。DB2 XML 索引技术的细节超出了本文的范围,但是应该注意两个显著的差异:

  • XML 数据上的索引通常只涉及文档(列)内容的一个子集。与此相反,传统 SQL 数据上的索引总是涉及整个列的内容。
  • 表中的一行可能会产生多个 XML 索引项,因为一个 XML 文档可能包含零个、一个或许多个与指定的 xmlpattern 匹配的 “节点”。与此相反,非 XML 索引对于表中的每一行只包含一项。

对于某些应用程序,全文搜索是很重要的。IBM 扩展了 DB2 的文本搜索功能,使其能够搜索 XML 列中存储的数据。对 CREATE INDEX 语句的扩展使管理员能够创建全文索引,从而帮助改进这种搜索的性能。


查询语言和优化

DB2 新的 XML 支持包含新的查询语言功能。程序员现在可以使用 SQL 或 XQuery 搜索数据,XQuery 是一种新的查询语言,支持导航(即基于路径的)表达式。实际上,应用程序可以自由地使用这两种语言的语句,而且一个查询语句可以结合使用 SQL 和 XQuery。

在本文中,我们没时间广泛深入地研究这些功能,所以只讨论几个要点。如果您是没有 XML 经验的 SQL 程序员,那么不必担心,因为用简单的 SQL 语句就能够检索 XML 列中存储的数据内容。例如,下面两个熟悉的查询返回 “items” 表中与特定的库存单位(SKU)相关的所有数据,包括带有顾客评论的 XML 文档:


清单 3. 用 SQL 查询 XML 数据
                
select * from items where sku = 112233
select id, brandname, itemname, sku, srp, comments from items
    where sku = 112233 

我们现在考虑另一种情况,在这种情况下只想获得 “items” 表的顾客评论中包含的消息,而且希望使用 XQuery 来完成。下面是构造这个语句最简单的方式:


清单 4. 用 XQuery 查询 XML 数据
                
xquery db2-fn:xmlcolumn('ITEMS.COMMENTS')/Comments/Comment/Message

因为 DB2 支持两种查询语言,所以用户必须在 XQuery 语句前面加关键词 “xquery”。“db2-fn:xmlcolumn” 函数是指定要查询的目标数据的一种方法。它的参数指定表的 XML 列 —— 在这个例子中是 ITEMS 表的 COMMENTS 列。这个查询还将目标数据进一步限制到 XML 数据的特定子集 —— 即 “Message” 元素的值,这个元素是 “Comment” 元素的子元素,“Comment” 元素本身是根元素 “Comments” 的子元素。(参见 图 2。)

可以使用 FLWOR 表达式构造同样的查询,这种表达式常常与 XQuery 语句相关联。FLWOR 表达式是一种引用 forletwhereorder byreturn 子句的非正式方式。它使程序员能够循环遍历 XML 文档中的节点组并将变量绑定到中间结果。对于这个查询示例,可以使用 forreturn 表达式从顾客评论中获得消息,如下所示:


清单 5. 使用 XQuery 的 FOR 和 RETURN 子句
                
xquery for $y in db2-fn:xmlcolumn('ITEMS.COMMENTS')/Comments/Comment 
return ($y/Message) 

应该注意,DB2 Viper 附带一个 Developer's Workbench,这是一种基于 Eclipse 的开发工具,其中包含的图形化 XQuery 构建器可以帮助用户生成和测试查询。

SQL 和 XQuery 可以组合在一个语句中,从而同时限制对 XML 和非 XML 列的搜索。例如,考虑以下 XQuery 语句:


清单 6. 将 SQL 和 XQuery 组合在一个语句中
                
xquery db2-fn:sqlquery('select comments from items 
where srp > 100')/Comments/Comment/Message

db2-fn:sqlquery 子句限制了 XQuery 语句的输入;具体地说,只有与建议零售价(srp)大于 $100 的商品相关联的顾客评论才作为输入传递。其他 XQuery 信息表示 DB2 应该只返回这些评论的 “Message” 部分。

许多文章和 Web 站点可以帮助您学习 DB2 的 SQL/XML 扩展、DB2 的 XQuery 支持和新兴的 XQuery 标准(参见 “参考资料” 中的链接。)

最后,关于查询语言还有一个相关的主题:查询优化。DB2 有两个查询语言分析器:一个用于 XQuery,另一个用于 SQL。它们都生成一种通用的与语言无关的内部查询表示。这意味着用这两种语言编写的查询都会从 DB2 的基于开销的查询优化技术获益,这包括高效地重写查询操作符以及选择低开销的数据访问计划。另外,DB2 可以利用新的查询和联结操作符以及新的索引处理技术,为涉及 XML 文档的查询提供更好的运行时性能。


XML 模式和检验

XML 灵活的本质有时候让数据库专业人员对数据质量很担心。正如前面提到的,DB2 允许用户在 XML 数据类型的任何列中存储任何良构的 XML 文档。因此,一个列中可以包含具有不同结构(即模式)和不同内容的文档。如果数据的本质是不清楚的,或者是难以预测的,那么这样的灵活性是绝对必要的。但是在其他情况下,它可能成为麻烦。所以,DB2 允许用户注册他们的模式并要求 DB2 在进行存储之前针对这些模式检验 XML 文档。

XML 模式仅仅是良构的 XML 文档,它们描述了其他文档的结构和内容。例如,XML 模式指定哪些元素是有效的,这些元素在文档中应该以什么次序出现,与每个元素相关联的 XML 数据类型,等等。有各种工具可以帮助您从现有的 XML 文档创建 XML 模式,包括 IBM WebSphere® Studio 系列及其附属品牌 Rational® 产品

在一个列中,用户可以存储与不同模式对应的不同 XML 文档。这显然是因为不断变化的业务需求会影响需要捕捉的 XML 数据的结构和内容。考虑前面的 “items” 表,假设在部署这个表几个月之后,决定在 XML 列中捕捉其他信息,比如更多的顾客联系信息、响应某些评论的操作的记录等等。DB2 可以适应这些新的内容,并不需要改变表的结构或依赖于这个表的应用程序。实际上,现有的数据(基于 “旧的” XML 模式)仍然存在,同时可以添加符合一个或多个新模式的新数据。按照这种方式,管理员可以以最少的部署时间和开销支持新的业务需求。而且,他们不会损害 XML 的完整性 —— 他们只是向 DB2 提供新的信息,说明某种 XML 数据也是 “有效的”。

在 DB2 的内部存储库中注册 XML 模式是很简单的。DB2 提供了存储过程来使这个过程自动化,管理员也可以手动发出相应的命令。如果需要,可以使用一个模式检验多个表中的多个 XML 列。


管理支持

DB2 新的 XML 支持包括对熟悉的管理工具的扩展,可以帮助管理员管理和调整数据库。例如,备份和恢复设施(包括用于故障恢复的高可用性数据复制)都支持 XML 列中存储的文档。同样,对 IMPORTEXPORT 的扩展现在可以同时在传统 SQL 数据和 XML 数据上操作。因此,可以发出一个 IMPORT 命令来填充整个 “items” 表(从原始文件读取 XML 数据),发出一个 EXPORT 命令将所有表数据写到外部文件。

另外,DB2 的图形化管理工具 DB2 Control Center 使管理员能够浏览包含 XML 数据的表、创建和管理基于 XML 的索引、发出 SQL/XML 和 XQuery 语句以及执行许多其他管理任务。因为性能常常是关注的重点,相应的 DB2 设施也进行了扩展来适应 XML 数据。这些设施包括 DB2 Snapshot Monitor,它提供对某一时刻 DB2 活动的汇总(即 “快照”);RUNSTATS,它收集 DB2 数据库中存储的数据的统计信息;以及 EXPLAIN,它报告查询优化器为满足给定请求所选择的访问路径。管理员可以通过研究 EXPLAIN 的输出来判断使用了哪些 XML 索引。


程序语言扩展

如果程序员无法可靠地访问数据库中存储的 XML 数据,那么 DB2 新的 XML 支持的意义就不大了。由于认识到了这一点,IBM 对它的各种编程语言接口进行了增强,从而支持轻松地访问 XML 数据。这些增强覆盖 Java™(JDBC)、C(嵌入式 SQL 和调用级接口)、COBOL(嵌入式 SQL)、PHP 和 Microsoft® 的 .NET 环境(通过 DB2.NET 数据提供程序)。

因为应用程序编程接口(API)与使用的编程语言相关,我们无法在这里一一讨论这些扩展。可以在最近发表的论文 “Native XML Support in DB2 Universal Database” 中读到对这些扩展的总结(参阅 “参考资料”),还可以阅读文章 “结合使用 DB2 原生 XML 与 PHP”。


结束语

DB2 Viper 版是 IBM 的第一个 “混合型”(即多结构)数据库管理系统实现。除了支持表数据模型之外,DB2 还支持 XML 文档和消息中固有的层次化数据模型。用户可以在一个表中自由地混合存储传统 SQL 数据和 XML 数据。还可以使用 SQL(如果愿意,可以加上 XML 扩展)和 XQuery(新出现的 XML 数据查询标准)来查询和处理这两种形式的数据。通过在经过实践检验的数据库管理基础设施上进行扩展,IBM 为 DB2 Viper 用户提供了同时处理关系数据和 XML 数据的强大支持。

致谢

感谢 Grant Hutchison、Matthias Nicola 和 Gary Robinson 审阅了本文。


参考资料

学习

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • DB2 Viper Web 站点:学习关于 DB2 XML 支持的更多知识。

  • W3C XML 标准:在 DB2 中存储的 XML 数据必须是 “良构的”,即它必须符合 W3C XML 标准中指定的某些语法规则。
    • XML 模式:也是 W3C XML 标准的一部分,用于定义 XML 文档的结构、内容和语义。
    • XQuery 标准:XQuery 是一种查询语言,可以利用 XML 的结构表达涉及许多 XML 数据源类型的查询。

  • System RX: One Part Relational, One Part XML(SIGMOD 2005 Conference Web 站点):这篇文章由 14 位 IBM 研究人员和开发人员编写,描述了混合型关系和 XML 数据库系统 System RX 的整体体系结构和设计方面。

  • Firing up the Hybrid Engine”(DB2 Magazine,2005 年第三季度):IBM 新的混合型 DB2 将关系引擎的全部功能扩展到 XML 数据的存储,同时保留了 DB2 关系数据存储库。

  • The IBM approach to unified XML/relational databases”(IBM,2005 年 3 月):这份白皮书讨论 IBM 如何提供真正统一的 XML/关系数据库,支持 XML 数据模型从客户机经数据库到磁盘存储,再从磁盘存储经数据库到客户机的整个过程。

  • XML and Relational Storage -- Are they mutually exclusive?”(Proceedings of the Xtech 2005 Conference):了解存储 XML 数据的不同方式。

  • DB2 基础: SQL/XML 发布函数简介”(developerWorks,2005 年 11 月):本文介绍 SQL/XML 发布函数,并用实际示例演示如何使用这些函数。

  • Native XML Support in DB2 Universal Database”(Proceedings of the 31st VLDB Conference,2005 年)总结了编程语言扩展。

  • Managing XML for Maximum return”(IBM,2005 年 11 月):在这份白皮书中了解 DB2 XML 支持对业务的好处。

  • 结合使用 DB2 原生 XML 与 PHP”(developerWorks,2005 年 11 月):学习如何使用 DB2 UDB for Linux、UNIX 和 Windows 的 XML 功能来简化应用程序代码和关系模式。

  • XQuery Tutorial:学习 XQuery 语言的基础知识。

  • XQuery from the Experts: Influences on the design of XQuery”(developerWorks,2003 年 9 月):IBM 的 XQuery 先驱 Don Chamberlin 讨论了 XQuery 语言的产生,包括 XML 数据为什么需要一种新的查询语言,以及 XQuery 背后的原理。这摘自 Addison-Wesley 出版的 XQuery from the Experts 一书的第 2 章。

  • An Introduction to XQuery ”(developerWorks,2005 年 11 月):了解 XQuery 语言和相关 XML 标准的起源。Howard Katz 介绍了 W3C 的 XQuery 规范,这个规范当前正在向 Recommendation 状态发展。

  • 随时关注 developerWorks 技术活动和 webcast

  • developerWorks 中国网站 DB2 专区:学习关于 DB2 的更多知识。在这里可以找到技术文档、how-to 文章、培训、下载、产品信息,等等。

获得产品和技术

  • 使用 IBM 试用软件 构建您的下一个开发项目,这些软件可以从 developerWorks 直接下载。

讨论

关于作者

C. M. Saracco 在 IBM 硅谷实验室的 DB2 XML 组织中工作。她从事数据库管理、XML、Web 应用程序开发的相关工作。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, XML
ArticleID=161506
ArticleTitle=DB2 Viper 的新特性
publish-date=02092006
author1-email=saracco@us.ibm.com
author1-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。