设计和实现半结构化存储(数据库引擎)

从 SQL Server 2005 开始,SQL Server 为 XML 数据处理提供了广泛支持。可将 XML 值本机存储在根据 XML 架构集合类型化或保持非类型化的 xml 数据类型列中。可以对 XML 列创建索引。此外,通过使用 XQuery 和 XML DML 可支持精细的数据操作。XML DML 是针对数据修改的扩展。

SQL Server 2000 和 SQLXML Web 版本提供了强大的 XML 数据管理功能。这些功能着重于关系数据和 XML 数据之间的映射。可以使用批注的 XSD (AXSD) 定义关系数据的 XML 视图以提供以 XML 为中心的方法(支持针对 XML 数据的大容量数据加载、查询以及更新等功能)。Transact-SQL 扩展插件提供以 SQL 为中心的方法以使用 FOR XML 将关系查询结果映射到 XML,以及使用 OPENXML 通过 XML 生成关系视图。这一支持从 SQL Server 2005 开始得到扩展,此版本还新增了本机 XML 支持。因此,SQL Server 现在提供了一个强大的平台,以针对半结构化和非结构化数据管理开发功能丰富的应用程序。

对 XML 的支持已集成到 SQL Server 的所有组件中,包括下面几项:

  • 支持 xml 数据类型。

  • 可以指定针对 xml 类型的列和变量中存储的 XML 数据的 XQuery 查询。

  • 增强了 OPENROWSET 以允许大容量加载 XML 数据。

  • 增强了 FOR XML 子句和 OPENXML 函数。

本节内容

主题

说明

AdventureWorks2008R2 数据库中的 xml 数据类型表示形式

介绍 AdventureWorks2008R2 数据库中的 xml 类型列。各种主题中针对 xml 数据类型的查询均是针对这些列指定的。

实现 SQL Server 中的 XML

介绍了 xml 数据类型、类型化的 xml 和非类型化的 xml 的概念以及各种 xml 数据类型的方法。

XML 数据类型列的索引

介绍了 xml 类型的主 XML 索引和辅助 XML 索引。

管理服务器上的 XML 架构集合

介绍了 XML 架构集合的概念,用于创建、修改或删除集合的 DDL 以及如何使用它来创建类型化的 xml 列和变量。

使用 FOR XML 和 OPENXML 发布和处理 XML 数据

介绍了与 SELECT 语句结合使用以从关系数据构造 XML 的 FOR XML 子句,以及 OPENXML,它可用来进行查询和将 XML 拆分到行集。

有关客户端 XML 功能的信息,请参阅 SQLXML 4.0 编程概念

有关 Microsoft .NET Framework 中的 XQuery 支持的信息,请参阅 .NET Framework 文档中的“XML 查询和 SQL Server XML 支持”主题。