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 视图技术之间进行选择的准则,并给出了数据建模建议。
关系或 XML 数据模型
假如您的数据是高度结构化的,具备已知架构,则对于数据存储,关系模型可能最适用。SQL Server 提供了您可能需要的必要功能和工具。另一方面,假如结构是半结构化或非结构化的或未知的,则必须考虑对这类数据进行建模。
假如您需要一个和平台无关的模型,以便通过使用结构和语义标记来确保数据的可移植性,则 XML 是个不错的选择。此外,下列情况下,适于做此选择:
您的数据为稀疏数据,或您不了解数据的结构,或数据结构将来可能会有重大变化。
您的数据体现的是包容层次结构而不是在实体间的引用,并且可能是递归数据。
您的数据本身具备顺序性。
您希望基于数据的结构查询数据或更新部分数据。
假如上述条件均不满足,则应使用关系数据模型。例如,假如数据为 XML 格式,但应用程式只是使用数据库来存储和检索数据,则只需要 [n]varchar(max) 列。将数据存储在 XML 列中更有其他好处,包括让引擎确定数据格式是否正确或有效,连同支持对 XML 数据进行精细查询和更新。
在 SQL Server 2005 中存储 XML 数据的理由
下面是一些使用 SQL Server 2005 中的本机 XML 功能而不是在文档系统中管理 XML 数据的理由:
您希望以一种高效的事务处理方式来共享、查询和修改 XML 数据。精细的数据访问对于您的应用程式而言很重要。例如,您可能需要提取 XML 文档中的某些部分,或您可能需要插入新的部分而不是替换整个文档。
您有关系数据和 XML 数据,希望在应用程式中进行关系数据和 XML 数据之间的互操作。
您需要语言支持,以便对于跨域应用程式能够进行查询和数据修改。
您希望服务器能够确保数据格式正确,并能够视情况根据 XML 架构来验证您的数据。
您希望对 XML 数据创建索引以实现高效的查询处理和良好的可伸缩性,并使用一流查询优化器。
您希望对 XML 数据进行 SOAP、ADO.NET 和 OLE DB 访问。
您希望使用数据库服务器的管理功能来管理 XML 数据。例如,这可能是备份、恢复和复制。
假如上述条件均不满足,最好将数据存储为非 XML 大型对象类型,如 [n]varchar(max) 或 varbinary(max)。
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- SQL Server不存在或访问被
- SQL Server 2000数据库升
- SQL Server的Inner Join及
- SQL Server备份文件中导入
- SQL SERVER应用问题解答13
- SQL Server不能启动的常见
- 删除数据库中重复数据的几
- 如何快速生成100万不重复
- 探讨SQL Server 2005的评
- SELECT 赋值与ORDER BY冲
- 怎样用SQL 2000 生成XML
- 探讨SQL Server中Case 的
- MySQL的数据类型和建库策
- SQL Server各种日期计算方
- SQL Server各种日期计算方
- SQL Server 中易混淆的数
- 快速清除SQLServer日志的
- SQL Server导出导入数据方
- SQL Server数据库中处理空
- sql2k中新增加的Function
- 黑客经验谈 MSSQL SA权限
- 深入浅出SQL教程之嵌套SEL
- 用JavaBean编写SQL Server
- Mssql处理孤立用户的存储
- Sql Server中的日期与时间
- 无法在 SQL Server 2005 M
- 精华:精妙SQL语句
- SQL Server查询语句的使用
- 解读SQL Server2008的新语
- 如何使用SQL Server数据库
- 确定几个SQL Server栏中的
- 巧用一条SQL语句实现其它
- 四个语句帮你提高 SQL Ser
- SQL SERVER应用问题解答13
- MS SQL SERVER 的一些有用
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD




