|
。Microsoft SQL Server 提供了您可能需要的必要功能和工具。另一方面,如果结构是灵活的(半结构化和非结构化)或未知的,则必须适当地考虑如何对此类数据进行建模。
如果您需要独立于平台的模型,以便确保使用结构化和语义标记的数据的可移植性,则 XML 是一种不错的选择。而且,如果满足下列某些属性,则它还是一种适当的选择:
• 您的数据比较稀疏,或者您不了解数据的结构,或者数据的结构将来可能发生重大更改。
• 您的数据表示容器层次结构(与实体中的引用相对),并且可能是递归的。
• 您的数据具有内在的顺序。
• 您希望对数据进行查询,或者基于其结构更新部分数据。
如果上述任一条件都不满足,则您应该使用关系数据模型。例如,如果您的数据是 XML 格式,但您的应用程序很少使用数据库来存储和检索数据,则 [n]varchar(max) 列就能满足您的全部需要。在 XML 列中存储数据可以带来其他好处 - 引擎将检查数据格式规范或者有效,并且支持对 XML 数据进行细粒度的查询和更新。
在 SQL Server 2005 中存储 XML 数据的理由
以下为一些使用 SQL Server 2005 中的原生 XML 功能而不是在文件系统中管理 XML 数据的理由:
• 您希望使用数据库服务器的管理功能来管理 XML 数据(例如,备份、恢复和复制)。
• 您希望以高效的方式和事务处理方式来共享、查询和修改 XML数据。细粒度的数据访问对于您的应用程序而言很重要。例如,您可能需要提取 XML 文档内部的某些节,或者您可能需要插入一个新节而不是替换整个文档。
• 您具有关系数据和 SQL 应用程序,您希望在应用程序内部的关系数据和 XML 数据之间进行互操作。对于跨域应用程序,您需要有关查询和数据修改的语言支持。
• 您希望服务器能够保证数据格式规范,并能够视情况根据 XML 架构来验证数据。
• 您需要将 XML 数据编入索引以便实现高效的查询处理和良好的可伸缩性,并且使用一流的查询优化器。
• 您希望对 XML 数据进行 SOAP、ADO.NET 和 OLE DB 访问。
如果不满足上述任一条件,您最好将数据存储为非 XML 的大型数据类型,如 [n]varchar(max) 或 varbi 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 更多精彩:学习网->http://www.haohao888.com.cn 网络编程->http://www.51wlpc.com 电脑设备->http://www.xpmaster.cn
|