设计和实现半结构化存储(数据库引擎)
从 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 类型列。各种主题中针对 xml 数据类型的查询均是针对这些列指定的。 |
|
介绍了 xml 数据类型、类型化的 xml 和非类型化的 xml 的概念以及各种 xml 数据类型的方法。 |
|
介绍了 xml 类型的主 XML 索引和辅助 XML 索引。 |
|
介绍了 XML 架构集合的概念,用于创建、修改或删除集合的 DDL 以及如何使用它来创建类型化的 xml 列和变量。 |
|
介绍了与 SELECT 语句结合使用以从关系数据构造 XML 的 FOR XML 子句,以及 OPENXML,它可用来进行查询和将 XML 拆分到行集。 |
有关客户端 XML 功能的信息,请参阅 SQLXML 4.0 编程概念。
有关 Microsoft .NET Framework 中的 XQuery 支持的信息,请参阅 .NET Framework 文档中的“XML 查询和 SQL Server XML 支持”主题。