БЕСПЛАТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Диаграммы в Dbeaver

Проблематика

Очень часто встречается ситуация когда надо анализировать связи между таблицами базы данных. Первое, что приходит в голову, это посмотреть DDL таблицы. В Dbeaver это можно сделать щелкнув по таблице правой кнопкой мыши и выбрать Генерация SQL --> DDL.

dbeaver ddl

В результате открывается окно с текстом DDL запроса создания таблицы в котором мы можем посмотреть какие FOREIGN KEY есть у данной таблицы. И этот способ рабочий, если нам надо проанализировать пару талбиц. Но когда мы хотим сделать анализ сразу значительного количества таблиц, такой способ получается слишком трудоемким. И к тому же хотелось бы получать информацию в графическом виде, так как для человека такое восприятие информации более привычно. И в Dbeaver есть такой замечательный инструмент. Это диаграммы.

Построение диаграм

Простейший способ построить диаграмму - это построить ее сразу для всех таблиц какой-либо схемы. Для этого надо просто щелкнуть правой кнопкой мыши по полю Таблица в дереве со структурой БД, и выбрать пункт View Diagram

dbeaver view diagram

В результате Dbeaver построит в отдельной вкладке схему, на которой будут присутствовать все таблицы, а также будут прорисованы связи между ними если они были заданы при создании таблиц через FOREIGN KEY

dbeaver all tables diagram

Допустим у нас в базе данных очень большое количество таблиц, а нам надо сделать анализ связей только ограниченного их количества. Такой вариант тоже есть, но он немного более трудоемкий. В этом случае нам надо перейти на закладку Проекты, правой кнопкой мыши по папке Diagrams, выбираем Создать новую диаграмму

dbeaver create diagram

Откроется диалоговое окно в котором нужно задать имя диаграммы и выбрать желаемые таблицы для отображения на ней.

dbeaver create limit diagram

В итоге сформируется диаграмма только с выбранными таблицами. А сама диаграмма будет сохранена в проектах.

dbeaver saved limit diagram

А теперь представим, что мы хотим построить диаграмму для конкретной таблицы. То есть на диаграмме мы хотим увидеть саму таблицу плюс еще те таблицы, которые связаны непосредственно с исходной. Для этого мы просто щелкаем правой кнопкой мыши по нужной таблице и выбираем опять таки View Diagram.

dbeaver diagram by table

И получаем в итоге вот такую картину

dbeaver diagram by table

Анализ связей

Из линий, соединяющих таблицы, не совсем понятно какие именно поля используются для связи таблиц. Чтобы это понять, достаточно щелкнуть мышью по линии. И тогда Dbeaver подсветит поля по которым идет связь. А если сделать двойной клик, то внизу откроется окно свойств, в котором можно посмотреть подробности.

dbeaver link line

Заключение

Построение диаграмм в Dbeaver - мощный, незаменимый инструмент, позволяющий анализировать сввязи между таблицами. Он позволяет более доступно доносить до коллег свою точку зрения при обсуждении архитектурных вопросов, а также включать диаграммы в документацию по продукту.

Есть конечно и некоторые "грабли". Так, изменения в диаграмме может отражаться на структуре самих таблиц. Несмотря на то, что Dbeaver спрашивает о необходимости сохранять изменения, не стоит злоупотреблять построением диаграмм на продуктовых базах данных.