访问元数据三种方法.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
访问 Microsoft SQL Server 元数据的三种方法 上海微创软件有限公司 肖桂东 适用读者:Microsoft SQL Server 中、高级用户 元数据简介 元数据 (metadata) 最常见的定义为有关数据的结构数据,或者再简单一点就是关于数据的信息,日常生活中的图例、图书馆目录卡和名片等都可以看作是元数据。在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义。比如在管理、维护 SQL Server 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息: 某个数据库中的表和视图的个数以及名称 ; 某个表或者视图中列的个数以及每一列的名称、数据类型、长度、精度、描述等; 某个表上定义的约束; 某个表上定义的索引以及主键/外键的信息。 下面我们将介绍几种获取元数据的方法。 获取元数据 使用系统存储过程与系统函数访问元数据 获取元数据最常用的方法是使用 SQL Server 提供的系统存储过程与系统函数。 系统存储过程与系统函数在系统表和元数据之间提供了一个抽象层,使得我们不用直接查询系统表就能获得当前数据库对象的元数据。 常用的与元数据有关的系统存储过程有以下一些: 系统存储过程 描述 sp_columns 返回指定表或视图的列的详细信息。 sp_databases 返回当前服务器上的所有数据库的基本信息。 sp_fkeys 若参数为带有主键的表,则返回包含指向该表的外键的所有表;若参数为带有外键的表名,则返回所有同过主键/外键关系与该外键相关联的所有表。 sp_pkeys 返回指定表的主键信息。 sp_server_info 返回当前服务器的各种特性及其对应取值。 sp_sproc_columns 返回指定存储过程的的输入、输出参数的信息。 sp_statistics 返回指定的表或索引视图上的所有索引以及统计的信息。 sp_stored_procedures 返回当前数据库的存储过程列表,包含系统存储过程。 sp_tables 返回当前数据库的所有表和视图,包含系统表。 常用的与元数据有关的系统函数有以下一些: 系统函数 描述 COLUMNPROPERTY 返回有关列或过程参数的信息,如是否允许空值,是否为计算列等。 COL_LENGTH 返回指定数据库的指定属性值,如是否处于只读模式等。 DATABASEPROPERTYEX 返回指定数据库的指定选项或属性的当前设置,如数据库的状态、恢复模型等。 OBJECT_ID 返回指定数据库对象名的标识号 OBJECT_NAME 返回指定数据库对象标识号的对象名。 OBJECTPROPERTY 返回指定数据库对象标识号的有关信息,如是否为表,是否为约束等。 fn_listextendedproperty 返回数据库对象的扩展属性值,如对象描述、格式规则、输入掩码等。 由于我们无法直接利用到存储过程与函数的返回结果,因此只有在我们关心的只是查询的结果,而不需要进一步利用这些结果的时候,我们会使用系统存储过程与系统函数来查询元数据。 例如,如果要获得当前服务器上所有数据库的基本信息,我们可以在查询分析器里面运行: EXEC sp_databases GO 在返回结果中我们可以看到数据库的名称、大小及备注等信息。 但是如果要引用这部分信息,或者存储这部分信息以供后面使用,那么我们必须借助中间表来完成这个操作: CREATE TABLE #sp_result ( DATABASE_NAME sysname, DATABASE_SIZE int, REMARKS varchar(254) NULL ) GO INSERT INTO #sp_result EXEC (sp_databases) GO 使用信息架构视图访问元数据 信息架构视图基于 SQL-92 标准中针对架构视图的定义,这些视图独立于系统表,提供了关于 SQL Server 元数据的内部视图。信息架构视图的最大优点是,即使我们对系统表进行了重要的修改,应用程序也可以正常地使用这些视图进行访问。因此对于应用程序来说,只要是符合 SQL-92 标准的数据库系统,使用信息架构视图总是可以正常工作的。 常用的信息架构视图有以下一些: 信息架构视图 描述 INFORMATION_SCHEMA .CHECK_CONSTRAINTS 返回有关列或过程参数的信息,如是否允许空值,是否为计算列等。 INFORMATION_SCHEMA .COLUMNS 返回当前数据库中当前用户可以访问的所有列及其基本信息。 INFORMATION_SCHEMA .CONSTRAINT_COLUMN_USAGE 返回当前数据库中定义了约束的所有列及其约束名

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档