4DのSQLカタログには7個のシステムテーブルが含まれていて、読み込み権限を持つSQLユーザがアクセス可能です。システムテーブルには以下があります: _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER _CONS_ COLUMNS, _USER_SCHEMAS, _USER_VIEWS そして _USER_VIEW_COLUMNS
SQLの慣習に従い、システムテーブルはデータベースストラクチャを記述します。以下はシステムテーブルに関する説明とフィールドです:
_USER_TABLES | | データベースのユーザテーブルを記述します |
TABLE_NAME | VARCHAR | テーブル名 |
TEMPORARY | BOOLEAN | テーブルが一時的の場合True、そうでなければFalse |
TABLE_ID | INT64 | テーブル番号 |
SCHEMA_ID | INT32 | スキーマ番号 |
REST_AVAILABLE | BOOLEAN | 列がRESTサービスで公開されていればTrue、それ以外ならFalse |
_USER_COLUMNS | | データベースのユーザテーブルのカラムを記述します |
TABLE_NAME | VARCHAR | テーブル名 |
COLUMN_NAME | VARCHAR | カラム名 |
DATA_TYPE | INT32 | カラムタイプ |
DATA_LENGTH | INT32 | カラム長 |
NULLABLE | BOOLEAN | カラムがNULLを受け入れる場合True、そうでなければFalse |
TABLE_ID | INT64 | テーブル番号 |
COLUMN_ID | INT64 | カラム番号 |
UNIQUENESS | BOOLEAN | 列が重複不可属性であればTrue、そうでなければFalse |
AUTOGENERATE | BOOLEAN | 列の値が自動的に生成されたのであればTrue、そうでなければFalse |
AUTOINCREMENT | BOOLEAN | 列の値が自動的インクリメントであればTrue、そうでなければFalse |
REST_AVAILABLE | BOOLEAN | 列がRESTサービスで公開されていればTrue、そうでなければFalse |
_USER_INDEXES | | データベースのユーザインデックスを記述します |
INDEX_ID | VARCHAR | インデックス番号 |
INDEX_NAME | VARCHAR | インデックス名 |
INDEX_TYPE | INT32 | インデックスタイプ (1=Bツリー / 複合, 3=クラスタ / キーワード, 7=自動) |
TABLE_NAME | VARCHAR | インデックスがはられたテーブル名 |
UNIQUENESS | BOOLEAN | インデックスが重複不可の制約を課す場合True、そうでなければFalse |
TABLE_ID | INT64 | インデックスがはられたテーブル番号 |
_USER_IND_COLUMNS | | データベースのユーザインデックスのカラムを記述します |
INDEX_ID | VARCHAR | インデックス番号 |
INDEX_NAME | VARCHAR | インデックス名 |
TABLE_NAME | VARCHAR | インデックスがはられたテーブル名 |
COLUMN_NAME | VARCHAR | インデックスがはられたフィールド名 |
COLUMN_POSITION | INT32 | インデックス中のカラムポジション |
TABLE_ID | INT64 | インデックスがはられたテーブル番号 |
COLUMN_ID | INT64 | カラム番号 |
_USER_CONSTRAINTS | | データベースの整合性制約を記述します |
CONSTRAINT_ID | VARCHAR | 制約番号 |
CONSTRAINT_NAME | VARCHAR | 制約定義に割り当てられた名前 |
CONSTRAINT_TYPE | VARCHAR | 制約定義のタイプ (P=主キー、R=参照整合性 - 外部キー、4DR=4Dリレーション) |
TABLE_NAME | VARCHAR | 制約定義付きのテーブル名 |
TABLE_ID | INT64 | 制約付きのテーブル番号 |
DELETE_RULE | VARCHAR | 参照制約の削除ルール – CASCADEまたはRESTRICT |
RELATED_TABLE_NAME | VARCHAR | リレートしたテーブル |
RELATED_TABLE_ID | INT64 | リレートしたテーブルの番号 |
_USER_CONS_COLUMNS | | データベースのユーザ制約のカラムを記述します |
CONSTRAINT_ID | VARCHAR | 制約番号 |
CONSTRAINT_NAME | VARCHAR | 制約名 |
TABLE_NAME | VARCHAR | 制約のあるテーブル名 |
TABLE_ID | INT64 | 制約のあるテーブル番号 |
COLUMN_NAME | VARCHAR | 制約のあるカラム名 |
COLUMN_ID | INT64 | 制約のあるカラム番号 |
COLUMN_POSITION | INT32 | 制約のあるカラムのポジション |
RELATED_COLUMN_NAME | VARCHAR | 制約中リレートしたカラムの名前 |
RELATED_COLUMN_ID | INT32 | 制約中リレートしたカラムの番号 |
_USER_SCHEMAS | | データベースのスキーマを記述します |
SCHEMA_ID | INT32 | スキーマ番号 |
SCHEMA_NAME | VARCHAR | スキーマ名 |
READ_GROUP_ID | INT32 | 読み込みのみアクセスをもつグループ番号 |
READ_GROUP_NAME | VARCHAR | 読み込みのみアクセスをもつグループ名 |
READ_WRITE_GROUP_ID | INT32 | 読み書きアクセスをもつグループ番号 |
READ_WRITE_GROUP_NAME | VARCHAR | 読み書きアクセスをもつグループ名 |
ALL_GROUP_ID | INT32 | フルアクセスをもつグループ番号 |
ALL_GROUP_NAME | VARCHAR | フルアクセスをもつグループ名 |
_USER_VIEWS | | データベースユーザーのビューを記述します |
VIEW_NAME | VARCHAR | ビュー名 |
SCHEMA_ID | INT32 | ビューが含まれるschema_nameのID |
_USER_VIEW_COLUMNS | | データベースユーザのビューの列を記述します |
VIEW_NAME | VARCHAR | ビュー名 |
COLUMN_NAME | VARCHAR | 列名 |
DATA_TYPE | INT32 | 列の型 |
DATA_LENGTH | INT32 | 列のサイズ |
NULLABLE | BOOLEAN | 列がヌル値の入力を受け入れる場合にはTrue、そうでなければFalse |
Note: システムテーブルには、SYSTEM_SCHEMAという名前の特別なスキーマが割り当てられます。このスキーマを修正・削除することはできません。このスキーマは、テーブルインスペクタパレットに表示されるスキーマリストには含まれません。すべてのユーザは、読み込み専用でこのスキーマにアクセスできます。