SQL Server转换为XQuery及反向转换

2009-05-12 20:51:35来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

想要在准备查询混合数据库系统时将SQL Server转换为 XQuery 和进行反向转换吗?了解如何开发 Web 服务来从SQL Server映射到 XQuery、将 XQuery 编译为SQL Server并将SQL Server查询的各个部分转换为嵌入式 XQuery 语句。您将看到一些示例,以了解如何将 IBM® Rational® Requisite Pro 和 IBM Rational ClearCase 用作转换过程中协作工作的组成部分。

引言

将 XML 数据作为字符型大对象(Character Large Object,CLOB)存储或缩减为关系表的日子已经一去不复返了。这种方法的问题在于,对 XML 文档进行分解并存储后,如果随后将其重新组合起来,并不会得到最初的文档。SQL Server语句无法像 XQuery 语句一样对海量数据进行搜索和排序的日子也一去不复返了。与采用混合数据服务器相比,之前处理关系数据服务器的查询(缩减和非缩减)以及向模式添加字段所需时间太长了。

为了减少存储时间和需求,IBM 推出了 DB2® 9,这是一个混合数据库系统,能够分别以各自的格式存储结构化和非结构化数据。XML 文档的完整性得到了保留,而且不需要对其进行缩减或分解。用户可以在数据量大时从SQL Server切换到 XQuery。

混合数据类型

您可以同时访问关系数据和 XML 数据,不过,将这些数据混合在单个请求中会比单独访问上述任何一种数据类型更快,即使数据量增加也没有问题。为了遵守相关的法律法规要求,现在需要较长时间保留越来越多的数据。

通过将这些数据类型组合到一起,IBM 利用其混合 XML/关系存储机制,可大幅度减少数据存储需求和处理 XQuery 和SQL Server查询的时间。可以通过在单个表下放置多个表空间来创建和管理大得多的数据库,将数据分布在多个计算机上,以及通过参与机制按维度组织数据。

为了增强安全性,DB2 9 提供了创新的基于标签的访问控制(Label-Based Access Control,LBAC),可将用户权限分配给每个行或包含跨不同计算机的多个表空间的表。它允许按分区管理数据加载和备份。不过,DB2 9 存在一些可通过 Web 服务予以克服的限制。我们需要对每个限制进行分析,并了解其可能的解决方案。

Web 服务数据分析

用户无法知道是否应使用SQL Server或 XQuery 形成查询。他并不知道要查询的相关数据的量。他需要确定数据量是否非常大。

我建议 Web 服务数据分析最好能根据系统如何分析跨多台计算机、按维度组织或属于一个表的多个表空间中的数据来建议用户使用何种语句格式。如果分析表明,要查询的数据或部分数据非常大,则将发送一条消息,建议使用 XQuery 语句作为首选方法。

Web 服务转换器

如果用户更习惯使用SQL Server语句,而 XQuery 语句方面的使用经验很少或没有,该怎么办呢?如果用户使用 XQuery,而不习惯使用 SQL 语句又该如何呢?如果用户习惯于使用不同数据库管理系统的 SQL,而已迁移到 DB2 9 时该怎么办呢?

此决策者可能没有足够的时间等着去学习 XQuery,因为可能会要求立即做出决定。DB2 9 无法将 SQL 查询转换为 XQuery(反之亦然),也无法检查经过转换的SQL Server或 XQuery 查询是否已经过了优化而使用的资源最少。

我们已经知道,结构不合理的 SQL 查询会降低关系数据库的性能。这对于嵌入到结构良好的 SQL 语句内的 XQuery 语句也是如此。即使使用混合数据服务器,结构不合理的查询也将无法执行。

子检查器

在 SQL 和 XQuery 语句之间进行转换前,或将 XQuery 语句嵌入 SQL 查询中时,我们需要检查二者的语法。显然,SQL 和 XQuery 具有不同的语法和范围约定。

与典型的关系系统目录相比,XML 模式信息经常更为复杂,并可能发生变化。XQuery 可以对形成不同模式或同个模式的不同版本的多个文档进行操作。有些文档可能没有模式。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SQL Server 数据库操作实用技巧锦集

下一篇:在 SQL Server数据库开发中的十大问题