4DのSQLカタログには複数のシステムテーブルが含まれていて、読み込み権限を持つ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 |
| LOGGED | BOOLEAN | オペレーションがログファイルに含まれているなら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=自動, 8=自動 (オブジェクト型フィールド用)) |
| KEYWORD | BOOLEAN | インデックスがキーワードインデックスであればTrue、そうでなければFalse |
| 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という名前の特別なスキーマが割り当てられます。このスキーマを修正・削除することはできません。このスキーマは、テーブルインスペクタパレットに表示されるスキーマリストには含まれません。すべてのユーザは、読み込み専用でこのスキーマにアクセスできます。