Non-Profit Success Pack data model
Notes
- An arrow from object A to object B indicates that there is either a lookup field in A that refers to B, or a master-detail relationship with B as master and
A as detail. For example, the arrow Contact → Organization means that there is a lookup field in the Contact object which refers to Organization. Thus
Contact is a child of Organization, and there may be many Contact records linked to a given Organization.
- The diagram is drawn in a hierarchy, with arrows pointing upwards whenever possible (except in the case of cyclic dependencies). So the top level
has objects having no parents, and the lower levels contain objects whose parents are in the higher levels. This layout has a few advantages over the more
common unordered layout:
- Object dependencies are easier to follow. For example, we see clearly that Payments depend on Donations, which in turn depend on Organizations and
Campaigns.
- When importing data, the hierarchy shows, for example, that you must first import Household records (or otherwise guarantee their existence) before you
can import Contact records, since the Household object is a parent of the Contact object.
- When creating a report involving multiple objects, it is easy to see which relationships cause one-to-many record occurrences in your report. For
example, if you create a Contact report that involves only Organizations and Households, you will get at most one record per Contact, along with the
associated Household fields. But if you create a Contact report that includes Campaign Member or Contact Role records, you will retrieve multiple child
records for each Contact record.