Referential integrity in relationships

11-12-2020 01:18 PM
Labels (3)
Occasional Contributor

We are currently editing a one-to-many relationship (setup in ArcMap) between geospatial data and a non-spatial table (both within the same enterprise geodatabase).  Though, I believe we may be lacking "referential integrity", because we have orphans within the table.  I was looking at the online documentation here:

- Would a relationship class setup in the geodatabase solve our problem with orphans? 

- Would database versioning have an affect on the relationship class? If so, how?

- Are Global IDs necessary in an enterprise Geodatabase for a relationship class?

Any help would be appreciated.

0 Kudos
1 Reply
Occasional Contributor III

Global IDs would not be a first choice for a relationship; they are used in distributed databases and other situations, but can be hard to work with. Just use a good foreign key for the relationship, one you already have that is unique (on the 1 side of the relationship) and does not change. 

A relationship class can help prevent orphans, but you already have the bad data so you will have to clean that up first. If you set the relationship up to cascade delete the many records when you delete the one related feature, you probably won't get orphans again.  But, you could lose table records if you accidentally or temporarily delete a feature.  I don't have many  1-many situations.