Select to view content in your preferred language

Best Practices for amount of domain lists

965
8
11-22-2022 01:11 PM
Jen_Zumbado-Hannibal
Occasional Contributor

Hello GIS colleagues,
I have a favor to ask: Can someone please help me make a good argument for why repeated domain lists don't follow #GISBestPractices in a #geodatabase?

It's one of those things that I know why, but I'm finding it hard to explain to someone who doesn't understand the concept of data integrity and eliminating redundancy.

I've been trying to find #ESRIBestPractice articles that say to limit the amount of attribute domain lists within a geodatabase. Does anyone have a good reference?

Or, is there a good reason to repeat or branch out an attribute domain list and perhaps I'm not aware of it?

I just know that at the admin level, this type of "practice" can get very out of hand and sloppy.

Thanks.

Example:

Domain NameCoded Values
Staff_MainOfficeLarry
 Sally
 Lisa
Staff_FieldOfficeLarry
 Sally
Staff_RegionalOfficeHector
 Lisa


INSTEAD OF USING....

Domain NameCoded Values
StaffLarry
 Lisa
 Sally
 Hector



Jen Zumbado-Hannibal, GISP
GIS Coordinator
City of Forest Grove
Forest Grove, OR 97116

8 Replies
BranislavBlagojevic
Occasional Contributor II

Good question...! ESRI answers!

0 Kudos
RhettZufelt
MVP Notable Contributor

What if I only want the options to pick values for staff in the Regional Office, or just the Field Office to help enforce data integrity?  Domains in ESRI work as a "pick list" of valid values.

Seems like a good reason.

R_

0 Kudos
BranislavBlagojevic
Occasional Contributor II

If so, then we are not talking about domains, but only about 'pick lists'.

0 Kudos
RhettZufelt
MVP Notable Contributor

True (pick lists or valid data), OP mentioned both domains, and attribute domains.  Since this was posted in ArcGIS Pro Questions (not SQL Server questions), I responded about the Attribute Domains (which show as domains in SQL Server).

OP wanted a good reason for breaking them out, figured using them for what they were intended for would be a good reason.

"Attribute domains are rules that describe the available values of a field type. They are used to constrain the values allowed in any particular attribute for a table or feature class. They provide a method for enforcing data integrity by limiting what can be placed on a field to a valid list or range of choices. "

R_

Jen_Zumbado-Hannibal
Occasional Contributor

I didn't know where to actually post the question. So, I figured this was the best location. 

Okay, so let's dissect this a bit more. 

Are domain values for geodatabases in SQL the same as attribute domain values (checklist or drop downs)? My answer to this will be yes. 

However, if we use the traditional normalization rules for databases (e.g., 1NF, 2NF, and 3NF), wouldn't a GIS professional want to decrease redundancy in all its forms including attribute domains (domains)? 

The importance of maintaining data integrity and data redundancy in this example is somewhat contradictory. Because, as we want to minimize the human error element, we would increase the redundancy in the database by having similar attribute domains (domains). It may not be noticeable for the editor in this case, yet it increases the complexity for the database administrator to keep up with similar attribute domains (domains) within the database. 

Therefore, my question still remains: what are some best practices for troubleshooting this problem? Does the industry mention a standard to use? If so, can you reference some books, whitepapers, or internet references? 

Thanks. 

 

 

 

Jen Zumbado-Hannibal, GISP
GIS Coordinator
City of Forest Grove
Forest Grove, OR 97116

0 Kudos
BranislavBlagojevic
Occasional Contributor II

Thanks for the good explanation!

0 Kudos
Jen_Zumbado-Hannibal
Occasional Contributor

The explanation still doesn't answer my question about the example. By now, we all should know the correct uses for attribute domains. Yet, what if by wanting to maintain data integrity the administrator is building redundancy into the database? What then? How to resolve the issue? 

UML design applies normalization to refine the database to its basic elements to increase efficiency, avoid dependencies, and regulate redundancy. 

 

Jen Zumbado-Hannibal, GISP
GIS Coordinator
City of Forest Grove
Forest Grove, OR 97116

0 Kudos
BranislavBlagojevic
Occasional Contributor II

I 'collide' with the same problem, but I don't find an answer in everyday practice. It simply imposes the "necessity of contradiction". In the theory of sets as the basis of databases, redundancy and data integrity do not go hand in hand, but it is obvious that industry practice ignores the theory and introduces contradictions as the basis of its own development and survival. How long...???