Schema exploration

Schema exploration is the heart of Azimutt. And especially if you have a large database (>100 entities), Azimutt is probably your only acceptable visual exploration option. Our biggest customers have databases with around 3000 entities 😱

Most diagram tools are made to show you the database diagram: one view with all the entities. It may be fine if you have just a few, but with larger databases it's a nightmare, when the tool is just crashing 🤯

ERD layout with too many entities
A diagram with 716 entities (yes, I counted them all ^^)

On the opposite, when loading your database schema in Azimutt, it won't show anything:

Azimutt starts with an empty layout

From this, you mainly have two choices depending on your situation:

  • Get a general overview: display central entities (most incoming relations) or all to get an overview of your schema. It's a good starting point before exploring more precisely some parts by following relations.
  • Looking for specific things: hit the top left search to find entities using entity, attribute and constraint names, but also SQL comments and even types, using a flexible fuzzy matching. You will have some suggestions if you need inspiration.
Azimutt search suggestions

Once you have one or several entities on the layout, they are your starting point. Explore the surroundings by following the relations of shown entities using colored icons in front of the attribute names: foreign keys (outgoing relations) and primary keys (incoming relations).

Follow relation in Azimutt layout

Sometimes, you need to go from one entity to another but don't know how. And this is when you will be amazed by the find-path feature. It will do for you a graph traversal ignoring some entities and attributes you can configure and report all the found paths (under a certain length).

Azimutt find path between two entities

Azimutt was built around layouts where you can explore some parts of the database. They can be either short-lived for a debug exploration or consciously made and organized to serve as documentation.

Now let's dig in: