您的位置:首页 > 其它

DB2的数据字典

2011-03-11 10:26 260 查看
每个数据库都有它自己的系统目录表和视图。它们存储关于数据对象的元数据。你可以像使用

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

? 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

这两个视图显示被注册的包装器和它们特定的选项
ServersSYSCAT.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'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: