Subject areas

Models are usually quite big. They're full of entities, associations, relationships, and all these things together make it really easy for a database architect to get lost. Luckily, when you design your database using Vertabelo, you can use subject areas to help you anytime you feel overwhelmed by the amount of a model's elements. Thanks to subject areas, we can:

  • Increase the model's readability.
  • Group model's elements according to their functions.
  • Make it easy to navigate through the model.
  • Simplify searching for elements.
  • Use the same entity several times in one model.

Sounds good, doesn't it? Let's learn how to use them.

Adding a new subject area

We're going to use subject areas on a model of a simple shop. Our aim is to create two areas – Purchase and Product and put all related elements into them.

The shop model

To add a new area either click this button on your toolbox or press s key on your keyboard.

Subject area in toolbox

Click and hold the left mouse button and drag your cursor to draw a box around all of the elements you want to include in your subject area.

Subject area properties

In properties, you can change the area's name and give it a unique look by changing colors or a line's style.

Now, we've got two areas – Purchase and Product, just as we desired. Let's go to Model Structure to see what has changed there.

Subject areas in Model Structure

Model structure panel

If you want to change something in just one entity, you don't have to go through all the entities or search for it in your whole model any more. All you have to do now is to choose the right subject area and then proceed to your entity directly. Obviously, you can do the same with relationships.

Right-click on the area's name in Model Structure to access some additional features like finding the area in a diagram or adding new elements to it.

Subject area drop-down menu

By doing the same with an element, you can find it in the diagram or delete a entity shortcut. What is a entity shortcut? You will find out soon, but using it in that case will just delete the entity.

Overlapping subject areas

What's more, areas can overlap. Let's say we want to have a Client area with the purchase entity inside, which is already in the Purchase area.

Overlapping areas

As you can see in the image below, it's not a problem at all. Now we've got the purchase entity in both areas, what is absolutely fine.

Model structure view

But what if we are using thousands of entities and millions of relationships and overlapping is not enough? What if a entity is used for completely different functionalities and we want to be able to access it in only one exact context? The answer is: shortcuts.

Shortcuts

Let's try to do exactly the same thing like we did above – creating two different subject areas containing the purchase entity, but now using shortcuts. Begin by adding one shortcut for client, one for purchase_item and two for purchase. This can be done by clicking the Add shortcut entity under the right-click menu.

Drop-down menu of entity

However, the more convenient way to do this is to simply drag the entity from the Model Structure panel to the diagram area.

Shortcuts are automatically enumerated in their names.

Shortcut numbers for entity place outside areas

Let's create subject areas containing adequate shortcuts, just like we've done before. Note that the shortcuts' names have changed and now they contain names of the subject areas they belong to.

Names for entity shortcuts placed in areas

To get the relationships between these entities back, Control-click all of the entities in the area and then click Show all relationships.

Show all relationships button

Now, in each area we've got only the relationships relevant to it, which makes our model much more readable, especially in the case of entities involved in multiple relationships.

The relationship is now shown

Shortcuts in the model are distinguished by having a dashed line as a border. Adding any shortcut to a entity changes the entity's initial representation into a shortcut too.

If you click on a shortcut in the Properties pane, you will see that it's only a representation of the entity already existing in our database and nothing more. Therefore, any change to the entity's properties will affect all shortcuts in the model.

Shortcuts in Model Structure

Note that areas in Model Structure look exactly the same as they did when we used overlapping instead of shortcuts.

Model structure panel