DB29(毒蛇)快速入门

您正在研究的DB2过程是DB2 9(毒蛇)快速启动。
为了帮助您快速掌握DB2本身的XML特性,请执行一些常见的任务,例如:



创建用于管理XML数据的数据库对象,包括测试数据库、一些示例表和视图。

使用插入和导入语句将XML数据填充到数据库中。

验证您的XML数据。使用DB2开发和登记您的XML模式,并使用XMLVALIDATE选项时,导入数据。后续文章将包括其他话题,比如使用SQL查询、更新和删除DB2 XML数据,使用XQuery查询DB2 XML数据,并开发java应用程序和Web组件访问DB2 XML数据。
创建数据库对象

首先,我们创建一个独立的DB2 unicode数据库,在DB2毒蛇中,只有Unicode数据库可以同时存储更传统的XML文档和SQL数据格式,如整数、日期/时间、可变长度字符串等,稍后,您将在这个数据库中创建对象来管理XML和其他类型的数据。

创建测试数据库

为了创建一个新的DB2测试测试数据库,打开DB2命令窗口,发出语句来指定Unicode编码集和支持区域,如清单1所示:

清单1。创建用于存储XML数据的数据库









创建使用UTF-8编码的领土美国数据库测试



创建Unicode数据库后,您不需要发出任何特殊命令或采取任何进一步措施,使DB2能够以自己的分层格式存储XML数据,因为您的DB2系统已经准备好了。

创建一个示例表

存储XML数据,创建一个表包含一个或多个XML列。这些表作为逻辑容器文件的收集;在背景中,DB2实际上使用不同的存储方案来存储XML和非XML数据。然而,使用表格来管理各种支持的数据格式的逻辑对象简化了管理和应用程序的开发,特别是当它是必要的在一个单一的查询,整合不同的数据格式。

你可以定义DB2表,它只包含一个XML列一列只包含传统的SQL类型,或者两者都有。在本文中,后者是仿照。清单2中的示例连接到测试数据库,创建两个表。首先是项目表,跟踪货物和客户的评价信息销售的商品。二台追踪到客户的信息,包括联系人信息数据。注意评论和contactinfo是基于新的DB2 XML数据类型,和其他所有的列都是基于传统的SQL数据类型。

清单2。创建XML数据表









连接到测试;

创建表项(

主键无效,

BrandName varchar(30),

Itemname varchar(30),

SKU的int,

SRP的十进制(7,2),

评论的xml

);

创建表客户机(

主键无效,

名称varchar(50),

现状varchar(10),

XML contactinfo

);



如果你看看这些表定义的例子,仔细,你会发现,无论是评论和contactinfo列没有一个XML文档的内部结构的定义。这是DB2的一个重要特征,用户不需要预先定义的XML数据结构来存储数据(或者,更准确地说,一个XML Schema)。事实上,DB2可以存储任何格式良好的XML文档在一个单独的列,这意味着不同的模式或文件不与任何注册的模式相关的XML文件可以存储在相同的DB2列。本文将深入讨论这一功能时,我们将讨论如何在DB2存储数据。

创建一个视图

您可以在包含XML数据的表上创建视图,就像您可以在只包含传统SQL数据类型的表上创建视图一样。清单3中的示例创建了一个带有LD状态的客户视图:

清单3。创建包含XML数据的视图









创建视图ldview作为

选择ID、名称、contactinfo

从客户那里'ld状态;



索引上的一点

最后,这是没有必要创造一个特殊的XML列的索引来提高数据的查询速度。因为这是一个介绍性的文章,和样本数据是非常小的,这篇文章没有涉及这个话题。然而生产环境中,定义是表现最好的一个适当的指数的关键。看看文末的参考资料来帮助你理解DB2的新的索引技术。

存储XML数据

在创建了一个好的表之后,现在可以向它们填充数据。您可以通过直接发布SQL INSERT语句或通过调用DB2导入工具在后台发布INSERT语句来实现这一点。

使用INSERT语句

与插入,你可以填写原始XML数据直接导入DB2。如果你写了一个应用程序和一个变量存储XML数据,这可能是最容易做的。但如果你是刚刚开始使用DB2 Viper,不想写应用程序,您可以交互问题INSERT语句(我发现db2命令编辑器的使用非常方便,虽然你也可以使用命令行处理器,如果你喜欢这么做)。

要使用DB2命令编辑器,启动DB2控制中心。请从顶部的下拉菜单工具中选择命令编辑器,并将显示一个单独的窗口,如图1所示。

图1。db2命令编辑



在上面的窗格中输入以下语句:

清单4。交互式插入xml数据









连接到测试;

插入客户价值(77,约翰史密斯,'ld,

Xmlparse(文件'111主要街,达拉斯,TX,00112)

保留空白)





单击左边的绿色箭头执行命令。

注意,XML数据的在线提供,如清单4所示,要求该XMLPARSE函数调用你要转换的文件从特征值的XML类型的值。在这个例子中,输入文件是相当简单的。如果文档是大型或复杂的,在插入语句类型的XML数据不现实是的,如清单4所示。在大多数情况下,你可以用一个主机变量或参数标记要插入的数据的一个应用,你会发现这篇文章用java代码编写一个简短的例子。然而,这是一个入门教程,我们不作详细讨论的主题应用的发展。相反,我们将讨论使用数据使用导入工具填充DB2 XML列的另一种选择。

使用DB2导入

下一个{ 1 } { 2 } { 3 }