• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL SERVER 2005 XML 最佳实施策略目录_sqlserver

sqlserver 搞代码 3年前 (2018-06-17) 174次浏览 已收录 0个评论

  用于原生 xml 支持的目录视图

  • 目录视图的目的是提供与 XML 用法有关的元数据信息。下面讨论了其中几个目录视图。

  XML 索引

  XML 索引项出现在目录视图 sys.indexes 中,索引"type"为 3。"name"列包含 XML 索引的名称。

  XML 索引还被记录在目录视图 sys.xml_indexes 中,它包含 sys.indexes 的所有列以及一些对 XML 索引有意义的特殊列。列"secondary_type"中的值 NULL 表示主 XML 索引;值"P"、"R"和"V' "分别代表 PATH、PROPERTY 和 VALUE 辅助 XML 索引。

  XML 索引的空间利用率可以在表值函数 sys.fn_indexinfo() 中找到。该函数会提供许多信息,例如,所占用的磁盘页数、平均行大小(字节)、记录数以及所有索引类型(包括 XML 索引)的其他信息。对于每个数据库分区都会提供这些信息;XML 索引使用基表的相同分区方案和分区函数。

  示例:XML 索引的空间利用率

SELECT sum(Pages)
FROM  sys.fn_indexinfo ('T', 'idx_xCol_Path' , DEFAULT, 'DETAILED')

  这会产生表 T 中的 XML 索引 idx_xCol_Path 在所有分区中占用的磁盘页数。如果不使用 sum() 函数,结果将返回每个分区的磁盘页利用率。

  检索 XML 架构集合

  XML 架构集合在目录视图 sys.xml_schema_collections 中被枚举。XML 架构集合"sys"由系统定义,它包含无须显式加载就可在所有用户定义的 XML 架构集合中使用的预定义命名空间。该列表包含 xml、xs、xsi、fn 和 xdt 的命名空间。其他两个值得一提的目录视图是:sys.xml_schema_namespaces,它枚举了每个 XML 架构集合中的所有命名空间;sys.xml_components,它枚举了每个 XML 架构中的所有 XML 架构组件。

  内置的函数 XML_SCHEMA_NAMESPACE(schemaName, XmlSchemacollectionName, namespace-uri) 可产生一个 XML 数据类型实例,该实例包含 XML 架构集合中所含架构(预定义的 XML 架构除外)的 XML 架构片段。

  可以用下列方式来枚举 XML 架构集合的内容:

  • 在 XML 架构集合的适当目录视图上编写 T-SQL 查询。

  • 使用内置函数 XML_SCHEMA_NAMESPACE()。可以在该函数的输出上应用 XML 数据类型方法。然而,您无法修改基础 XML 架构。

  • 下面的示例阐述了这些概念。

  示例:枚举 XML 架构集合中的 XML 命名空间

  对于 XML 架构集合"myCollection"使用以下查询:

SELECT XSN.name
FROM  sys.xml_schema_collections XSC JOIN sys.xml_schema_namespaces XSN
  ON (XSC.xml_collection_id = XSN.xml_collection_id)
WHERE  XSC.name = 'myCollection'

  示例:枚举 XML 架构集合的内容

  下面的语句枚举了关系架构 dbo 中的 XML 架构集合"myCollection"的内容。

SELECT XML_SCHEMA_NAMESPACE (N'dbo', N'myCollection')

  通过将目标命名空间指定为 XML_SCHEMA_NAMESPACE() 的第三个参数,可以按 XML 数据类型实例的形式获取该集合中的单独 XML 架构,如下所示。

  示例:输出 XML 架构集合中的指定架构

  下面的语句从关系架构 dbo 中的 XML 架构集合"myCollection"中输出目标命名空间为"http://www.microsoft.com/books"的 XML 架构。

SELECT XML_SCHEMA_NAMESPACE (N'dbo', N'myCollection',
N'http://www.microsoft.com/books')

  查询 XML 架构

  如果您需要查询已经加载到 XML 架构集合中的 XML 架构,可以采用下列方式:

  • 在 XML 架构命名空间的目录视图上编写 T-SQL 查询。

  • 除了将 XML 架构加载到 XML 类型系统中以外,创建一个包含 XML 数据类型列的表来存储 XML 架构。您可以使用 XML 数据类型方法来查询 XML 列。而且,您可以在该列上生成 XML 索引。然而,需要由应用程序来维护存储在 XML 列中的 XML 架构与存储在 XML 类型系统中的 XML 架构之间的一致性。例如,如果您从 XML 类型系统中删除了 XML 架构命名空间,则还必须从表中删除该命名空间以保持一致性。

欢迎大家阅读《SQL SERVER 2005 XML 最佳实施策略目录_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址