# SYSTEMTABLEFOREIGNKEYS: Data Dictionary Foreign Keys
Foreign keys per table per data container, one row per column of a foreign key.
- Catalog: `DataDictionary`
- Schema: `Invantive`
- Alias: `tfk`
- Label: Foreign Keys
This is a read-only view. The Data Dictionary API may not support changing the data or the Invantive UniversalSQL driver for Data Dictionary does not cover it. In the latter case, please use the table NativePlatformScalarRequests to upload data to the Data Dictionary API.
Lists the foreign keys the driver knows of the tables it has loaded the metadata of. The guarantee tells whether the engine may trust a foreign key to leave out an inner join: 'Declared' foreign keys are shown but not relied upon.
## View Columns
The columns of the view `SYSTEMTABLEFOREIGNKEYS` are shown below. Each column has an SQL data type.
| Name | Data Type | Label | Required | Documentation |
|---|:---:|---|:---:|---|
| `COLUMN_NAME` | `varchar2`(240) | Column Name | ☑ | Name of the column. |
| `COLUMN_POSITION` | `int32` | Column Position | ☑ | Position of the column within the key, starting at 1. |
| `ID` | `int32` | ID | | Unique ID of the row. |
| `KEY_COLUMN_COUNT` | `int32` | Columns | ☑ | Number of columns of the key. |
| `KEY_GUARANTEE` | `varchar2`(60) | Key Status | ☑ | What holds the key: 'Declared' (not relied upon), 'Enforced' or 'EnforcedIgnoringTrailingBlanks' (enforced, comparing texts without their trailing blanks). |
| `KEY_NAME` | `varchar2`(240) | Key Name | ☐ | Name of the key, when known. |
| `PROVIDER_DATA_CONTAINER_ALIAS` | `varchar2`(4000) | Data Container Alias | ☐ | Data container alias. |
| `PROVIDER_DATA_CONTAINER_ID` | `varchar2`(4000) | Data Container ID | ☐ | Data container ID. |
| `PROVIDER_DESCRIPTION` | `varchar2`(16000) | Provider Description | ☑ | Provider description. |
| `PROVIDER_INSTANCE_UID` | `guid` | Provider Instance UID | ☑ | Unique ID of the provider instance. |
| `PROVIDER_NAME` | `varchar2`(240) | Provider Name | ☑ | Name of the provider. |
| `PROVIDER_SHORT_NAME` | `varchar2`(240) | Provider Short Name | ☑ | Provider short name. |
| `REFERENCED_COLUMN_NAME` | `varchar2`(240) | Reference Column Name | ☑ | Name of the column referred to, at the same position in the key referred to. |
| `REFERENCED_TABLE_NAME` | `varchar2` | Reference Table | ☑ | Name of the table referred to. |
| `REFERENCED_TABLE_SCHEMA_NAME` | `varchar2` | Reference Schema | ☐ | Schema of the table referred to, when known. |
| `TABLE_CATALOG_NAME` | `varchar2` | Table Catalog | | Catalog where the tables are contained in. |
| `TABLE_FULL_QUALIFIED_NAME` | `varchar2`(240) | Table Full Qualified Name | | Full qualified name. |
| `TABLE_NAME` | `varchar2` | Table Name | ☑ | Name of the table or view. |
| `TABLE_SCHEMA_NAME` | `varchar2` | Table Schema | | Schema within the catalog where the table is contained in. |
| `TABLE_TYPE` | `varchar2` | Table Type | | Type, can be either 'view' or 'table'. |