How are geodatabases stored in a DBMS?

Many geodatabases utilize relational databases such as Oracle, IBM DB2, or Microsoft SQL Server for data storage and management of geographic information. This enables the geodatabase to be scaled to extremely large sizes and support a large number of users and editors. These geodatabases also support a number of critical data management workflows, such as versioning, replication, and historical archiving.

Physical storage of geodatabases

The primary mechanism for geodatabase storage is via tables. Tables are stored either as files on disk or within the contents of a DBMS as follows:

Type of geodatabase

Data storage method

Personal geodatabase

Microsoft Access

File geodatabase

A file system folder containing data files

Desktop geodatabase (included with ArcGIS for Desktop [Standard or Advanced], and ArcGIS Engine with Geodatabase Update) and workgroup geodatabase (ArcGIS for Server at the Workgroup level)

Microsoft SQL Server Express Edition

Enterprise geodatabase (included with ArcGIS for Server at the Enterprise level. This requires that you acquire your own DBMS.)

  • IBM DB2
  • IBM Informix Dynamic Server
  • Oracle
  • PostgreSQL
  • Microsoft SQL Server

See the RDBMS System Requirements for specific version information.

geodatabase vs. DBMS

Storing and managing spatial data

Tables

Geodatabase storage in a DBMS contains two sets of tables—dataset tables (user-defined tables) and system tables.

System tables, which use XML documents for some columns, and dataset tables, which can use SQL type columns, are shown in a geodatabase

The internal structure of these tables was restructured beginning with the ArcGIS 10 release. The information related to the schema in the geodatabase, which prior to ArcGIS 10 was stored in over 35 geodatabase system tables, was consolidated into four main tables:

For example, a simple feature class stored in a geodatabase within a SQL Server DBMS using binary geometry storage is made up of a business table, an associated feature (f) table, and a spatial index (s) table. These tables work with a set of system tables: the i table, the gdb_items, sde_table_registry, sde_layers, and sde_spatial_references system tables. These are used to track information about the feature class.

Each DBMS has a slight variation in the set of tables and columns used to store and manage a geodatabase. The type of DBMS you are using to store your geodatabase impacts the physical storage schema.

Additional files

Geodatabases also use triggers, functions, stored procedures, and user-defined types in the DBMS to implement functionality and maintain consistency. A detailed discussion of these is not necessary, since you would not need to interact with most of these database objects.

If you are interested in accessing the information in your geodatabase using SQL, see A quick tour of using SQL with enterprise geodatabases to get started.

For more information on the dataset and system table structure, see the following topics:

4/14/2014