在创建db2数据库的时候,会创建一些系统表,这些表记录了所有数据库的对象(表、视图等),它们都在模式sysibm下面,并且均以sys开头,如systables、sysviews、sysindexes等,同时也为这些表建立了相应的视图,这些视图在模式syscat下面。
官方说法如下,
sysibm 系统数据字典表(基本表)
syscat 系统视图
简单讲:系统相关数据都放在sysibm表里面,syscat是基于sysibm的一组视图,一般来讲建议访问syscat看相关系统数据。
系统数据是相对于你的应用数据而言的,比如表的定义之类的都在里面,但是你的业务数据都在你自己生成的表里面,当然你也不会用这些个系统schema。
下面通过syscat模式下的视图详细介绍系统对象信息:
视图1 SYSCAT.TABLES
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有一条记录。
表: select * from syscat.systables where Type = 'T'
模式: select * from syscat.schema || SELECT * FROM SYSIBM.SYSSCHEMATA
用户: select * from syscat.dbauth ||
权限: select * from syscat.tabauth
select tabname,card from syscat.tables where tabschema = 'you table schema'
tabname 表名
card 总行数
更加详细资料:IBM Developer
本文发布于:2024-02-02 10:29:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684095743203.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |