Better model organization will help you get work done faster. It will become easier to find objects in the model and to onboard new people to the team. In this article, we will give you tips and show you Vertabelo features that will help you effectively organize a large ERD.
To discuss entity relationship diagram (ERD) organization, we will be using a recruitment system database model. By the end of this article, you will be able to make this model much better organized and more readable. To get started, here’s what a first draft of the model might look like:
Enforcing Naming Conventions
Using consistent naming conventions goes a long way in ensuring that it is easy to find objects in the ERD. For naming conventions to be understood and followed across teams, you need to document them thoroughly.
You can find different ways to standardize naming conventions for your model on the Vertabelo blog. Note that it doesn’t matter what the naming conventions are as long as they are consistent throughout the model.
The following example demonstrates some of the common issues with naming conventions. Take a look at the notes provided within the model:
You can annotate your ERD with important information using the Add new note feature as shown below:
Ensuring Reference Lines Do Not Overlap
Lines in a model represent relationships between tables. These relationships hold the essence of the model. In a complex model, lines can easily overlap or cut through each other. Sometimes, parts of the reference lines are hidden behind the entities.
When this happens, it causes issues. If the model cannot define relationships between tables, it will lead to confusion and mistakes. For example, look at the following poorly organized model. In the following diagram, the red lines represent the overlapping lines:
To fix this issue, organize the model so that all the relationships are coherent and visible. After correcting the overlapping lines and rearranging the model shown in the example above, it will look something like this:
Color Coding Subject Areas & Tables
In the above examples, you might have noticed that the background color inside the dotted rectangle is grey and that the background color of the table definitions is light blue.
The dotted rectangle is called a “subject area.” Subject areas are used to group and organize closely related objects in a model. This makes for a very simple use-case of using colors in your model.
Color coding is most effective in complex models to identify groups of tables. It helps to quickly reference them without looking at the text, comments, or labels.
In Vertabelo, you can use color codes for your tables, views, reference lines, subject areas, etc. Like naming conventions, it’s not important which rules you follow for color coding as long as you have them.
It’s good practice to make sure that the colors are not too bright and unsettling for the model users.
To change the subject area's color code shown in the previous example, you’d select the subject area, go to its properties, click on format, and select the color you want. The color code was changed to light green in the screenshot below:
Using Subject Areas To Separate Concerns
Finally, Vertabelo’s most important feature for complex ERDs is the ability to organize your ERD into different subject areas. Remember that a subject area is a named rectangle that you can use to group tables.
First, group the tables according to various business functions, concerns, and processes. Then, create a subject area as shown in the screenshot below:
Once the tables are separated into different subject areas, the model might look something like this:
Next, we could use Vertabelo’s color-coding feature to make the model more readable. Start by color coding the different subject areas, then color code the tables.
In the following example, we have color coded the subject areas. Plus, we have color coded the tables into two categories: tables that link with other subject areas and tables that don’t. After color coding, the model looks like this:
Using Shortcut Tables To Avoid Overlapping Reference Lines
To further optimize the model’s organization, you can utilize Vertabelo's table shortcut feature.
Observe that in the above example, there are five different reference lines connecting the application table to tables in other subject areas. You can add shortcut tables for highly connected tables. This will reduce the number of reference lines across subject areas.
By creating a shortcut table, you essentially place a less wordy representative of the original table in another subject area. Shortcut tables are recognized by how they are named (i.e., table_name:subject_area.
Take a look at the following example to see shortcut tables in the works:
Shortcut tables help to make this model much more readable and easier to maintain.
Share Your Thoughts on ERD Organization
Database models often appear simple in the early stages of product development. There’s usually not much going on when you are just trying to build a minimum viable product (MVP).
However, as time passes and new features get added to the application, the model’s organization can become painful. This can cause confusion and mistakes.
Good documentation of the model can help with navigation, but eventually, you will get the most benefit from better organizing your ERD. The common adage applies here too: ?a good ERD is worth a thousand words of documentation.
We’d be happy to hear about your thoughts and experiences regarding organization of ERDs. Please comment in the comments section or write to us at firstname.lastname@example.org.