Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

In the esri geodatabase, what is the difference between Simple and Attributed relationship classes?

share|improve this question
    
When would you use attributed relationship classes? –  Justin Jun 20 '11 at 1:41

4 Answers 4

up vote 5 down vote accepted

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.

share|improve this answer
    
Did I mention these are descriptions of the internal representations of GDB rel classes? I fixed bugs and maintained the ESRI rel classes for 3 years :) –  Ragi Yaser Burhum May 3 '11 at 7:08

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.

share|improve this answer

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?

share|improve this answer
    
To answer your question "why would you have a relationship class if you didn't have attributes" basically relationship classes are also a way to message another class of edit events (object deleted, modified, inserted). One example is feature linked annotation (the text in the destination class changes with edits to the origin class). There are many other examples. –  Ragi Yaser Burhum May 2 '11 at 23:32
    
That's kinda what I meant. The ESRI definitions elaborates that there are simple and composite rc. and that either or both can be attributed. A simple has no delete rules. So if there are no attributes and no rules what is the rc for? –  Brad Nesom May 3 '11 at 2:49
    
thanks for the article reference. I found it helpful for setting context and extending my understanding of how Esri vocabulary differs and matches db talk seen in other places. –  matt wilkie May 3 '11 at 19:36

con.

Incurs editing overhead; must be defined only between tables in same geodatabase; still requires joins for SQL query, labeling, and symbology.

pro.

Manages referential integrity and messaging behavior Edited via ArcMap attributes inspector

Table compare: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Deciding_between_relationship_classes_joins_and_relates/004t00000002000000/

share|improve this answer
    
just to be clear, the pro and con you've outlined applies to both kinds of RC, right? –  matt wilkie May 3 '11 at 19:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.