A mobile geodatabase (.geodatabase) is a collection of various types of GIS datasets contained in a single file on disk that can store, query, and manage spatial and nonspatial data. Mobile geodatabases are automatically available to all users of ArcGIS Pro and can be created using a variety of methods, including the Create Mobile Geodatabase geoprocessing tool and by creating a mobile geodatabase in a project folder. See Create a mobile geodatabase for the steps and for additional options to create a mobile geodatabase.
Mobile geodatabases are stored in an SQLite database, giving them the following advantages:
- SQLite is a widely available, stable, and trusted database.
- SQLite is open source in the public domain, so no licensing is required.
- SQLite databases are supported cross-platform and are stored in a single file on disk, making them portable and an efficient data exchange format.
- SQLite is a full-featured relational database allowing for querying and reporting workflows and supports operations such as views and indexes.
- SQLite is interoperable and is ubiquitous in mobile app development.
Mobile geodatabases use the Esri ST_Geometry spatial type. Using a SQL client, you can access your spatial data through SQL statements that implement the ISO SQL/MM Spatial Standard and the Simple Feature Specification of the OGC. Having SQL access to the data allows you to use other applications to query or generate reports on data stored in a mobile geodatabase. To learn how to enable the ST_Geometry extension, see Load ST_Geometry to a mobile geodatabase for SQL access.
Using SQL to alter or edit the data or schema of datasets stored within your mobile geodatabase could corrupt your schema.
Mobile geodatabases are the foundation for interoperable workflows between ArcGIS Pro and ArcGIS Runtime. In the future, mobile geodatabases will enable enhanced workflows and applications in ArcGIS Runtime and the Esri suite of mobile apps.
All mobile geodatabases are stored in SQLite databases, but not all SQLite databases are mobile geodatabases.
Mobile geodatabases contain system tables, indexes, triggers, and views that provide geodatabase functionality to work with simple features such as point, multipoint, multipatch, polygon, line geometries, and true curves.
The data you add to a mobile geodatabase can be stored in the following types of datasets:
- Feature classes
- Feature datasets
- Tables (nonspatial)
For information about feature class and table name lengths and other size limits, see Mobile geodatabase size and name limits.
The following geodatabase behaviors are supported in a mobile geodatabase:
- Attribute rules (immediate calculation and constraint rules)
- Contingent values
- Editor tracking
- Feature-linked annotation
- Relationship classes
Dataset properties in the mobile geodatabase can be accessed in both the Contents and Catalog panes in ArcGIS Pro. The Feature Class Properties dialog box is used to set the alias and the spatial and attribute indexes and is managed in the Catalog pane.
To open the Feature Class Properties dialog box, right-click a table or feature class in the Catalog pane or a Catalog view and click Properties. On the Properties dialog box, some properties are editable, while others are read-only.
There are only a few management tasks you perform on mobile geodatabases, including creating, renaming, and moving the geodatabase. Mobile geodatabases do not include authentication or authorization capabilities, are intended for use by one person or app at a time, and support undo and redo when editing. Any operations at the geodatabase level should be performed solely through ArcGIS. See Mobile geodatabases and locking processes for more information about how locks are applied while editing in a mobile geodatabase.
A mobile geodatabase (.geodatabase) is built on top of SQLite. SQLite is a self-contained database file format that stores the database in a single file on disk that can be located anywhere in the directory. This single file can contain up to 2 TB of data, is portable, and is supported across platforms.
SQLite database files have two names:
- The physical file name, which is the path to the database file name.
- The logical name, which is the SQLite database name used with SQL commands and is called main, regardless of the database file name.
An SQLite database path consists of the file path, database name, and file extension.
For example, if you use the Create Mobile Geodatabase geoprocessing tool to create a mobile geodatabase named Project1_data that is stored in subfolders on the C: drive of a Microsoft Windows operating system, the database path of this mobile geodatabase will look similar to the following: C:\GIS_Data\Projects\Mobile_Geodatabase\Project1_data.geodatabase.
Because SQLite is a relational database, you can use SQL in third-party software to access the contents of a mobile geodatabase. An SQLite database that is accessed using SQL uses a logical database name. When using SQL to access an SQLite database, the database named main is reserved for the primary database and is used regardless of the physical database file name. A qualified table name in SQLite will be main.<table name>, and a qualified column name in SQLite will be in the format <table name>.<column name> or <database name>.<table_name>.<column name>.
For example, if you're using SQL to get data from the Tax_Value and Owner_Name columns of the ParcelOwners table, use the following statement: SELECT Main.ParcelOwners.Owner_Name, Main.ParcelOwners.Tax_Value FROM Main.ParcelOwners.
Accessing the data in a mobile geodatabase through SQL does not require a license because the underlying software—SQLite—does not require a license.