您正在研究的DB2
教程是比较DB2 9和db2 X中的XML
功能。
简介
在DB2 UDB 8版本的XML。X
支持基于DB2的关系infrastructure.xml数据存储为字符大对象(CLOB)在其原来的形式或分解成关系表。另一方面,DB2 UDB毒蛇具有真正的XML数据的
原生支持。现在,XML数据作为一种新的数据
类型存储在一个树的解析和注释的
处理。该树与关系型数据存储相分离,并引入基于XML
模式的xml索引技术,支持XQuery和SQL xml作为
查询和发布XML数据的
语言。
在DB2 UDB 8版本的XML支持X。
DB2 8。X使用SQL、XML和db2 xml extender提供基础关系data.db2
扩展的XML功能提供了许多
用户定义类型(UDT),用户定义
函数(UDF),和存储过程支持XML,XML
文档存储为一个关系表和使用扩展的基础设施提供对关系数据的XML表示。一些SQL / XML功能,用于发布关系数据到XML也支持。更多的细节可以在db2 xml extender
网站找到。
DB2还允许用户
创建用户定义的java函数和存储过程,可以将XML和XSL解析器为DB2 8部分。X。
DB2毒蛇中的XML支持
DB2 Viper支持原生XML存储,不再需要分解XML到关系表的查询和发布。这个新的存储
方法保存XML树的形式,解析和类似于XML文档对象模型(DOM)的注释,还需要将XML数据
转换成关系表的应用,这个版本也提供增强的分解功能,它使用的带注释的XML模式映射。
XML的特点比较——DB2 UDB版本8。x和DB2 Viper
表1。XML的特点对比,DB2 UDB版本8。x和DB2 Viper
DB2 UDB版本8。x
DB2 Viper
存储和索引
XML数据以两种形式存储:
原始
文件:
该xmlclob,xmlvarchar XML扩展列,xml
文件类型。
一列式的BLOB,CLOB,或VARCHAR。
在关系侧表中创建XML文档的间接索引。
解析文档以更新所创建的辅助表。分解为关系XML扩展器(XML集):
使用文档访问定义(父亲)来分解到现有关系表。
只有XML中的叶节点可以被分解并映射到SQL列类型。
不支持名称
空间。
该函数是有限的,不能处理复杂的XML文档。
XML数据以两种形式存储:
原生文档xml存储的原始版本。
新的分层(原生)存储是从头开始构建的。
xml类型的列。
XML索引是使用叶节点的
路径表达式建立的。
在插入时对文档进行解析。
使用带注释的XML模式映射来分解到现有关系表。
XML片段也可以被分解并映射到XML列类型。
处理名称空间。
扩展功能可用于过滤XML数据,如DB2表达式和
条件。
验证
在父亲中定义隐式验证。
使用扩展的UDF svalidate显式验证。
文档类型定义(DTD)被
注册并存储在内部表中。
从文件
系统获取xml模式。
没有与列相
关联的隐式验证。
使用SQL / XML的显式验证功能XMLVALIDATE。
不支持DTD验证。
DTD和XML模式的XML Schema库注册(XSR)和存储在数据库中。
查询和发布
使用SQL和XML扩展函数来查询和发布。
对于原始XML文档。
查询文件的索引数据库,并在CLOB的形式获取文件。
XML扩展功能可用于文档查询,扩展功能可以使用XSLT转换。
对于分解为关系表的XML数据。
xml发布函数。
xml扩展映射和函数。
使用SQL和XML来查询和发布。
对于原始XML文档。
SQL和XML可以用来检索和发布关系数据和XML数据。
可以将多个XML列
连接在一起。
您可以使用XQuery查询、转换和发布XML,以将XML数据分解为关系表。
xml发布函数。
更新
对于原始XML文档。
使用SQL UPDATE语句进行全文更新。
使用XML扩展器UDF更新更新。
对于原始XML文档。
使用SQL UPDATE语句进行全文更新。
子文档更新不支持因为定义XQuery更新缺乏标准。
你可以从developerWorks
下载和更新存储过程。请参阅XML
应用程序迁移,从DB2 8到DB2毒蛇,部分,应用程序,2006年5月。
为数据库
启用xml函数
您需要为数据库启用xml扩展函数。
不需要启用数据库,因为XML支持DB2引擎的固有部分。
工具 DB2开发中心或
控制中心中没有集成的XML支持。
WebSphere应用程序开发人员
XML Schema
编辑器
DTD编辑器
爸爸映射工具
查询生成器中不支持sql XML。
Xerces和Xalan parsers
不支持在java数据库连接(JDBC
驱动程序提供)。
XML支持集成到工具的各个方面。
DB2控制中心和DB2开发{ 1 } { 2 } { 3 } { 4 } { 5 } { 6 } { 7 } { 8 } }