Modeling limitations of relationship classes
This topic applies to ArcGIS for Desktop Standard and ArcGIS for Desktop Advanced only.
Relationship classes in the geodatabase manage associations between objects in two related feature classes and/or tables. However, there are some restrictions and limitations described below.
Relationship class scope:
- Relationship classes can only be defined between feature classes and/or tables in the same geodatabase.
- The feature classes and/or tables must also be stored within the same user-schema in ArcSDE geodatabases.
A feature class or table can participate in more than one relationship class; however, there are some restrictions:
- A given feature class or table cannot be the destination in two composite relationship classes. However, you can have more than one simple relationship between a pair of classes. You may do this if you need to enforce different cardinality, depending on the direction in which you navigate the relationship.
- If a composite relationship class exists between two classes, no other relationship class can be created between the same two classes.
- To create a relationship class in a feature dataset, either the origin or destination class must be in the feature dataset.
- You must avoid setting up a relationship class between feature classes in a geometric network, because this can lead to unexpected results when you edit the data.
- You can have more than one simple relationship between a pair of classes. You may do this if you need to enforce different cardinality, depending on the direction in which you navigate the relationship.
Editing with relationship classes
- Relationship classes do not prevent you from creating destination objects that are not associated with origin objects, resulting in orphaned destination objects.
- This workflow is allowed in the geodatabase model; however, if you do not want to have orphaned destination objects in your data model, they can be identified by using the Validate Features tool on the Editors toolbar.
If you are using a Simple relationship class, relationship rules must be set to prevent orphaned destination objects before running the Validate Features tool. With Composite relationship classes, the rules do not need to be set; you can simply use the Validate Features tool to identify orphaned destination objects.
For more information about editing with relationship classes, see About editing relationships in ArcMap.
Types of relationship classes that are not supported in ArcGIS
- Recursive relationships in which a relationship exists between records in the same feature class or table are not yet supported in ArcGIS.
- The primary and foreign keys can each be based on one field only; complex primary and foreign keys are not supported in ArcGIS.