In the esri geodatabase, what is the difference between Simple and Attributed relationship classes?
Slightly edited snippet from a conversation in the GDAL/OGR Mailing list:
Relationship Classes come in two types
1.- Simple Relationship Classes
2.- Attributed Relationship Classes
Conceptually, they just relate one (or more) column(s) in one field to another column(s) in another table. Besides also including cardinality information, and enforcing referential integrity (when the underlying db doesn't support it), they are used inside ArcGIS for display and editing purposes. The fact that the may or may not have domains associated with them is orthogonal to this discussion.
For the first kind (simple), they only exist in metadata tables - they don't map to any physical tables on the db.
For the second kind (attributed), they do refer to actual non-spatial tables on the db.
Simple and Attributed are not mutually exclusive terms. A relationship can be both Simple and Attributed.
An Attributed relationship class is useful when you have some attributes in the relationship. An example would be when you are recording plots and owners, and want to record the date on which the plot was purchased. This date can be the value stored in the relationship class.
Another useful purpose of the relationship attributes is when you have a one to many or many to many relationship. In this case, the attributes in the relationship class can define the relationship. in other words the fields in your relationship class are the foreign keys to the primary keys in the tables that you have in the origin & destination tables.
From the ESRI documentation:
In a simple relationship, related objects can exist independently of each other
So these are very two different concepts and not mutually exclusive.
See if Relationship classes (and other things) in ArcGIS by Andy French helps any. Andy clarified most of it for me also. In short "simple rc" is a one-to-one - no rules. He doesn't describe attributed relationship classes, But states that composite rc can be many to one and does have delete rules.
I think this is fair to say about attributed relationship classes. Comments are welcome as this seems to be a somewhat conceptual question/thread.
Esri help states that "Any relationship class—whether simple or composite, of any particular cardinality—can have attributes."
IMHO why would you have a relationship class if you didn't have attributes (except in the case of a composite rc with delete rules).
Does that clear it up any?
Incurs editing overhead; must be defined only between tables in same geodatabase; still requires joins for SQL query, labeling, and symbology.
Manages referential integrity and messaging behavior Edited via ArcMap attributes inspector