MS SQL SERVER2005 XML 最佳实践

海门银

海门银

2016-01-29 15:45

MS SQL SERVER2005 XML 最佳实践,MS SQL SERVER2005 XML 最佳实践
SQL Server 2005 为 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 2005 提供了一个强大的平台,以针对半结构化和非结构化数据管理开发功能丰富的应用程序。

本主题提供了 SQL Server 2005 中的 XML 数据建模和使用准则,包含下列两个部分:

数据建模

可以通过使用本机 xml 数据类型和拆分到表中的 XML,以多种方式在 SQL Server 2005 中存储 XML 数据。本主题提供了为对 XML 数据进行建模做出适当选择的准则。另外,还介绍了对 XML 数据创建索引、属性提升和 XML 实例的类型化。


使用

本部分讨论了与使用相关的主题,例如将 XML 数据加载到服务器和查询编译中的类型推理。本部分还解释和区分了密切相关的功能,并就如何适当使用这些功能提出了建议。这些均通过示例进行了说明。


数据建模
本部分概述了应使用 SQL Server 2005 中的 XML 功能的理由,另外还提供了在本机 XML 存储和 XML 视图技术之间进行选择的准则,并给出了数据建模建议。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

关系或 XML 数据模型
如果您的数据是高度结构化的,具有已知架构,则对于数据存储,关系模型可能最适用。SQL Server 提供了您可能需要的必要功能和工具。另一方面,如果结构是半结构化或非结构化的或者未知的,则必须考虑对这类数据进行建模。

如果您需要一个与平台无关的模型,以便通过使用结构和语义标记来确保数据的可移植性,则 XML 是一个不错的选择。此外,下列情况下,适于做此选择:

您的数据为稀疏数据,或您不了解数据的结构,或数据结构将来可能会有重大变化。


您的数据体现的是包容层次结构而不是在实体间的引用,并且可能是递归数据。


您的数据本身具有顺序性。


您希望基于数据的结构查询数据或更新部分数据。


如果上述条件均不满足,则应使用关系数据模型。例如,如果数据为 XML 格式,但应用程序只是使用数据库来存储和检索数据,则只需要 [n]varchar(max) 列。将数据存储在 XML 列中还有其他好处,包括让引擎确定数据格式是否正确或有效,以及支持对 XML 数据进行精细查询和更新。

在 SQL Server 2005 中存储 XML 数据的理由
下面是一些使用 SQL Server 2005 中的本机 XML 功能而不是在文件系统中管理 XML 数据的理由:

您希望以一种高效的事务处理方式来共享、查询和修改 XML 数据。精细的数据访问对于您的应用程序而言很重要。例如,您可能需要提取 XML 文档中的某些部分,或者您可能需要插入新的部分而不是替换整个文档。


您有关系数据和 XML 数据,希望在应用程序中进行关系数据和 XML 数据之间的互操作。


您需要语言支持,以便对于跨域应用程序可以进行查询和数据修改。


您希望服务器能够保证数据格式正确,并能够视情况根据 XML 架构来验证您的数据。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)


您希望对 XML 数据创建索引以实现高效的查询处理和良好的可伸缩性,并使用一流查询优化器。


您希望对 XML 数据进行 SOAP、ADO.NET 和 OLE DB 访问。


您希望使用数据库服务器的管理功能来管理 XML 数据。例如,这可能是备份、恢复和复制。


如果上述条件均不满足,最好将数据存储为非 XML 大型对象类型,如 [n]varchar(max) 或 varbinary(max)。

XML 存储选项
SQL Server 2005 中的 XML 存储选项包括:

采用 xml 数据类型的本机存储

数据以保留数据的 XML 内容的内部表示形式进行存储,XML 内容包括包容层次结构、文档顺序、元素和属性值等。具体来说,就是保留 XML 数据的 InfoSet 内容。有关 InfoSet 的详细信息,请访问 http://www.w3.org/TR/xml-infoset。InfoSet 内容并不是文本 XML 的精确副本,因为其中未保留下列信息:无关紧要的空格、属性顺序、命名空间前缀和 XML 声明。

对于类型化的 xml 数据类型(即绑定到 XML 架构的 xml 数据类型),后架构验证 InfoSet (PSVI) 将类型信息添加到 InfoSet,并以内部表示形式进行编码。这会显著提高分析速度。有关详细信息,请参阅 ht

展开更多 50%)
分享

猜你喜欢

MS SQL SERVER2005 XML 最佳实践

SQLServer
MS SQL SERVER2005 XML 最佳实践

SQL Server2005 Analysis服务实践之起步

SQLServer
SQL Server2005 Analysis服务实践之起步

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server2005的XML数据类型之基础篇

SQLServer
SQL Server2005的XML数据类型之基础篇

SQL Server2005 SQLCLR代码之CLR安全

SQLServer
SQL Server2005 SQLCLR代码之CLR安全

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用SQL Server 2005 FOR XML嵌套查询

编程语言 网络编程
使用SQL Server 2005 FOR XML嵌套查询

SQL Server2005 SQLCLR代码安全之权限

编程语言 网络编程
SQL Server2005 SQLCLR代码安全之权限

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《英雄脸萌》角色技能详解

《英雄脸萌》角色技能详解

再次启程!《马里奥3D大陆》故事介绍_3DS攻略

再次启程!《马里奥3D大陆》故事介绍_3DS攻略
下拉加载更多内容 ↓