对比DB2 9和DB2 V8.x中的XML功能

正在看的db2教程是:对比DB2 9和DB2 V8.x中的XML功能。

简介
DB2 UDB Version 8.x 中的 XML 支持基于 DB2 的关系基础设施。XML 数据要么按原样存储为字符大对象(CLOB),要么分解到关系表中。另一方面,DB2 UDB Viper 具有真正的 XML 数据本机支持。现在,将 XML 数据作为一种新的数据类型处理,存储在一个经过解析并加上注释的树中,这个树是与关系数据存储分开的。还引入了基于 XML 模式的 XML 索引技术,并支持 XQuery 和 SQL/XML 作为查询和发布 XML 数据的语言。

DB2 UDB Version 8.x 中的 XML 支持

DB2 8.x 使用 SQL/XML 和 DB2 XML Extender 向底层关系数据提供 XML 功能。DB2 XML Extender 提供许多用户定义类型(UDT)、用户定义函数(UDF)和存储过程来支持 XML。XML 文档存储为关系形式,并使用 XML Extender 基础设施为关系数据提供 XML 表现形式。还支持一些用来将关系数据发布为 XML 的 SQL/XML 函数。更多细节可以在 DB2 XML Extender Web 站点上找到。

DB2 还允许创建用户定义的 Java 函数和存储过程,可以将 XML 和 XSL 解析器(作为 DB2 8.x 的一部分安装)合并到代码中。

DB2 Viper 中的 XML 支持

DB2 Viper 支持本机 XML 存储,从而不再需要将 XML 分解到关系表中供查询和发布。这种新的存储方式将 XML 保存为与 XML 文档对象模型(DOM)相似的经过解析并加上注释的树形式。对于仍然需要将 XML 数据分解到关系表中的应用程序,这个版本中还提供了增强的分解功能,这种功能使用带注释的 XML 模式映射。

XML 特性对比 —— DB2 UDB Version 8.x 和 DB2 Viper

表 1. XML 特性对比 —— DB2 UDB Version 8.x 和 DB2 Viper

DB2 UDB Version 8.x

DB2 Viper

存储和索引

XML 数据存储为两种形式:

原样的文档:

  • XMLCLOB、XMLVARCHAR、XMLFILE 类型的 XML Extender 列。
  • BLOB、CLOB 或 VARCHAR 类型的列。
  • 在关系副表中创建 XML 文档的间接索引。

  • 解析文档来更新创建的副表。
分解到关系 XML Extender(XML 集合):

  • 使用文档访问定义(DAD)分解到现有的关系表。

  • 只有 XML 中的叶节点可以分解并映射到 SQL 列类型。

  • 不支持名称空间。

  • 功能有限,不能处理复杂的 XML 文档。

XML 数据存储为两种形式:

原样的本机文档 XML 存储。

  • 从头构建了全新的层次化(本机)存储。这种存储方式保存文档的任意树形式。
  • XML 类型的列。
  • 使用叶节点的路径表达式建立 XML 索引。
  • 在插入时对文档进行解析。
用关系 SQL/XML 函数和带注释的模式映射进行分解。

  • 使用带注释的 XML 模式映射分解到现有的关系表。
  • XML 片段也可以分解,映射到 XML 列类型。
  • 处理名称空间。
  • 可以使用扩展的功能过滤 XML 数据,比如 DB2 表达式和条件。

验证

  • DAD 中定义的隐式验证。
  • 使用 XML Extender UDF svalidate 进行显式验证。
  • 文档类型定义(DTD)注册并存储在内部表中。
  • 从文件系统获得 XML 模式。

  • 没有与列相关联的隐式验证。

  • 使用 SQL/XML 函数 XMLVALIDATE 进行显式验证。

  • 不支持 DTD 验证。

  • DTD 和 XML 模式注册在 XML 模式存储库(XSR)中,并存储在数据库中。

查询和发布

使用 SQL/XML 和 XML Extender 函数进行查询和发布。

对于原样的 XML 文档。

  • 使用带索引的副表查询文档,以 CLOB 形式获得文档。

  • 可以使用 XML Extender 函数进行子文档查询。
可以使用 Extender 函数进行 XSLT 转换。

对于分解到关系表的 XML 数据。

  • SQL/XML 发布函数。

  • XML Extender DAD 映射和函数。

使用 SQL/XML 和 XQuery 进行查询和发布。

对于原样的 XML 文档。

  • 可以混合使用 SQL/XML 和 XQuery 来检索和发布关系数据和 XML 数据。

  • 可以联结多个 XML 列。
使用 XML Extender XSLT 函数支持 XSLT。

  • 可以使用 XQuery 查询、转换和发布 XML。
对于分解到关系表的 XML 数据。

  • SQL/XML 发布函数。

更新

对于原样的 XML 文档。

  • 使用 SQL update 语句进行全文档更新。

  • 使用 XML Extender UDF update 进行更新。

对于原样的 XML 文档。

  • 使用 SQL update 语句进行全文档更新。

  • 由于缺少定义 XQuery 更新的标准,不支持子文档更新。

  • 可以从 developerWorks 下载更新存储过程,请参考 XML application migration from DB2 8.x to DB2 Viper, Part 1: Partial updates to XML documents in DB2 Viper (developerWorks,2006 年 5 月)。

为数据库启用 XML 功能

需要为数据库启用 XML Extender 功能。

不需要启用数据库,因为 XML 支持现在是 DB2 引擎的固有部分。

工具

在 DB2 Development Center 或 Control Center 中没有集成 XML 支持。

Websphere Studio Application Developer

  • XML Schema Editor

  • DTD Editor

  • DAD Mapping 工具

  • 在查询构建器中不支持 SQL XML。

  • Xerces 和 Xalan 解析器

  • Java Database Connectivity(JDBC)驱动程序中没有提供支持。

XML 支持集成到了工具的各个方面。

DB2 Control Center 和 DB2 Develope

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一篇

(0)

相关推荐

  • 对比DB2 9和DB2 V8.x中的XML功能

    正在看的db2教程是:对比DB2 9和DB2 V8.x中的XML功能. 简介 DB2 UDB Version 8.x 中的 XML 支持基于 DB2 的关系基础设施.XML 数据要么按原样存储为字符大对象(CLOB),要么分解到关系表中.另一方面,DB2 UDB Viper 具有真正的 XML 数据本机支持.现在,将 XML 数据作为一种新的数据类型处理,存储在一个经过解析并加上注释的树中,这个树是与关系数据存储分开的.还引入了基于 XML 模式的 XML 索引技术,并支持 XQuery 和 S

  • 使用SQL查询DB2 9中的XML数据

    正在看的db2教程是:使用SQL查询DB2 9中的XML数据. 虽然 DB2 的混合体系结构与之前的版本有很大的不同,但是要利用它的新 XML 功能并不难.如果您已经熟悉 SQL,那么很快就可以将这方面的技能转化到对存储在 DB2 中的本地 XML 数据的处理上.通过本文就可以知道如何实现这一点. DB2 Viper(就是DB2 9)中的 XML 特性包括新的存储管理.新的索引技术以及对查询语言的支持.在本文中,学习如何使用 SQL 或带 XML 扩展的 SQL(SQL/XML)查询 DB2 X

  • Java编程中更新XML文档的常用方法

    本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之下,

  • Spring中基于xml的AOP的详细步骤

    1.Aop 全程是Aspect Oriented Programming 即面向切面编程,通过预编译方式和运行期动态代理实现程序功能的同一维护的一种技术.Aop是oop的延续,是软件开发中的 一个热点,也是Spring框架中一个重要的内容.是函数式编程的一个衍生范例,利用Aop可以对业务逻辑各个部分进行分割,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用行,提高了开发效率.简单的说就是把我们程序中的重复代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上已有的方法进

  • Spring中基于XML的AOP配置详解

    1. 准备工作 1.1 创建工程 day03_eesy_03SpringAOP 1.2 在配置文件pom.xml中添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  • maven中pom.xml详细介绍

    POM 代表工程对象模型.它是使用 Maven 工作时的基本组建,是一个 xml 文件.它被放在工程根目录下,文件命名为 pom.xml. POM 包含了关于工程和各种配置细节的信息,Maven 使用这些信息构建工程. POM 也包含了目标和插件.当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所需要的配置信息,然后执行目标.能够在 POM 中设置的一些配置如下: project dependencies plugins goals build profiles pr

  • PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节

    一. XML简介 XML(可扩展的标注语言)是一种W3C标准,主要用于Web应用程序和服务器之间实现容易的交互.数据的存储与使用. 使用XML标准编码的数据具有能容易被人和计算机解释的意义和结构.XML数据是平台和应用程序独立的.不用多说,这本身就使XML成为适合于互联网的一个理想的数据交换格式(事实上,它正是因这一用途而被开发的).最近,宽带连接的增长及消费者对于越过任何媒体进行数据共享的应用软件的需求意味着,XML Web服务和应用软件正变得越来越丰富. XML的发明正是为了解决描述网上丰富

  • VirtualBox 在Centos 7 中安装增强功能图解 (共享文件夹)

    1.分配光驱 2.安装相关依赖包 yum install -y bzip2 gcc gcc-devel gcc-c++ gcc-c++-devel make kernel-d 3.创建临时文件夹 mkdir /mnt/cdrom 4.挂载并安装 mount -t auto -r /dev/cdrom /mnt/cdrom cd /mnt/cdrom ./VBoxLinuxAdditions.run 5.关机并添加共享文件夹 重启后,使用mount查看共享的目录(默认会加上"sf_"前缀

  • vue项目中做编辑功能传递数据时遇到问题的解决方法

    在项目中完成编辑功能时,遇到了这样一个问题:编辑的功能使用的是一个子组件作为弹出框,如图 这里涉及到从父组件向子组件传递数据的问题,这个项目使用的是v1.0,问题是当点击了编辑以后,弹出的子组件中没有获取到父组件传过来的数据,检查后没有发现代码错误,最后解决的方法就是在父组件中,把传递的数据中的每一项都初始化了一遍就好了 creatIssue (type,list,id){ this.modelIssue=true; this.modeltype=type; if(type=='creat'){

  • java web中图片验证码功能的简单实现方法

    用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer

随机推荐