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

ArcSDE for SQL Server Express (included with ArcGIS Desktop [ArcEditor or ArcInfo], ArcGIS Engine, and ArcGIS Server at the Workgroup level)

Microsoft SQL Server Express Edition

ArcSDE geodatabase support included with ArcGIS Server at the Enterprise level. (This requires that you acquire your own DBMS, except in the case of ArcSDE for PostgreSQL, which includes an installation of PostgreSQL.)

  • IBM DB2—Enterprise Server Edition
  • IBM Informix Dynamic Server—Workgroup or Enterprise Edition
  • Oracle—Standard One, Standard, or Enterprise Edition. (Oracle Spatial or Oracle Locator can be used as an option to store geometry, as can the ISO spatial type.)
  • PostgreSQL
  • Microsoft SQL Server—Workgroup, Standard, or Enterprise Edition

geodatabase vs. DBMS

Storing and managing spatial data


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 ArcSDE geodatabases to get started.

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