侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

数据库  /  管理员 发布于 5年前   200

正在看的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] 下一篇


  • 上一条:
    用shell抽取,更新db2的数据
    下一条:
    DB2 9数据服务器发展3部曲
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 分库分表的目的、优缺点及具体实现方式介绍(0个评论)
    • DevDB - 在 VS 代码中直接访问数据库(0个评论)
    • 在ubuntu系统中实现mysql数据存储目录迁移流程步骤(0个评论)
    • 在mysql中使用存储过程批量新增测试数据流程步骤(0个评论)
    • php+mysql数据库批量根据条件快速更新、连表更新sql实现(0个评论)
    • 近期文章
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2017-06
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-05
    • 2018-10
    • 2018-11
    • 2020-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2021-02
    • 2021-04
    • 2021-07
    • 2021-08
    • 2021-11
    • 2021-12
    • 2022-02
    • 2022-03
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-07
    • 2023-08
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客