暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s常用的系统表介绍

原创 一直在路上 2022-07-05
2563

1、SYSTABLES

systables 系统目录表对在数据库(包括系统目录的表和视图)中定义的每个表对象(表、
视图、同义词或 GBase 8s 中的序列)包含一行。
SYSTABLES 表列描述详见手册。

为 systables 表中记录的每个表、视图、序列和同义词指定 tabid,它是系统指定的、唯一标识该对象的 SERIAL 值。保留前 99 个 tabid 值用于系统目录。数据库中第一个用户定义的表对象的 tabid 始终为 100。

对 tabid 列建立了索引,且该列只包含唯一值。tabname 和 owner 列的组合索引也需要唯一值。

version 列包含创建新表时存储在 systables 中的已编码数字。当对表执行数据定义的语句(例如,ALTER INDEX、ALTER TABLE、DROP INDEX 和 CREATE INDEX)时,此值的一部分会增大。
在 flags 列中,ST_RAW 表示支持事务日志记录的数据库中的非日志记录永久表。
SQL_LOGICAL_CHAR 参数的设置会编码到描述 VERSION 表的行中的 systables.flags 列值。注意此由系统生成的表的标识中有一个前导空格。

要确定数据库是否启用可将逻辑字符语义应用到字符列声明的 SQL_LOGICAL_CHAR 配置参数,您可以执行以下查询:
SELECT flags INTO $value FROM ‘gbasedbt’.systables WHERE tabname = ‘VERSION’;

2、SYSUSERS

sysusers 系统目录表列出每单个用户的权限标识,或列出拥有数据库级别访问特权的PUBLIC 组的公共权限标识。此表还会列出拥有数据库中任何对象访问特权的每个角色的名称。

此系统目录表具有以下列:

image.png
image.png

3、SYSVIEWS

sysviews 系统目录表描述数据库中的每个视图。因为它存储创建视图的 SELECT 语句,所以对于每个视图,sysviews 可包含多行。它具有以下列。

image.png

tabid 和 seqno 列的组合索引只允许唯一值。

4 DUAL

DUAL 系统目录表是一个全局表。它具有以下列:
image.png

DUAL 表中只有一行数据:‘1’。任何用户都可以访问 DUAL 表,它只返回一行数据。可以使用它选择系统变量或求一个表达式的值。

5、SYSCONSTRAINTS

sysconstraints 系统目录表列出了对每个数据库表中的各个列设置的约束。在sysindexes 系统目录表(或 GBase 8s 的 sysindices 视图)中对在 sysindexes 或 sysindices中尚未有对应条目的每个唯一的主键或引用约束也设置了一个条目。由于索引可以共享,所以多个约束可以与一个索引相关联。

sysconstraints 表具有以下列。
image.png
constrname 和 owner 列的组合索引只允许唯一值。tabid 列的索引允许重复值,但constrid 列的索引只允许唯一值。

对于检查约束(其中 constrtype = C),idxname 始终为 NULL。有关每个检查约束的其他信息包括在 syschecks 和 syscoldepend 系统目录表中。

6、SYSCOLUMNS

系统目录表描述数据库中的每个列。列名详情参考手册。
image.png

7、SYSINDEXES

sysindexes 表是基于 sysindices 表的视图。它对数据库中的每个索引包含一行。sysindexes 列名详情参考手册。

对于大多数系统目录表,仅当运行了 UPDATE STATISTICS 语句之后才会在此表中反映影响现有索引的更改。

在对表运行 UPDATE STATISTICS 语句之前,clust 列是空白的。最大值是表中的行数,最小值是表中的数据页数。

8、SYSDISTRIB

sysdistrib 系统目录表存储数据分发信息以供查询优化器使用。数据分发为优化器提供了详细的表和列信息以改进 SELECT 语句的执行路径的选择。 以方式 MEDIUM 或 HIGH 对某张表执行 UPDATE STATISTICS 语句时,会将信息存储在 sysdistrib 表中。(UPDATE STATISTICS LOW 不会将值插入到 mode 列中。)

只有用户 gbasedbt 才能选择 encdat 列。列名详情参考手册。

sysdistrib 系统目录表中的每一行都使用 tabid 和 colno 列(为它们收集统计信息)作为键。

9、SYSTRIGGERS

systriggers 系统目录表包含有关数据库中 SQL 触发器的信息。此信息包括触发事件和触发器的相关引用规范。
image.png
trigname 和 owner 列的组合索引只允许唯一值。trigid 列的索引也需要唯一值。tabid列的索引允许重复值。

10、SYSEXTERNAL

sysroutinelangs 系统目录表列出了用户定义的例程 (UDR) 的受支持编程语言。它具有以下列。
image.png

11、SYSBLOBS

sysblobs 系统目录表指定了 BYTE 和 TEXT 列值的存储位置。其名称基于 BYTE 和TEXT 列的旧术语 Blob(也称为 简单大对象 ),但不是指 GBase 8s 的 BLOB 数据类型。

sysblobs 表包含了每个 BYTE 或 TEXT 列的一行,并具有以下列。
image.png
image.png

最后修改时间:2022-07-05 14:24:05
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论