DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 2 部分:向 DB2 数据库中添加 XML 数据指南
2009-11-12 00:00:00 来源:WEB开发网在图 11 中的插入语句从文档中为我们的关系型列正确的抽取了那些条目。因此,这些在关系型列中的值和 XML 列中的 XML 文档是冗余的存储。
提示:要确保 XML 列和关系型列的一致性,你可以把这个插入语句包装进一个只把 FpML 文档当作输入参数的存储过程中。如果所有的插入都通过存储过程执行,那么每一行的数据将保持一致。这同样可以通过更新完成。应该避免插入和更新只对关系列进行操作。
插入时确保 XML 数据的品质
要确保 XML 文档的数据质量的首选方法是在 DB2 中注册一个正确的 XML 模式并在插入或更行的时候使用它来验证文档。在许多 XML 应用程序中,包括我们的 FpML 场景,XML 模式是随时间持续发展变化的。为了避免验证多种 FpML 文档输入,你肯需要在 DB2 中注册多个 FpML 模式版本,比如版本 4.1、4.2、4.3 和最终的 FpML5.0 。
记住,在 DB2 中依靠一个模式来验证 XML 文档是可以选择的。不过如果你不验证,在性能上和功能上也没有坏处。
提示:如果 XML 文档在应用层面已经被验证了,或者如果它们来自于同一个信任源,那么在 DB2 中对他们进行验证可能没有必要。在这种情况下你可能希望不进行验证就插入并节约验证过程中的额外 CPU 开销。
如果你选择在 DB2 层验证,你可以有很多方法。一个就是在一个插入语句中直接执行 XMLVALIDATE 函数,如图 12 所示。这非常灵活而且允许你在基于每个文档来控制验证。可以依靠各自对应的 FpML 模式版本来验证基于不同 FpML 标准版本的文档,而且仍然存在相同的 XML 列中。
清单 4. 在插入语句中直接验证交易文档 insert into trades (tradeID, tradedoc)
values (? , xmlvalidate(? according to xml schema ID matthias.fpml43))
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接