Relationship Rule Example
In ArcGIS modeling, you can use relationship rules to refine the cardinality of a «RelationshipClass» connector between a source Feature Class or Table and a destination Feature Class or Table; a Relationship Class connector only defines the initial cardinality, such as one-to-many or many-to-many.
A relationship rule in Enterprise Architect is represented by a «RelationshipRule» connector, a stereotyped UML Association connector, which you can create using the on the 'ArcGIS Core' page of the Diagram Toolbox. You set the cardinality from the source and target 'Multiplicity' fields on the connector 'Properties' dialog.
When creating a «RelationshipRule» connector between two objects, you must have:
- An existing «RelationshipClass» connector between the two objects that you want to define the relationship rule for; if there is no connector, the «RelationshipRule» you create is ignored during ArcGIS schema generation
- A cardinality range at each end that is compatible with the cardinality of the parent «RelationshipClass»; for example, if you define a cardinality of 1-M in a «RelationshipClass» connector, the source end of the «RelationshipRule» connector must be 1, while you can set the target end of the «RelationshipRule» to a specific number such as 3 (see the example diagrams in this topic)
Relationship rules can also restrict the type of object in the source Feature Class or Table that can be related to a certain kind of object in the destination Feature Class or Table. For example, if the source Class has no subtype elements, the relationship rule applies to all features. If the source Class has subtype elements and the «RelationshipRule» is linked to one of the subtype elements, this means only the associated subtype element is related to the «RelationshipRule». The same restriction is also applied to the destination Feature Class or Table.
This diagram provides three examples of possible «RelationshipRule» connections in an ArcGIS model. A custom Line Thickness has been applied to highlight the Relationship Class connectors, and the «RelationshipRule» stereotype label has been hidden where appropriate: