商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

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数据为:
<?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>
    当然一个CONTACTINFO字段对应着一个XML数据。
1 2 3
©版权所有。未经许可,不得转载。
[责任编辑:郭宗一]