DB2 9:XML数据和关系数据相互转化
【IT168技术文档】
我们知道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数据为:
当然一个CONTACTINFO字段对应着一个XML数据。<?xml version="1.0"?>
<Customer xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
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>
0
相关文章