A quick tour of working with databases in ArcGIS

You might have spatial or nonspatial data in a database that you want to use in ArcGIS. That database does not have to contain an enterprise geodatabase for you to connect directly to it from the Catalog tree in ArcGIS for Desktop.

The topics in the Database section of the help system describe what you can do with database data in ArcGIS. The following is a summary of that functionality:

Connecting to a database

The client machine from which you will connect to the database must have a database management system (DBMS) client on it. You can obtain the DBMS clients from your DBMS vendor. Client files can also be obtained from the Esri Customer Care Portal.

Once the database client is installed on a computer where ArcGIS for Desktop is installed, you can create a connection to the database from the Database Connections node in the Catalog tree. See Database connections in ArcGIS for Desktop for more information.

Viewing database data in ArcGIS

Once you have connected to your database from ArcGIS, you can view that data in ArcMap or ArcCatalog. To map spatial data or perform analysis on it, you can drag the table from your connection in the Catalog window in ArcMap to the table of contents. If necessary, define a unique identifier and spatial reference for spatial tables you add to the ArcMap table of contents. See Viewing database data in ArcGIS for more information.

Supported data types

To use the data with ArcGIS, the data types in your database table must map to those supported by ArcGIS. If your table contains columns of a data type not supported by ArcGIS, ArcGIS will not display the unsupported columns. When you move tables between databases or between databases and geodatabases using ArcGIS, unsupported data types will not be included in the destination database. See DBMS data types supported in ArcGIS for a list of supported data types per database management system.

Creating a query layer on database tables

You can define query layers on database tables in ArcMap to join tables or restrict the attributes that are displayed. See What is a query layer? for more information.

When you drag a database feature class into ArcMap, a query layer is created automatically and is defined to include all columns of supported data types in the table. The first row of the table is used to determine the entity type (point, line, or polygon), spatial reference, and dimensionality (that is, 2D or 3D). If you don't want to use those properties—for example, if you want to display the three-dimensional records in the table, but the first record is two dimensional—you can alter the query layer definition. See Modifying a query layer for more information.

Creating a read/write user

As the database administrator, you can use the Create Database User geoprocessing tool to create a user that has privileges sufficient to create database objects. See the tool topic for a list of the privileges granted to the user.

Creating a view in ArcGIS for Desktop

You can create a view on tables or feature classes in your database from ArcGIS for Desktop by right-clicking the database connection in the Catalog tree, pointing to New, then clicking View. In the Create New View dialog box, type an SQL query to define the view. See Creating a database view in ArcGIS for Desktop for more information. Alternatively, you can run the Create Database View geoprocessing tool to define a view.

Creating tables in a database from ArcGIS

You can create spatial and nonspatial tables in your database from ArcGIS for Desktop by right-clicking the database connection in the Catalog tree, pointing to New, then clicking Feature Class (for spatial tables) or Table (for nonspatial tables). The wizard that opens guides you through the creation of the table and allows you to define the columns in the table. See Creating a feature class in ArcGIS for Desktop and Creating a database table in ArcGIS for Desktop for more information.

Granting and revoking privileges on database tables

Table owners can use the Privileges dialog box in ArcGIS to grant privileges to or revoke them from other database users or roles. See Granting and revoking privileges on datasets for instructions.

Moving data between data sources

You can move data between databases or between a database and geodatabase in ArcGIS for Desktop. Options for moving data include copying tables from a source database and pasting them into a destination database or geodatabase, dragging tables from one database connection into another database or geodatabase connection, using the Simple Data Loader, or using one of the following geoprocessing tools:

Renaming tables

If your database management system allows it, you can change the name of an existing database table from ArcGIS. See Renaming tables for instructions.

Using ArcGIS to alter the schema of database tables

You can add fields to or drop fields from tables you own in the database from the Fields tab of the Table Properties or Feature Class Properties dialog box. See Altering database table schema for more information.

Managing indexes and statistics

You can use the Rebuild Indexes and Analyze Datasets tools to re-create indexes and update database statistics for the tables you own in the database.

Enabling geodatabase functionality in a database

You might decide at some point that you want to start using geodatabase functionality in your database, such as topology, networks, or versioned editing. You can create a geodatabase administrator user, then, connected to the database as that user, you can enable a geodatabase. This creates the system tables, types, procedures, and functions needed to use a geodatabase. See the topic specific to your DBMS for information:

New data you add through ArcGIS is automatically registered with the geodatabase once you have enabled a geodatabase in the database. You can also register existing database tables with the geodatabase if you want, or you can leave them unregistered and still access them through ArcGIS. For information on registering tables with the geodatabase, see Registering a table with the geodatabase.