Salesforce CRM data model

Table of Contents

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 → Account means that there is a lookup field in the Contact object which refers to Account. Thus Contact is a child of Account, and there may be many Contact records linked to a given Account.
  • 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:
    1. Object dependencies are easier to follow. For example, we see clearly that Contact Roles depend on Opportunities, which in turn depend on Accounts and Campaigns.
    2. When importing data, the hierarchy shows, for example, that you must first import Account records (or otherwise guarantee their existence) before you can import Contact records, since the Account object is a parent of the Contact object.
    3. 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 Accounts 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.

Powered by BetterDocs