Making “Entity Relationship Diagrams (ERD)” easier to understand

“Do we have a data model for the application?” asks the new Product Owner on the project. We are mid-way through the implementation of a custom application on the Power Platform.

“We do have a few diagrams from various parts of the system” I tell him.

The Product Owner seems surprised with my response. “So, you don’t have a diagram with all the tables of the system? On my previous project, the Dev Team was able to automatically generate one without much effort” he says.

The Product Owner previously worked on custom build applications and had limited exposure to Dynamics 365 and the Power Platform.

I explained to him that as we are using a platform, there are literally 100+ tables in what is called “Dataverse” and that most of those tables are not even used by our solution. So generating a diagram with all the tables would be unreadable and not very valuable.

I promised the Product Owner that I would find a way to generate an ERD with only the key entities used by our solution.

My initial approach was to use the XrmToolBox – ERD Visio Builder to generate the diagram for the 30+ key entities of our solution. However, as you can see below, the diagram very difficult to read. I knew I had to find a way to make that diagram easier to understand.

Sample diagram for complex system

What are ERD

The ERD is a diagram that shows Entities (Tables) of a system or part of a system and how they relate to one another.

Sample ERD (Crow’s Foot notation)

Tools I use to create ERD’s for new Dynamics 365 or the Power Platform

If I need to create a diagram for a new solution that does not exist yet, then I use one of the 2 tools below:

  • Microsoft Visio: lets you create diagrams with commonly used diagram types and rich shape sets.
  • Diagrams.net Is an open source technology stack for building diagramming applications, and the world’s most widely used browser-based end-user diagramming software.

Tools I use to generate ERD’s for existing Dynamics 365 or Power Platform solutions

There are a few community tools available to create an ERD, however the tool I use most often is the XrmToolBox – ERD Visio Builder

The tool lets you generate Visio diagrams from the metadata in Microsoft Dynamics 365 and the Power Platform Dataverse.

Sample diagram generated with ERD Visio Builder

The issue with complex diagram

Most of the above tools are great when we have up to 10 Entities. However, once you start dealing with more complex systems that are made of 20+ Entities, the ERD becomes difficult to read.

Sample diagram for complex systems

My approach for making complex diagrams easier to understand

Using the sample diagram above, these are the steps I follow to simplify the diagram:

1. Remove “Parent” Entities if not needed.

2. Group together the Entities that relate to the same feature. You can see below how I grouped “Case Management”, “Accounts & Contacts”, “Survey”, etc. Optionally you can add some color and label to your groups.

3. Add additional “connection points” to the entities so that you can move connections and see each relationship individually.

4. If the diagram has many relationships making it still difficult to read. You can create “Layers” for each feature to hide the relationships. You can then show and hide the relationships 1 feature at a time.

And here is the final result.

Simplified Entity Diagram for complex systems

Hope this is something you can use in your projects. Feel free to comment with your own tips and ideas or if you have any questions!

Resources:

ERD Visio Builder: A XrmToolBox tool to create Visio diagrams from Dataverse Tables – by Carl Cookson