科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[Sql server]2005的XML最佳实施策略(6)

[Sql server]2005的XML最佳实施策略(6)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft SQL Server 2005 为 XML 数据处理提供了广泛的支持。XML 值可以自然地存储在 XML 数据类型列中,而后者可以根据 XML 架构集合进行类型化,或者保持非类型化。

作者:Shankar Pal 来源:microsoft 2007年9月16日

关键字: 实施策略 数据库 SQL Server SQL Server 2005

  • 评论
  • 分享微博
  • 分享邮件

类型化 XML 列、参数和变量可以存储 XML 文档或内容 - 您在声明时必须将它们指定为标志(分别指定为 DOCUMENT 或 CONTENT)。而且,您必须提供 XML 架构集合。如果每个 XML 实例恰好有一个顶级元素,请指定 DOCUMENT;否则,请使用 CONTENT。查询编译器在查询编译过程的类型检查中使用 DOCUMENT 标记来推理唯一的顶级元素。

除了将 XML 列类型化以外,您还可以在类型化或非类型化 XML 数据类型列上使用关系(列或行)约束。在下列条件下,请使用约束:

• 无法在 XML 架构中表示业务规则。例如,花店的送货地址必须在其营业地点周围 50 英里范围之内,这可以编写为 XML 列上的约束。该约束可能涉及到 XML 数据类型方法。

• 您的约束涉及到表中的其他 XML 列或非 XML 列。这方面的一个例子是:强制 XML 实例中存在的 Customer ID (/Customer/@CustId) 与关系 CustomerID 列中的值匹配。

文档类型定义 (DTD)

XML 数据类型列、变量和参数可以使用 XML 架构而不是 DTD 加以类型化。然而,对于非类型化和类型化 XML,都可以使用内联 DTD 来提供默认值,以便将实体引用替换为它们的扩展形式。

您可以使用第三方工具将 DTD 转化为 XML 架构文档,并且将 XML 架构加载到数据库中。

将 XML 数据类型列编入索引

可以在 XML 数据类型列上创建 XML 索引。这会将该列中 XML 实例上的所有标记、值和路径编入索引,从而提高查询性能。在下列条件下,您的应用程序可能受益于 XML 索引:

• 对 XML 列进行查询在您的工作负荷中很常见。必须考虑数据修改过程中的 XML 索引维护成本。

• XML 值相对较大,而检索的部分相对较小。生成索引可以避免在运行时分析全部数据,并且因为受益于索引查找而提高查询处理的性能。

XML 列上的第一个索引是"主 XML 索引"。通过该索引,可以在 XML 列上创建三种类型的辅助 XML 索引,从而提高常见种类的查询的速度,如下节所述。

主 XML 索引

这会将 XML 列中的 XML 实例内部的所有标记、值和路径编入索引。基表(即包含 XML 列的表)必须在该表的主键上具有聚集索引;主键用于将索引行与基表中的行相关联。从 XML 列中检索完整的 XML 实例(例如 SELECT *)。查询使用主 XML 索引,并返回标量值或使用索引本身的 XML 子树。

示例:创建主 XML 索引

在我们的多数示例中,都使用带有非类型化 XML 列的表 T (pk INT PRIMARY KEY, xCol XML),这些示例都可以简单地扩展为类型化 XML 的形式(有关使用类型化 XML 的信息,请参阅 SQL Server 2005 联机图书)。为了便于说明,将针对如下所示的 XML 数据实例描述查询:

<book genre="security" publicationdate="2002" ISBN="0-7356-1588-2">
      <title>Writing Secure Code</title>
      <author>
            <first-name>Michael</first-name>
            <last-name>Howard</last-name>
      </author> 
      <author>
            <first-name>David</first-name>
            <last-name>LeBlanc</last-name>
      </author>
      <price>39.99</price>
</book>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章