When you connect to an enterprise geodatabase from an ArcGIS client or through an ArcGIS Server web service, you interact with the datasets that you or other databases users have added to the geodatabase. To track that data and to implement geodatabase behavior, enterprise geodatabases use system tables.
The system tables and their contents should not be altered using anything other than ArcGIS software or SDK. However, you can view the contents of the system tables using SQL.
Core system tables
Core geodatabase system tables enforce geodatabase behavior, store information about the geodatabase, and keep track of the user data stored in the geodatabase.
When you query an SAP HANA database that contains an enterprise geodatabase, you'll see the following core system tables in either the sde user's schema:
- GDB_ARCHIVES
- GDB_BRANCH_TABLES_MODIFIED
- GDB_BRANCHES
- GDB_COLUMN_REGISTRY
- GDB_DBTUNE
- GDB_CONFLICTS
- GDB_ITEMRELATIONSHIPS
- GDB_ITEMRELATIONSHIPTYPES
- GDB_ITEMS
- GDB_ITEMTYPES
- GDB_LAYER_LOCKS
- GDB_LAYERS
- GDB_LOCATORS (not used)
- GDB_LOCKS
- GDB_METADATA (not used)
- GDB_MULTIBRANCH_TABLES
- GDB_OBJECT_LOCKS
- GDB_PROCESS_INFORMATION
- GDB_RASTER_COLUMNS
- GDB_REPLICALOG (not used)
- GDB_SERVER_CONFIG
- GDB_SPATIAL_REFERENCES
- GDB_TABLE_LOCKS
- GDB_TABLE_REGISTRY
- GDB_TABLES_LAST_EDIT_TIME
- GDB_TABLES_LAST_MODIFIED
- GDB_TABLES_MODIFIED
- GDB_VERSION
Tables that implement enterprise geodatabase functionality
Information for some geodatabase functionality is stored in core system tables only. For example, information for the following functionality is stored in core system tables, and no additional tables are created in the database when you define or enable this functionality on user data:
- Attribute rules—Stored in the GDB_ITEMS system table.
- Branch versions—Six fields are added to the table or feature class business table when it is registered to participate in branch versioning to track edits.
- Domains—Stored in the GDB_ITEMS system table. A field in the GDB_ITEMTYPES system table identifies the object as a domain.
- Relationship classes—Stored in the GDB_ITEMS and GDB_ITEMRELATIONSHIPS system tables.
The geodatabase functionality described in the following sections, however, creates additional internal tables when you enable or make use of the functionality.
Geodatabase archives
You can track transaction time history for your data using geodatabase archiving. Transaction time represents the moment in time when the feature was added to, deleted from, or updated in the database.
When you enable geodatabase archiving, an archive class is created. An archive class is a copy of the business table and contains all the same fields plus three new fields: GDB_FROM_DATE, GDB_TO_DATE, and GDB_ARCHIVE_OID. When you enable archiving on a table or feature class that participates in a traditional version, a record is also added to the GDB_SDE_ARCHIVES system table. This record stores the registration IDs of the table that was enabled for archiving and its associated archive class table.
The name of the archive class table is the same as the original business table name with an underscore and H appended to it. For example, if a feature class named buildings is enabled for archiving, an archive class, buildings_H, is created. This archive class table is stored in the same schema as the business table.
Keyset tables
Keyset tables are used by ArcGIS clients to improve query performance. Keyset tables store a list of selected rows when an ArcGIS client executes a geodatabase relationship query that joins tables using attributes that are type integer, number, date, or string. They accommodate joins using attributes other than the Object ID field.
No keyset tables are present in the geodatabase until you perform one of the following operations:
- Select more than 99 records from a feature class in a map in ArcGIS Pro, and the feature class is involved in a relationship class.
- In ArcGIS Pro, open the attribute table of a feature class that is involved in a relationship class and retrieve the related table.
Keyset tables in SAP HANA are stored as local temporary tables in the schema of the user who causes the keyset table to be created.
Log file tables
Log file tables are used by ArcGIS clients to improve query performance by storing lists of selected rows. Log file tables use joins based on Object ID attributes.
Log file tables in SAP HANA are created on a per-session basis as local temporary tables in the schema of the user who causes it to be created.