13590--北极燕鸥


   博采众长,信誉卓著

导航

DB2的数据字典

Posted on 2011-03-11 10:26  北极燕鸥  阅读(2580)  评论(0编辑  收藏  举报

每个数据库都有它自己的系统目录表和视图。它们存储关于数据对象的元数据。你可以像使用

普通的数据库表一样查询这些表。有三种模式用来识别系统目录表: 

? SYSIBM: 基本表, 对 DB2使用进行最优化 

? SYSCAT: 基于SYSIBM表的视图, 对平常轻负荷使用进行优化 

? SYSSTAT: 数据库分析 

 

 

 

 

(一下具体表列明详细注解请见《DB2应该开发教程》)
SYSIBM.SYSCHECKS : 存放系统中的CHECK约束的信息,系统为每个表的每一个CHECK约束建立一条记录。
SYSIBM.SYSCOLUMNS:表中存放有系统中所有表的数据列的描述信息,系统为DB2里定义的每个表的每一行建立                  一条记录。
SYSIBM.SYSDATABASE:系统为每个DATABASE保存一条记录
SYSIBM.SYSFOREIGNKEYS:为每个FOREIGN KEY约束建立一条记录
SYSIBM.SYSINDEXES: 为每个索引建立一条记录。
SYSIBM.SYSKEYS: 系统为每个INDEX的每个键值创建一条记录。
SYSIBM.SYSTABLES:系统为每一个表,视图和别名在该表中创建一行记录。

 

 

SYSIBM.SYSPACKSTMT    每个PACKAGE 中的每条SQL语句有一条记录
SYSIBM.SYSPACKAGE     每个PACKAGE有一条记录
SYSIBM.SYSPACKLIST    每个PLAN相关的每个PACKAGE LIST有一条或一条以上记录
SYSIBM.SYSPLAN        每个PLAN有一条记录

 

 

 联邦对象  SYSCAT 编目视图  描述
 包装器  SYSCAT.WRAPPERS

 

  SYSCAT.WRAPOPTIONS

 这两个视图显示被注册的包装器和它们特定的选项
 Servers  SYSCAT.SERVERS

 

  SYSCAT.SERVEROPTIONS

 这两个视图显示被注册的远程数据源和它们的特定选项
 用户映射  SYSCAT.USEROPTIONS  这个视图显示被注册的一个 DB2 用户用于特定服务器的用户认证。密码设置存储在 encrypted 中
 昵称  SYSCAT.TABLES

 

  SYSCAT.TABOPTIONS

  SYSCAT.COLUMNS

  SYSCAT.COLOPTIONS

  SYSCAT.INDEXES

  SYSCAT.INDOPTIONS

  SYSCAT.INDEXCOLUSE

  SYSCAT.KEYCOLUSE

 这组视图显示和被注册昵称相关的信息

 

  在 SYSCAT.TABLES 中,昵称是通过被设为“N”的 TYPE 来标识的。

  SYSCAT.TABOPTIONS 显示关于昵称的特定选项

  SYSCAT.COLOPTIONS 显示关于昵称列的特定选项

  SYSCAT.INDEXCOLUSE 列出参与一个索引的列

  SYSCAT.KEYCOLUSE 存储关于主键的信息

 索引规范  SYSCAT.INDEXES

 

  SYSCAT.INDEXCOLUSE

 这两个视图显示为昵称创建的索引规范
信息约束  SYSCAT.TABCONST

 

  SYSCAT.CHECKS

  SYSCAT.COLCHECKS

  SYSCAT.CONSTDEP

  SYSCAT.REFERENCES

 这组视图显示为昵称定义的信息约束

 

  SYSCAT.TABCONST 显示每个定义的约束

  SYSCAT.CHECKS 和 SYSCAT.COLCHECKS 显示关于检查约束的信息

  SYSCAT.CONSTDEP 列出约束所依赖的对象

  SYSCAT.REFERENCES 列出参照约束

 类型映射  SYSCAT.TYPEMAPPINGS  这个视图显示在昵称注册和远程表创建中使用的用户定义类型映射。默认的内置类型映射不存储在这个编目视图中
 函数模板  SYSCAT.FUNCTIONS

 

  SYSCAT.ROUTINES

 这两个视图显示被注册的用户定义函数

 

  在 V8 中,SYSCAT.ROUTINES 取代了 SYSCAT.FUNCTIONS(SYSCAT.FUNCTIONS 仍然存在,但是文档中没有说明)

 函数映射  SYSCAT.FUNCMAPPINGS

 

  SYSCAT.FUNCMAPOPTIONS

  SYSCAT.FUNCMAPPARMOPTIONS

 这些视图显示用于将一个本地函数映射为远程函数的用户定义函数映射
 Passthru 权限  SYSCAT.PASSTHRUAUTH  这个视图显示允许用户使用 PASSTHRU 查询特定服务器的授权

 

例如:

SELECT   DISTINCT   NAME   FROM   SYSIBM.SYSTABLES   WHERE   CREATOR   ='ADMINISTRATOR'

select * from syscat.ROUTINES where owner = 'ADMINISTRATOR'
select * from syscat.TABLES where owner = 'ADMINISTRATOR'
select * from syscat.VIEWS where owner = 'ADMINISTRATOR'
select * from syscat.SEQUENCES where owner = 'ADMINISTRATOR'