DB2 9:XML数据和关系数据相互转化
2007-11-01 22:18:47 来源:WEB开发网核心提示: 我们知道DB2 9中的重要特性是最新支持了对 xml(标准化越来越近了) 数据的存储、管理和搜索,用户可以用一个数据库对象同时管理 “传统的” SQL 数据和 xml(标准化越来越近了) 文档,DB2 9:XML数据和关系数据相互转化,而且,可以编写一个查询同时搜索和处理这两种数据形式,包括CUSTOMERID(客
我们知道DB2 9中的重要特性是最新支持了对 xml(标准化越来越近了) 数据的存储、管理和搜索。用户可以用一个数据库对象同时管理 “传统的” SQL 数据和 xml(标准化越来越近了) 文档。而且,可以编写一个查询同时搜索和处理这两种数据形式。在不同的系统和应用程序之间交换数据并适应快速变化的业务环境。许多 IT 领导者正在寻找办法高效地共享、搜索和管理公司产生的大量 xml(标准化越来越近了) 文档和消息。DB2 新的 xml(标准化越来越近了) 支持的设计目的就是为了帮助公司减少存储和使用 xml(标准化越来越近了) 数据所需的时间和工作量,进而减少开发费用并提高业务灵活性。
在实际的应用中,我们难免会将关系数据和xml(标准化越来越近了)数据混合起来进行处理,以应对灵活的需求,如我们可能将存储在DB2中的xml(标准化越来越近了)数据转化为关系数据来进行处理,还有可能我们会将关系数据转化为xml(标准化越来越近了)数据来进行处理。在具体的开发中,如何将这中转化灵活有机的结合起来,需要我们对DB2的SQL/xml(标准化越来越近了)和XQuery有足够的了解。
正是因为DB2 的混合体系结构与之前的版本有很大的不同,但是要利用它的新 xml(标准化越来越近了) 功能并不难。如果您已经熟悉 SQL,那么很快就可以将这方面的技能转化到对存储在 DB2 中的本地 xml(标准化越来越近了) 数据的处理上。本文我们将为您介绍在DB2中关系数据和xml(标准化越来越近了)数据如何的进行相互的转化。
准备工作:
本文所进行的各种查询操作都是在SAMPLE数据库中。在SAMPLE数据库中创建CUSTOMERS(客户表):
CREATE TABLE ADMINISTRATOR.CUSTOMERS ( CUSTOMERID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1001, INCREMENT BY 1, NO CACHE ) , NAME VARCHAR (10) , AGE BIGINT , COMMPANY VARCHAR (10) , CONTACTINFO xml(标准化越来越近了) ) ;
该客户表中,包括CUSTOMERID(客户编号)、NAME(客户姓名)、AGE(年龄)、COMMPANY(公司)和CONTACTINFO(客户联系方式)几个字段。
在CUSTOMERS表中插入3条记录:
其中CONTACTINFO(客户联系方式)字段为xml(标准化越来越近了)数据类型,其中xml(标准化越来越近了)数据为:
<?xml(标准化越来越近了) version="1.0"?><Customer xml(标准化越来越近了)ns:xsi=http://www.w3.org/2001/xml(标准化越来越近了)Schema-instance当然一个CONTACTINFO字段对应着一个xml(标准化越来越近了)数据。
xsi:noNamespaceSchemaLocation="http://bogus"> <Address> <street>5401 Julio Ave.</street> <city>San Jose</city> <state>CA</state> <zip>95116</zip> </Address> <phone> <work>4084630000</work> <home>4081111111</home> <cell>4082222222</cell> </phone> <fax>4087776666</fax> <email>love2shop@yahoo.com</email></Customer>
更多精彩
赞助商链接