Select to view content in your preferred language

Managing relationship classes

463
2
Jump to solution
11-22-2023 05:06 AM
JamesTurner2
New Contributor III

I have a feature class and a table in an enterprise GDB that I would like to relate via a relationship class, however, I don't want to share the table with everyone who has access to the feature class. I work in a large department in state government, everyone has access to view and select in the FC. I do not want anyone outside of my program to be able to view the related table. Is there a way to manage this?

Currently, if I do not share the table with everyone, then they get an error/warning when trying to add the FC from the EGDB.

0 Kudos
1 Solution

Accepted Solutions
MarceloMarques
Esri Regular Contributor

Unfortunately, you cannot filter out what is displayed when you connect to the eGDB, there is an existing enhancement request from customers that the relationship classes of a data owner shall not be displayed if you connect with another data owner or an editor/viewer user that does not have privileges on the tables of that data owner user.

If the relationship is M:N then there is a table created in the eGDB to store the M:N records. But if the relationship is 1:1 or 1:M then there is no extra table created.

You can manage access to the M:N table using a database role, you grant the permissions to the role, e.g. insert, update, delete on the tables of the data owner user, then you grant the role to the editor user, for viewer users you create a role with select only and grant that role to the viewer users.

You can read more about this in my community.esri.com database best practices blog, read the Production Mapping database guide books, the best practices can be applied to any industry. 

I hope this helps.

Mapping and Charting Solutions (MCS) Enterprise Databases Best Practices

| Marcelo Marques | Principal Product Engineer | Esri |
| Cloud & Database Administrator | OCP - Oracle Certified Professional |
I work with Enterprise Geodatabases since 1997.
“ I do not fear computers. I fear the lack of them." Isaac Isimov

View solution in original post

0 Kudos
2 Replies
MarceloMarques
Esri Regular Contributor

Unfortunately, you cannot filter out what is displayed when you connect to the eGDB, there is an existing enhancement request from customers that the relationship classes of a data owner shall not be displayed if you connect with another data owner or an editor/viewer user that does not have privileges on the tables of that data owner user.

If the relationship is M:N then there is a table created in the eGDB to store the M:N records. But if the relationship is 1:1 or 1:M then there is no extra table created.

You can manage access to the M:N table using a database role, you grant the permissions to the role, e.g. insert, update, delete on the tables of the data owner user, then you grant the role to the editor user, for viewer users you create a role with select only and grant that role to the viewer users.

You can read more about this in my community.esri.com database best practices blog, read the Production Mapping database guide books, the best practices can be applied to any industry. 

I hope this helps.

Mapping and Charting Solutions (MCS) Enterprise Databases Best Practices

| Marcelo Marques | Principal Product Engineer | Esri |
| Cloud & Database Administrator | OCP - Oracle Certified Professional |
I work with Enterprise Geodatabases since 1997.
“ I do not fear computers. I fear the lack of them." Isaac Isimov
0 Kudos
JamesTurner2
New Contributor III

Thanks, Marcelo. Unfortunately, this is a 1:M relationship, so it sounds like I don't have any options.

I will check out the resources you've referenced. If there is an idea that I can upvote for the enhancement, please link it! It sounds like just what I'm looking for. I don't want users without viewer privileges on the table to see the relationship class.

0 Kudos