O catálogo SQL de 4D inclui várias tabelas sistema, acessíveis por todo usuário SQL que tenha acesso de leitura: _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER _CONS_ COLUMNS, _USER_SCHEMAS,  _USER_VIEWS y _USER_VIEW_COLUMNS. 
Conforme aos usos no mundo SQL, as tabelas sistema descrevem a estrutura do banco de dados. Esta é uma descrição destas tabelas e seus campos: 
| _USER_TABLES |  | Descreve as tabelas usuário da base | 
| TABLE_NAME | VARCHAR | Nome de tabela | 
| TEMPORARY | BOOLEAN | True se a tabela é temporal; caso contrário, false | 
| TABLE_ID | INT64 | Número de tabela | 
| SCHEMA_ID | INT32 | Número de esquema | 
REST_AVAILABLEBOOLEANTrue se a coluna está exposta com o serviço REST; caso contrário, False[#/table]
| _USER_COLUMNS |  | Descreve as colunas das tabelas usuários da base | 
| TABLE_NAME | VARCHAR | Nome de tabela | 
| COLUMN_NAME | VARCHAR | Nome de coluna | 
| DATA_TYPE | INT32 | Tipo de coluna | 
| DATA_LENGTH | INT32 | comprimento da coluna | 
| NULLABLE | BOOLEAN | True se a coluna aceita valores NULL; caso contrário, false | 
| TABLE_ID | INT64 | Número de tabela | 
| COLUMN_ID | INT64 | Número de coluna | 
UNIQUENESSBOOLEANTrue se a coluna se declara única; caso contrário, False
AUTOGENERATEBOOLEANTrue  se o valor da coluna é gerado automaticamente para cada novo  registro; caso contrário, False
AUTOINCREMENTBOOLEANTrue se o valor da coluna se incrementa automaticamente; caso contrário, False
REST_AVAILABLEBOOLEANTrue se a coluna está exposta com o serviço REST; caso contrário, False[#/table]
| _USER_INDEXES |  | Descreve os índices usuários do banco | 
| INDEX_ID | VARCHAR | Número de índice | 
| INDEX_NAME | VARCHAR | Nome de índice | 
| INDEX_TYPE | INT32 | Tipo de índice (1=BTree / Composite, 3=Cluster / Palavras chaves, 7=Auto) | 
| KEYWORD | BOOLEAN | True se o índice é um índice de palavras chaves; caso contrário, False | 
| TABLE_NAME | VARCHAR | Nome da tabela com índice | 
| UNIQUENESS | BOOLEAN | True se o índice impõe uma restrição de singularidade; caso contrário, false | 
| TABLE_ID | INT64 | Número de tabela com índice | 
| _USER_IND_COLUMNS |  | Descreve as colunas de índices usuários do banco | 
| INDEX_ID | VARCHAR | Número de índice | 
| INDEX_NAME | VARCHAR | Nome de índice | 
| TABLE_NAME | VARCHAR | Nome de tabela com índice | 
| COLUMN_NAME | VARCHAR | Nome de coluna com índice | 
| COLUMN_POSITION | INT32 | Posição de coluna no índice | 
| TABLE_ID | INT64 | Número de tabela com índice | 
| COLUMN_ID | INT64 | Número de coluna | 
| _USER_CONSTRAINTS |  | Descreve as restrições usuários do banco | 
| CONSTRAINT_ID | VARCHAR | Número de restrição | 
| CONSTRAINT_NAME | VARCHAR | Nome de restrição | 
| CONSTRAINT_TYPE | VARCHAR | Tipo de restrição (P=chave primária, R=integridade referencial - chave estrangeira, 4DR=relação 4D) | 
| TABLE_NAME | VARCHAR | Nome de tabela com restrição | 
| TABLE_ID | INT64 | Número de tabela com restrição | 
| DELETE_RULE | VARCHAR | Regra de supressão – CASCADE ou RESTRICT | 
| RELATED_TABLE_NAME | VARCHAR | Nome de tabela relacionada | 
| RELATED_TABLE_ID | INT64 | Número de tabela relacionada | 
| _USER_CONS_COLUMNS |  | Descreve as colunas de restrições usuários do banco | 
| CONSTRAINT_ID | VARCHAR | Número de restrição | 
| CONSTRAINT_NAME | VARCHAR | Nome de restrição | 
| TABLE_NAME | VARCHAR | Nome de tabela com restrição | 
| TABLE_ID | INT64 | Número de tabela com restrição | 
| COLUMN_NAME | VARCHAR | Nome de coluna com restrição | 
| COLUMN_ID | INT64 | Número de coluna com restrição | 
| COLUMN_POSITION | INT32 | Posição de coluna com restrição | 
| RELATED_COLUMN_NAME | VARCHAR | Nome de coluna relacionada em uma restrição | 
| RELATED_COLUMN_ID | INT32 | Número de coluna relacionada em uma restrição | 
| _USER_SCHEMAS |  | Descreve os esquemas do banco | 
| SCHEMA_ID | INT32 | Número do esquema | 
| SCHEMA_NAME | VARCHAR | Nome do esquema | 
| READ_GROUP_ID | INT32 | Número do grupo com acesso só a leitura | 
| READ_GROUP_NAME | VARCHAR | Nome do grupo com acesso a leitura-escritura | 
| READ_WRITE_GROUP_ID | INT32 | Número do grupo com acesso a leitura-escritura | 
| READ_WRITE_GROUP_NAME | VARCHAR | Nome do grupo having read-write access | 
| ALL_GROUP_ID | INT32 | Número do grupo com acesso completo | 
| ALL_GROUP_NAME | VARCHAR | Nome do grupo com acesso completo | 
 | _USER_VIEWS |  | Descreve as vistas dos usuários do banco | 
| VIEW_NAME | VARCHAR | Nome de vista | 
| SCHEMA_ID | INT32 | ID do nom_schema ao qual pertence a vista | 
 | _USER_VIEW_COLUMNS |  | Descreve as colunas das vistas dos usuários do banco | 
| VIEW_NAME | VARCHAR | Nome de vista | 
| COLUMN_NAME | VARCHAR | Nome de coluna | 
| DATA_TYPE | INT32 | Tipo de coluna | 
| DATA_LENGTH | INT32 | Tamanho de coluna | 
| NULLABLE | BOOLEAN | True se coluna aceita os valores NULL; caso contrário, False | 
 Nota: As tabelas sistema são atribuídas a um esquema particular chamado SYSTEM_SCHEMA. Este esquema não pode ser modificado ou apagado. Não aparece na lista de esquemas mostrada no inspetor de tabelas. É acessível em modo leitura unicamente por todos os usuários.