| DB2 Viper 快速入门 |
| [ 作者:佚名 转贴自:网络转载 阅读次数:7 更新时间:2007-7-13 13:44:00 录入:刘光勇 ] |
|
|
|
您可能已经听到了关于 DB2 的新 Viper 版本的一些议论 —— IBM 的第一个同时支持表格式(基于 SQL 的)和层次式(基于 XML 的)数据结构的数据库管理系统。如果您对 DB2 为 XML 提供新的 “原生支持”(Native Support)感到好奇,并且想快速地入门,那么这篇文章就是为您准备的。 U>-_>C!rB 2 YNCYET$D 为了帮助您快速掌握 DB2 自身的 XML 特性,请完成几个普通的任务,比如: XzLV1r#m iq (S3YHA 创建用于管理 XML 数据的数据库对象,包括一个测试数据库、一些示例表和视图。 29&PN${3Z 使用 INSERT 和 IMPORT 语句将 XML 数据填充到数据库中。 e6G`<J6_n 验证您的 XML 数据。使用 DB2 开发和注册您的 XML 模式,并在导入数据时使用 XMLVALIDATE 选项。 >UU/iSe^X 后续文章将包括其他主题,比如使用 SQL 查询、更新和删除 DB2 XML 数据,使用 XQuery 查询 DB2 XML 数据,开发存取 DB2 XML 数据的 Java 应用程序和 Web 组件。 { ?/'^Ox rs}LHv:( : 创建数据库对象 %AT2k k H&2</q6,U 让我们先来创建一个单独的 DB2 Unicode 数据库。在 DB2 Viper 中,只有 Unicode 数据库才能同时存储 XML 文档和 SQL 数据的更多传统格式,比如整数、日期/时间、变长字符串,等等。随后,您将在这个数据库中创建对象来管理 XML 和其他类型的数据。 ~3jNKl 1x2T[1L 创建测试数据库 <X`S %^uC i/<V;:p+ 为了创建一个新的 DB2 Unicode “测试” 数据库,打开 DB2 命令窗口,发出语句来指定 Unicode 编码集合和支持的区域,如 清单 1: |*;qAx,PZ [y[O#'1J': D?Y>}1]U jjMQLYvm 清单 1. 创建用于存储 XML 数据的数据库 REMqug%- &Hfi+V5: create database test using codeset UTF-8 territory us zi)n5"j\ k_4z{c>;W !nFPjoe ~0C0utl=u 一旦创建了 Unicode 数据库,您就不需要发出任何专门的命令或采取任何进一步措施来使 DB2 能够以它自身分层的格式存储 XML 数据,因为您的 DB2 系统已经准备好了。 mC7 V:> " :e/`<g 创建示例表 ]B@c,Tc @Wn"+bFZ+ 为了存储 XML 数据,请创建包含一个或多个 XML 列的表。这些表充当文档集合的逻辑容器;在幕后,DB2 实际上使用了不同的存储方案来存储 XML 和非 XML 数据。然而,使用表作为管理各种受支持的数据格式的逻辑对象,简化了管理和应用程序开发问题,特别是当需要在一个单独的查询中集成不同的数据格式时。 qj_N/&z }, X 7qO6 您可以对 DB2 表进行定义,使其只包含 XML 列、只包含传统 SQL 类型的列或者同时包含两者。本文对后一种情况进行了建模。清单 2 中的例子连接到 “测试” 数据库,并创建了两个表。第一个是 “items” 表,追踪关于货物的销售情况和顾客对货物的评价信息。第二个表追踪的是关于 “客户” 的信息,包括关于联系信息的数据。注意 “comments” 和 “contactinfo” 是基于新的 DB2 XML 数据类型,而所有其他的列都是基于传统 SQL 数据类型的。 ^H02w9XC WP{( T0v 6~D'5 h (<o3 清单 2. 创建用于 XML 数据的表 4-GMCdl Vc~oDk connect to test; g8zKc9T7 create table items ( 92U6C1 id int primary key not null, ez-6T4-q brandname varchar(30), :!yXj.$^ x itemname varchar(30), <> !/ES sku int, : `,9# j srp decimal(7,2), kk ,JJC comments xml )G(Gv " ); !J3?&V create table clients( {{@%V id int primary key not null, > Kp'#B3 name varchar(50), J3w]I w status varchar(10), +lG=<F$= contactinfo xml $Xd*2 ); .9U=Uiu! FT au=O<[4 [?P'rgZO 5 Ed;+K\M= 如果您仔细地查看这些表定义例子,您将注意到 “comments” 和 “contactinfo” 列都没有进行 XML 文档内部结构的定义。这是 DB2 的一个重要特性。用户不需要为了存储数据而预定义一个 XML 数据结构(或者,更准确地说是一个 XML 模式)。事实上,DB2 可以在一个单独的列中存储任何格式良好的 XML 文档,这意味着不同模式的 XML 文档 —— 或没有和任何注册的模式关联的文档 —— 都可以存储在相同的 DB2 列中。当我们讨论如何在 DB2 中存储数据时,本文将深入讨论这个特性。 {*-Q}ppB_ .BoY A 创建视图 jSPZ1c^+ O"/dwon 您可以随意地在包含 XML 数据的表上创建视图,就像您可以在只包含传统 SQL 数据类型的表上创建视图一样。清单 3 中的例子创建具有 “Gold” 状态的客户的一个视图: _L5 TTp] 5&ei" ]f~BwxV UFBozC 清单 3. 创建一个包含 XML 数据的视图 PJ|VH.z/Y e"A9rINw@ create view goldview as ;\LmJq6+ select id, name, contactinfo ,Hr|L from clients where status='Gold'; gBxKwl64 66fE|=>/ ':y<Ri/t Vgj95YAF 关于索引的一点说明 %}-&UV N1 I"[r![cc 最后,没有必要在 XML 列上创建专门的索引来提高数据的查询速度。因为这是一篇介绍性文章,而且示例数据很少,所以本文不会涵盖到那个主题。然而,在生产环境中,定义一个适当的索引对实现最佳的性能来说很关键。查看本文结尾部分的 “参考资料”,以助于了解 DB2 的新索引技术。 }w]4DI=jw hZMY%| 存储 XML 数据 ~cV<+j Cw0UgjO\ 创建好表之后,现在您就可以用数据填充它们了。您可以通过直接发出 SQL INSERT 语句来完成这项工作,或者通过调用 DB2 IMPORT 工具在后台发出 INSERT 语句。 %UVBT[ t %ko K p 使用 INSERT 语句 (,gUAer XM 4b 使用 INSERT,您可以直接向 DB2 中填充原始的 XML 数据。如果您已经编写了一个应用程序并在变量中存储了 XML 数据,那么这可能是最容易的方法。但是如果您只是刚开始使用 DB2 Viper,并且不想编写应用程序,那么您可以交互地发出 INSERT 语句(我发现使用 DB2 Command Editor 是很方便的,虽然您也可以使用命令行处理器,如果您更喜欢那么做的话)。 ce+ IBi P&n#iFS 要使用 DB2 Command Editor,请启动 DB2 Control Center。从顶端的下拉菜单 “Tools” 中选择 Command Editor,将出现一个单独的窗口,如 图 1 所示。 !W`-+{\
=780) window.open('/UploadFiles19/2007713134321734.jpg');" src="/UploadFiles19/2007713134321734.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> ^yAPuDJvx ^ On2|B 1-6I\ 图 1. DB2 Command Editor r/2J;q n# [&U5w M~a/8X\ 在上面的窗格中输入下列语句: Qw b#07N Z1,<..R ~dc3LOl Gy4ndq 清单 4. 交互地插入 XML 数据 WK~*O: S1Bf\A#f connect to test; N/~Iq/5 insert into clients values (77, 'John Smith', 'Gold', 54~v(7,;{w xmlparse(document '<addr>111 Main St., Dallas, TX, 00112</addr>' rCFo"r\R preserve whitespace) q z2Rc9n ) YDj{&G'6 kI5y6Fc ukoKG$e28 #Q o| 单击左侧的绿色箭头来执行该命令。 o)h g.}W I*yS(&OO 注意,联机提供 XML 数据(如 清单 4 所示)需要您调用 XMLPARSE 函数,以把文档从字符值转换成 XML 类型值。本例中的输入文档相当简单 。如果文档很大或者很复杂,把 XML 数据键入到像清单 4 所示的 INSERT 语句中是不切实际的。在大多数情况下,您使用主机变量或者参数标记编写一个应用程序来插入数据。您将发现本文带有一个简要的 Java 代码编写例子。然而,由于这是一个介绍性的教程,所以我们不会详细地讨论应用程序开发主题。相反,我们将讨论使用数据填充 DB2 XML 列的另一种选择 —— 使用 IMPORT 工具。 Zwv7dxC^A Y5 n8;E5 使用 DB2 IMPORT <( ed"gC( W= xC< $ 如果您准备在文件中包含 XML 数据,DB2 IMPORT 工具为您提供了一个使用数据填充 DB2 表的简单方式。您不需要编写应用程序,只需要创建一个定界的 ASCII 文件,其中包含您想要装载到表中的数据。参数为存储在文件中的 XML 数据指定了适当的文件名称。 -WZ r4G@C #NzpGG{ 您可以使用选择的文本编辑器创建一个定界的 ASCII 文件。(按照惯例,这些文件通常都是 .del 类型的)。文件中的每一行都代表了导入到表中的一行数据。如果行中包含 XML Data Specifier (XDS),IMPORT 将读取包含在引用的 XML 文件中的数据,并把数据导入到 DB2 中。例如,图 2 中的第一行包含了 Ella Kimpton 的信息,包括她的 ID、姓名和顾客状态。她的联系信息也包括在 Client3227.xml 文件中。 *9Z9u"CD oy&a]T[
=780) window.open('/UploadFiles19/2007713134327621.jpg');" src="/UploadFiles19/2007713134327621.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> [{5\]Tw Y:ZBz' E 图 2. 输入到 DB2 IMPORT 的示例定界 ASCII 文件 -6:^ _rgt[e:W$ h7:lW|%% Client3227.xml 文件的内容如 图 3 所示。就像您看到的,文件包含了 Ella Kimpton 的地址、电话号码、传真号码和电子邮件等 XML 元素。 G;N0xG*em ^z<Qu37$
=780) window.open('/UploadFiles19/2007713134332371.jpg');" src="/UploadFiles19/2007713134332371.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> CN:HBam o QaGX8X 图 3. 示例客户 XML 文件 l]XBy,o rQpS'f ;A4IM0J( 如果您并不是对所有希望插入的行都有 XML 文件,那么您可能对导入数据感到好奇。这是很容易做到的,忽略输入文件的 XDS 信息即可。例如,图 4 中的 items.del 文件忽略 Item 3641(“Dress to Impress” 套装)的 XML 文件名。结果这一行的 XML 列不包含任何数据。 ^feiW>s yWP"MCBES
=780) window.open('/UploadFiles19/2007713134336112.jpg');" src="/UploadFiles19/2007713134336112.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> K{;gk8' iu-Y?LjOe 图 4. 示例定界 ASCII 文件中的一行没有 XML Data Specifier u]%}ls 6p g]aDn 9-{2OY 有了 XML 文件和定界的 ASCII 文件,您现在就可以使用 DB2 IMPORT 了。清单 4 中的下面这个语句将 C:/XMLFILES 目录中的 clients.del文件中指定的内容导入到 “clients” 表中。 aWta49G=a #yyla|lc U6FQ1 ; n1V;$p.{ 清单 4. 将数据导入到 “clients” 表中 D3g*y\_w >?:<xOnWh import from clients.del of del xml from C:/XMLFILES insert into user1.clients; ;O&rD Mk\ 0sjCQ1a2 )`]+=|8xu [M*q..^Q 如 图 2 所示的 clients.del 包含了六行数据,包括对六个 XML 文件的引用。成功地执行 IMPORT 命令后的结果输出如 图 5 所示。 +7UD$ 6 T/\0AmR
=780) window.open('/UploadFiles19/2007713134340833.jpg');" src="/UploadFiles19/2007713134340833.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> !p~6dLj s%aNaz 图 5. DB2 IMPORT 的示例输出 Dco\"kH _e[f)N1 2~x[E2lLQ 独立软件供应商,例如 Exegenix,提供了将 Word、PDF和其他文档格式转换成 XML 的工具,以便于导入到 DB2 中。(参见 参考资料,获得关于 Exegenix 的更多信息。) HdU]}h *(Yq%*S^ K9PwOnf 验证 XML 数据 Jf9;~{l >PQ WuX, INSERT 和 IMPORT 示例只是讨论向表中写入格式良好的 XML 数据。它们并不对数据进行验证 —— 也就是说,它们不验证数据是否符合特定的 XML 模式,并因此坚持使用确定的结构。控制 DB2 那么做是可能的,然而,还是让我们研究另外一种方式来完成这项任务: ~PYe9#53 xmstq)}} 步骤 1:创建 XML 模式 dul74 KX77 9a4J@tM 为了验证 XML 数据,您需要定义一个 XML 模式,来指定可接受的 XML 元素、它们的顺序和数据类型,等等。 XML 模式是一个 W3C 行业标准并且是用 XML 编写的。尽管解释 XML 模式的特性超出了本文的范畴,但是 Web 上有各种教程可供参考(参见 “参考资料”)。 oOl|qFcT l& gJ8)H 有许多方式可以开发 XML 模式,从使用您喜爱的文本编辑器到手动创建模式,再到使用工具图形化地设计或生成模式。独立软件供应商,例如 MDXSYS Limited,提供了这样的 XML 工具,IBM 也通过它的 Java™ 集成开发环境提供了 XML 模式生成支持。 L\W ZL/n] ^vnu%2#A> 例如,使用 IBM WebSphere® Studio,您可以将 Client3227.xml 文件(如 图 3 所示)导入到 Web 项目中。使用鼠标右击,并选择 Generate -> XML Schema。这将为特定的输入文件生成一个有效的 XML 模式,如 图 6 所示。然后您就可以修改该文件(如果需要)并将其注册到 DB2。 ;)/z||Ni4 bw<t4!ZKT
=780) window.open('/UploadFiles19/2007713134349140.jpg');" src="/UploadFiles19/2007713134349140.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> nFH_x+NOe k.P&nqh 图 6. 使用 WebSphere Studio 从一个 XML 文件生成 XML 模式 D$Q} 1q{/ <.m?SmD DaI"Cq!|b 让我们假定您需要使 XML 模式相当灵活,从而使您可以收集不同顾客不同类型的联系信息。例如,某些顾客可能向您提供多个电话号码或电子邮件地址,而其他顾客则没有提供这么多。 h`lrGD= D fa(d!rE_ 图 7 所示的 XML 模式源自 WebSphere Studio 生成的模式,提供了这种灵活性。它包括关于给定元素所允许的最小和最大出现次数(“minOccurs” 和 “maxOccurs”)的附加规范。在本例中,不要求顾客向您提供任何您想要收集的联系信息。然而,如果顾客选择给您电子邮件信息,该模式将启用一致性文档来包含最多 5 个电子邮件地址(即 5 个 “email” 元素值)。 r5:3W2m8}
=780) window.open('/UploadFiles19/2007713134355876.jpg');" src="/UploadFiles19/2007713134355876.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> 9F4R#a. a*:p)_- 8 0.M~c q e- 图 7. 用于客户联系信息的示例 XML 模式 k\Ig*W":> Cu(K9u$ L bVNO7I# 就像您已经注意到的那样,XML 模式也包含类型信息。尽管 图 7 所示的模式只指定所有的基本元素都被视为字符串,但是大部分生产 XML 模式也使用其他数据类型,比如整数、小数、日期,等等。如果您针对一个作为 INSERT 或 IMPORT 操作一部分的给定模式来验证 XML 文档,那么 DB2 将自动向您的 XML 文档添加类型注释。 bS;:[8+ 1(L`gb } 步骤 2: 注册 XML 模式 g*Qi_#b k]1|K)z 创建了一个适当的 XML 模式之后,您就需要向 DB2 注册该模式。IBM 提供多种方式来完成这项任务。您可以从 DB2 Control Center 运行图形化的向导来指导您完成该过程,调用系统提供的存储过程,或直接发出 DB2 命令。在此让我们使用第二种方法,因为它能够帮助您更容易地理解在您那一端 DB2 实质上进行的操作。 KC^`0V nDNu\5w/1 如果您的模式非常大,您可能需要在尝试注册它之前增加应用程序堆的大小。例如,发出下列语句: IUeI@qXsS Wi{u=dH (5Rg(nRic Jnw0&=r 清单 4. 增加应用程序堆大小 /KM A_x F{ 1^I- connect to test; `]J -;brwO update db cfg using applheapsz 10000; vC@X!gt,; K-1Ggf)d 7<E`oy%Xo ;y0F$b2 接下来,注册您的 XML 模式。如果您的 XML 模式没有引用其他 XML 模式,您可能需要用单个命令来注册并完成该过程。否则您还将需要发出单个命令来注册您最初的 XML 模式,添加其他需要的模式并完成注册过程。当模式文件变的非常大时,通常把它的内容分成多个文件来提高可维护性、可读性和重用性。这类似于把一个复杂的应用程序或组件分解为多个模块。关于这个主题的细节,请参考 W3C “XML Schema primer”(参见 “参考资料”)。 (0qL=J( ?VC^4j 本文使用了一个简单、独立的 XML 模式。您可以使用下面这个命令将其向 DB2 注册: rdX5|OdX |)R,#"J oor[&]|v rLa`wBW 清单 5. 注册 XML 模式 , FD lJ18 hH;6Fgk register xmlschema 'http://mysample.org' from 'C:/XMLFiles/ClientInfo.xsd' as j,W6,@0} user1.mysample complete; R*xcjc5 ~+4FQ&SpV Uwg l`l S 6VHN:+Cqi 在本例中,ClientInfo.xsd 是 XML 模式文件的名称,它位于 C:/XMLFiles 目录中。该 XML 模式将被注册到 SQL 模式 “user1” 和 XML 模式 “mysample” 下的 DB2 的内部存储库中。本例中的 http://mysample.org 参数只是一个占位符,它指定 XML 实例文档所引用的统一资源标识符 (URI);许多 XML 文档使用名称空间,这是用 URI 指定的。最后,“complete” 子句将指示 DB2 完成 XML 注册过程,以便模式可以用于验证 XML 数据。 {5uX9%2x Px 6Xi2LR 值得注意的是,模式注册过程没有指定模式将应用到表的哪个(些)列。换句话说,模式不等于 SQL 列约束。一个给定的模式可以验证不同表中的各种 XML 列。然而,验证不是自动的。DB2 允许任何格式良好的 XML 文档存储在 XML 列中。如果您想在存储之前验证一个已注册的模式数据,那么您需要指示 DB2 完成这项任务。 E2>T$w y%aVm] % 步骤 3:导入具有验证的 XML 数据 @K{C`V>C A*nO*:.OOf 当创建了一个 XML 模式,并将它完全注册到 DB2 中之后,您现在就可以在将 XML 数据插入或导入表中的时候,让 DB2 对这些数据进行验证。现在我们头脑中有了模式验证,再来回顾一下先前的 IMPORT 场景。 eW'JzN? ~de~G ~U 如果您已经填充了 “clients” 表,您会发现可以非常方便地删除它的内容,或者删除和重新创建表。这只在当您计划像以前一样向表中添加相同的数据时才需要。回想一下被定义为在客户 ID 列上具有一个主键的 “clients”,尝试导入重复的行将失败。 fM0EO(C &e."Fj7> 为了在将 XML 数据导入到 “client” 表时能够对其进行验证,请使用 DB2 IMPORT 的 XMLVALIDATE 子句。清单 6 中的下面这个语句将指示 DB2 使用您先前注册的 XML 模式 (user1.mysample) 作为默认的 XDS (XML Data Specifier),在将它们插入到 “client” 之前验证 clients.del 文件中指定的 XML 文件。 IfkK]s U~ x`1o tphzk)w ']Jv<A>X> 清单 6. 导入具有验证的 XML 数据 0`n|Z[dsM qrG.d0f? import from clients.del of del xml from C:/XMLFILES xmlvalidate using xds default ;_W4'Nz user1.mysample insert into user1.clients; ~ 7Ne'E _izt}_u\)O c=Db}5S 8U@E t 如果 DB2 确定一个 XML 文档不符合指定的模式,那么与该文档相关的整个行都将会被拒绝。图 8 阐释了从 IMPORT 操作的示例输出,在该操作中的六行有一行因为它的 XML 文档不符合指定的模式而被拒绝。 =vUQL(+e5 b\'H[Umz7
=780) window.open('/UploadFiles19/200771313447436.jpg');" src="/UploadFiles19/200771313447436.jpg" onload="if(this.width>'780')this.width='780';if(this.height>'700')this.height='700';" border=0> u,h RPO4y BQd;0Cfw 图 8. 来自 DB2 IMPORT 的示例输出,其中一行被拒绝 u_xF+_ @Vs!lo 7JYo^L*s 值得注意的是,XMLVALIDATE 也可以与 INSERT 语句一起使用,以指示 DB2 在插入之前验证 XML 数据。该语法与 IMPORT 例子所示的相似,即在调用 XMLVALIDATE 子句时指定一个已注册(和已完成)的 XML 模式。(参见 “一个简单的 Java 例子”,获取关于这方面的更多信息。) 0Ma9J^&ae >oCW Put CH d"<f|Qx NsyC@N}8 o Y3+B\c o01/I"&@ L,%L, 回页首 \ |C Ba) 1$] 0A]/! W\Uw Lkh ^jPb|vm2A $d{&MMVi} 结束语 3"xx"_+1 ,5N0\ TN<M DB2 Viper 提供了一个重要的新能力来支持 XML,包括一个新的 XML 数据类型和底层的引擎级组件,能够以有效的方式自动存储和处理 XML 数据。为了帮助您快速掌握这些特性,这篇文章描述了如何创建一个用于存储 XML 文档的测试数据库和示例表。还回顾了如何用 XML 数据填充数据库。最后总结了 DB2 针对用户提供的模式来验证数据的能力,并提供了示例来向您展示如何入门。 UI\eo =`@Q:)Bf 现在您已经学习了如何使用 DB2 的新的 “原生” XML 能力存储 XML 数据。至于如何查询那些数据,您将在后续文章中看到,后续文章将向您介绍 DB2 的新的 XQuery 支持,以及它对 SQL 的扩展(有时候叫做 “SQL/XML”)。 #&0)\L"b a5Bi>C'qs 致谢 h: pzd l-1}mT{". 感谢 Rav Ahuja、Matthias Nicola 和 Gary Robinson 对文本提出的宝贵意见。 ^@|G ZW v 6ikWF{{S J9{~G HiFx r} uzz~# ' x$G<fQ { ?o TYh, UR&QK'Q 回页首 !:U<Y( *?TxY!1qN z]kUH0U[{ lCpF~?-G[ ,"Nl;CY\ 下载 vGvTkv` u;N|l~/ 描述 名字 大小 下载方法 Q 2!r0 Sample code samples.zip 4KB FTP|HTTP DLIFoK [\l"D+60 关于下载方法的信息 Get Adobe® Reader® '%yHFC=FyK (`M9iulQ $d4HfTDl t$!<G,u q 参考资料 lew|'DAf U)BB5bzq 学习 G91[7;~\ #(R.; Fz 您可以参阅本文在 developerWorks 全球站点上的 英文原文。 k}^l)d6)o} x{ G<= QA]E@B# DB2 Viper Web 站点: 更多地了解 DB2 对 XML 的支持。 Ce3dDQMv (+Nt$' ]f?LS#* “DB2 Viper 新特性”(developerWorks,2006 年 2 月):获取关于 DB2 测试版中新的 XML 技术的概览。 >mYG\Xg f )'dw&$Pj2] |mZ "@L Exegenix 提供了工具,可以帮助您将 Word、 PDF 和其他文档格式转换成 XML,用于导入到 DB2 中。 @XZi xItnj K%4>Kv<R6 #V GG XML 模式: 'PiJ I+Z Web 上可以得到的各种教程 解释了 XML 模式的特性。 "m9L+p'gV k6kQ scY/ag\p W3C XML Schema primer 提供了一个关于 XML Schema 工具的轻松易读的描述,主要是帮助快速地理解如何使用 XML Schema 语言创建模式。 C K3lc. RgMP 8pwS= 0HI"Ii:O]' “Firing up the Hybrid Engine”(DB2 Magazine,2005 年第 3 季度):阅读关于 IBM 的混合式数据库管理系统的更多资料。 m>>X2 lZe Z`m/i#ePv ;JVQ#r+D System RX: One Part Relational, One Part XML(SIGMOD conference,2005 年):了解关于构建一个复合关系型和 XML DBMS 的架构和设计方面的信息。 ,8G7cxO .<r;PA[ _03# “Native XML Support in DB2 Universal Database”(VLDB conference,2005 年):阅读关于 DB2 XML 支持的更多资料。 >vu&vVn.A m_9u_4 C;Sugi<, “Managing XML for Maximum return”(IBM, 2005 年 11 月):这本白皮书研究了 DB2 对 XML 支持的业务收益。 dh1#v74l I p"=zA XCAqY8EJ “结合使用 DB2 原生 XML 与 PHP”(developerWorks,2005 年 11 月):使用传统关系型数据库技术对比和对照 DB2 的新 XML 支持。 KJ5S9EG- >?hM~ kI{senY9 随时关注 developerWorks 技术活动和 webcasts。 ~!s;[MR v@Xp@}, , p.BDs developerWorks Information Management 专区:了解关于 DB2 的更多信息。寻找技术文档、how-to 文章、教程、下载、产品信息,等等。 %{dx5_ }EU M[l 获得产品和技术 u9bx1lF] $gq5L~XS 使用 IBM 试用软件 构建您的下一个开发项目,该软件可以从 developerWorks 直接下载。 \\Tgpvo} tBIvd ph7pj<s4 v`mvP6YX 讨论 *mPZ1*%+F 3*k.&k34 通过参与 developerWorks blogs 加入 developerWorks 社区。 ;D`p54mEb }iU R6?= ~?@B)h$CN H\]IjHD fYCLcx3 9LQ3yE A 关于作者 gpubl4} iWz^JOOT+ ;Q](:hH4O u8B.$=y C. M. Saracco 在 IBM 硅谷实验室的 DB2 XML 组织内工作。她主要的研究领域是数据库管理、XML、Web 应用程序开发和相关内容。
|
|
|