DB2 中的各种系统表介绍

2025-08-14 20:21:13

表 1. SYSCAT.TABLES 视图的说明

列名数据类型描述

TABSCHEMA

VARCHAR(128)

记录 schema 的名字

TABNAME

VARCHAR(128)

记录数据库对象的名称。包括表、视图、别名等

TYPE

CHAR(1)

表示该数据库对象是表,视图还是别名 ('T'表示table; 'V'表示 view; 'N' 表示nickname; 'A' 表示 alias。)

COLCOUNT

SMALLINT

表或视图中列的个数

……

SYSCAT.VIEWS:视图的定义信息。详细说明见表 2。

表 2. SYSCAT.VIEWS 视图的说明

列名数据类型描述

VIEWSCHEMA

VARCHAR(128)

视图的 Schema

VIEWNAME

VARCHAR(128)

视图名称

READONLY

CHAR(1)

视图是否只读:

Y = 视图是只读

N = 视图不是只读

VALID

CHAR(1)

视图状态是否合法:

Y = 视图状态合法(valid)

X = 视图状态不合法(invalid)

TEXT

CLOB (64K)

视图的源程序(DDL)

……

SYSCAT.ROUTINES:DB2 UDF,系统方法(system-generated method),用户定义方法(user-defined method)和存储过程(SP)的定义。我们可以认为该视图包含了数据库中程序的定义。见表 3。

表 3. SYSCAT.ROUTINES 视图的说明

列名数据类型描述

ROUTINESCHEMA

VARCHAR(128)

记录程序的 schema

ROUTINENAME

VARCHAR(128)

记录程序名称

ROUTINETYPE

CHAR(1)

记录程序类型:

F = Function

M = Method

P = Procedure

SPECIFICNAME

VARCHAR(128)

程序实例的名称(可以指定,也可以由系统自动生成)

VALID

CHAR(1)

如果存储过程依赖的一些对象被删除或修改了,该存储过程必须要被重建

Y = SQL 存储过程是合法的

N = SQL 存储过程是非法的

X = SQL 存储过程是不可操作的

TEXT

CLOB(1M)

如果是用 SQL 编写的程序,该字段记录了其创建的 DDL

表 4 所示的 SYSCAT.ROUTINEDEP 说明了 DB2 UDF与其他对象的依赖关系。

表 4. SYSCAT.ROUTINEDEP 视图的说明

列名数据类型描述

ROUTINESCHEMA

VARCHAR(128)

依赖于其他对象的 DB2 程序的 schema

ROUTINENAME

VARCHAR(128)

依赖于其他对象的 DB2 程序的名称

BTYPE

CHAR(1)

依赖对象的类型:

A = Alias

S = Materialized query table

T = Table

V = View

BSCHEMA

VARCHAR(128)

被依赖的对象的 schema

BNAME

VARCHAR(128)

被依赖的对象的名称

表 5 所示的 SYSCAT.COLUMNS 说明了表或视图的每一个列的信息。

表 5. SYSCAT.COLUMNS 视图的说明

列名数据类型描述

TABSCHEMA

VARCHAR(128)

表或视图的 Schema

TABNAME

VARCHAR(128)

表或视图名称

COLNAME

VARCHAR(128)

列名称

KEYSEQ

SMALLINT

记录列在其表的主键的位置

表 6 所示的 SYSCAT.PACKAGEDEP 说明了 Pachage 与其他数据库对象的依赖关系。

表 6. SYSCAT.PACKAGEDEP 视图的说明

列名数据类型描述

PKGSCHEMA

VARCHAR(128)

Package 的 schema

PKGNAME

VARCHAR(18)

Package 的名称

BTYPE

CHAR(1)

依赖对象的类型:

A = Alias

B = Trigger

I = Index

S = Materialized query table

T = Table

V = View

BSCHEMA

VARCHAR(128)

被依赖的对象的 schema

BNAME

VARCHAR(128)

被依赖的对象的名称

表 7 所示的 SYSCAT.TABDEP 说明了视图或者固化视图和 DB2 对象之间的依赖关系。

表 7. SYSCAT.TABDEP 视图的说明

列名数据类型描述

TABSCHEMA

VARCHAR(128)

视图或者固化视图的 schema

TABNAME

VARCHAR(128)

视图或者固化视图的名称

DTYPE

CHAR(1)

视图的类型:

S = Materialized query table

V = View (untyped)

W = Typed view

BTYPE

CHAR(1)

依赖对象的类型:

A = Alias

S = Materialized query table

T = Table

V = View

BSCHEMA

VARCHAR(128)

被依赖的对象的 schema

BNAME

VARCHAR(128)

被依赖的对象的名称