I'm trying to decide how to build my data model and I'm running into a typical situation involving lookup relationships. I'd love some thoughts on implications and best practices:
I have several different apps running in Salesforce on top of each other that have overlapping data needs for different purposes. For example:
- In a case management app, a Contact has a lookup to another Contact who is their parent or guardian.
- In a donor management context, a Contact has a lookup to another Contact who is their solicitor.
My question is: Should I create two different custom lookups, or use one lookup for both purposes?
Single Shared Lookup
- Fewer custom relationship fields = simpler data model
- Less likely to hit roll-up summary field limits
- Easier to disaggregate functionality into different apps/sections.
- Naming the field logically is hard - complicates training, reporting, and adoption
- Ditto for description and help text
Two Different Lookups
These are basically the inverse of the other approach:
- Language, definition, and training are easier
- Data Model is more complicated, and greater risk of hitting reporting limits.