This blog will give you information about the ability to register database views with the geodatabase at 10.5.
ArcGIS allows access to database views and tables that are not registered with the geodatabase via a query layer. An unregistered view within a geodatabase can be a view that is created using DBMS client tools or via the Create Database View tool.
Many users that work with enterprise geodatabases and database views have requested the ability to register views with the geodatabase. This will store information about the database view within the geodatabase system tables to allow the user experience with views to be similar for viewing and querying geodatabase tables and feature classes.
At the 10.5 release the Register with Geodatabase tool has been enhanced with additional parameters and now allows the registration of views with the geodatabase. You will also notice the right click Manage > Register with Geodatabase context menu for unregistered objects will now open the Register with Geodatabase tool.
The process of creating a registered view:
1. Create a view using DBMS client tools or Create database view geoprocessing tool
2. Register with Geodatabase using Register with geodatabase geoprocessing tool
The registration process requires a view to exist that is created via the database client tools, or by using the Create Database View tool. After the view exists the view can be registered using the Register with Geodatabase tool. The right click context menu from existing database views will also open the Register with Geodatabase tool with some of the initial parameters populated. Depending on the type of columns and if the view contains existing records parameters are pre-populated when opening the tool from the right click context menu. Not all tables or views are good candidates to register with the geodatabase, so this two-step process allows users the flexibility to interact with unregistered database views via a query layer and optionally register with the geodatabase.
After the database view is registered with the geodatabase it will appear the same as a geodatabase table or feature class, depending on if the view definition contains a spatial column. Views with a spatial column will be displayed with a feature class icon corresponding to the geometry type chosen during registration.
- Performance improvements for viewing and querying due to table metadata (rowid, extent, etc) being stored within the system tables
- No prompt to specify a unique identifier when adding database views to ArcMap/Pro clients
- Ability to create and store geodatabase metadata on the registered view
- Registered views are read only geodatabase objects. This means that operations such as altering the schema or underlying data will be prevented. A error message 'Not supported on a view' will be received to alert you when the operation is not supported against a registered view.
- Registered views can be renamed, but the schema itself is read only in ArcGIS
- To prevent participation in geodatabase functionality where workflows will involve editing registered views cannot be added to feature datasets and registered views cannot participate in geodatabase relationship classes. Additionally other geodatabase functionality that implies editing (such as editor tracking, attachments, etc) are blocked.
- Registered views can be published via map services or query only feature services.
- Schema modifications to the underlying tables the view is based on should be handled by refreshing the view definition using the RDBMS client tools. Next, making a connection via the ArcGIS client will update these changes.
- The OBJECT ID FIELD parameter is required for database view registration. This requires a unique integer column that can represent the ROW ID for the registered view.
- For tables with a spatial column:
- A single spatial column
- Spatial column must contain a single entity type
- If table is empty with a spatial column - it is still required to input these parameters for Shape Field, Geometry Type, and Coordinate System during registration.