Salesforce ERD Design
Introduction:
This was a project for my IT Data Analyst position. I designed a complex Entity Relationship Diagram (ERD) using 150+ Salesforce objects such as Account, Contact, Case, etc. The main point of this analysis was to identify and document complex relationships between Salesforce objects for reference and streamlined communication across various teams and departments. This allowed for improved understanding of how data flows from one object to another in Salesforce and the derived, smaller ERD's allowed for a more targeted focus on specific areas, which is more digestible and understandable for teams.
Insights:
There were many important questions to keep in mind while designing this ERD:
-
What are the core objects and their relationships?
-
What business processes does this ERD need to support?
-
Who will use this ERD and how will it be maintained?
-
How will the ERD address Salesforce specific features?
Tools:
This project was analyzed using Lucidchart:
-
Lucidchart was used because I needed to document the ERD after outlining it using Schema Builder on Salesforce. Due to the fact that Schema Builder has no export option, I needed to use Lucidchart to document for future reference and exports by anyone. I started by creating the UML boxes for each object and inputting only the primary and foreign keys for each object. I only put the primary and foreign keys because there were too many fields in each object, and anyone who wanted to view specific fields could reference Salesforce. Then I created the relationships between these objects, which were mostly 1 to many. Then I color coded the 9 most important objects. I then created 10 smaller ERD's, with objects varying between 2 to 35 objects only. This smaller ERD's were aimed at being more specific to a Salesforce feature, such as Scheduling or Events. I presented this to a panel of 8 stakeholders interested in this complex ERD and its relationships.
Impact:
The impact from designing this ERD was stakeholders and different departments are able to easily reference this when an issue arises. For example, a Salesforce user could use the ERD to reference a relationship between Contact and Account to better understand the reasoning for a misconfiguration on Salesforce. Users are also able to streamline communication to different team members because the ERD is in one central location, available to anyone. This central location is integral to troubleshooting issues and referencing because users don't have to look at 5 different places to understand a relationship between objects, they can simple view the ERD on Lucidchart.