WEB开发网
开发学院数据库DB2 DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的... 阅读

DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 2 部分:向 DB2 数据库中添加 XML 数据指南

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 在图 11 中的插入语句从文档中为我们的关系型列正确的抽取了那些条目,因此,DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 2 部分:向 DB2 数据库中添加 XML 数据指南(4),这些在关系型列中的值和 XML 列中的 XML 文档是冗余的存储,提示:要确

在图 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))

上一页  1 2 3 4 5  下一页

Tags:DB 最佳 实践

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接