Использование инструмента pgAdmin 4 ERD для проектирования баз данных


Предварительные требования

  • Установлен pgAdmin 4: Убедитесь, что вы установили и настроили pgAdmin 4.
  • Подключение к базе данных: Убедитесь, что вы можете подключиться к серверу PostgreSQL.
  • Базовые знания SQL: Предполагается знакомство с таблицами, первичными ключами и внешними ключами. Этот материал должен был быть рассмотрен на ваших лекциях.

Шаг 1: Запустите pgAdmin 4 и откройте инструмент ERD

  • Запустите pgAdmin 4: Запустите pgAdmin 4 и подключитесь к вашему серверу PostgreSQL.

  • Откройте инструмент ERD:
    • В главном окне pgAdmin в строке меню выберите Tools > ERD Tool (Инструменты > ERD Tool).
    • В новой вкладке откроется пустой холст, на котором вы сможете спроектировать свою ER-диаграмму.


Шаг 2: Создайте новый проект ERD и добавьте свою первую таблицу

  • Добавьте таблицу:
    • Нажмите кнопку Add Table (Добавить таблицу) (обычно представлена значком плюса на панели инструментов).
    • Появится диалоговое окно с запросом данных таблицы.

  • Определите свойства таблицы:
    • Table Name: (Имя таблицы) Введите описательное имя (например, Employee - Сотрудник).

  • Вкладка Columns: (Столбцы) Перейдите на вкладку Columns.
    • Добавляйте столбцы один за другим, нажимая значок «Add» (Добавить) (или плюс).

  • Например, добавьте:
    • emp_id (тип данных: integer, установите как Primary Key - Первичный ключ),
    • first_name (тип данных: character varying),
    • last_name (тип данных: character varying),
    • email (тип данных: character varying).
  • Сохраните таблицу: Нажмите Save (Сохранить), чтобы добавить таблицу на холст.


Шаг 3: Добавьте вторую таблицу и определите ее структуру

  • Повторите процесс:
    • Нажмите кнопку Add Table (Добавить таблицу) еще раз.
    • Создайте вторую таблицу (например, Employee_Address - Адрес сотрудника) со столбцами, такими как:
      • address_id (тип данных: integer, установите как Primary Key - Первичный ключ),
      • emp_id (тип данных: integer, для связи с таблицей Employee),
      • street (тип данных: character varying),
      • city (тип данных: character varying),
      • zip_code (тип данных: character varying).
  • Сохраните вторую таблицу: Нажмите Save (Сохранить). Новая таблица появится на холсте ERD.
    • Если таблицы перекрываются, используйте перетаскивание, чтобы изменить их положение.


Шаг 4: Установите связи между таблицами

  • Определите связь внешнего ключа:
    • Выберите таблицу: Щелкните узел таблицы Employee_Address.
    • Начните создание связи:
      • Нажмите кнопку 1M (one-to-many) (один ко многим) на панели инструментов. Это означает, что одна запись в таблице Employee может ссылаться на несколько адресов.

  • Заполните диалоговое окно связи:
    • Local Table: (Локальная таблица) Employee_Address
    • Local Column: (Локальный столбец) Выберите emp_id (столбец, в котором будет храниться ссылка).
    • Referenced Table: (Ссылочная таблица) Employee
    • Referenced Column: (Ссылочный столбец) Выберите emp_id (первичный ключ в таблице Employee).

  • Сохраните связь: После подтверждения между двумя таблицами появится соединительная линия, графически представляющая ограничение внешнего ключа.


Шаг 5: Создайте таблицу Project (Проект)

  • Добавьте таблицу:
    • Нажмите кнопку Add Table (Добавить таблицу).
    • Появится диалоговое окно с запросом данных таблицы.
  • Определите свойства таблицы для таблицы Project:
    • Table Name: (Имя таблицы) Введите Project.
    • Вкладка Columns: (Столбцы) Добавьте такие столбцы, как:
      • project_id (тип данных: integer, установите как Primary Key - Первичный ключ),
      • project_name (тип данных: character varying).
  • Сохраните таблицу Project: Нажмите Save (Сохранить). Таблица Project появится на холсте ERD.


Шаг 6: Создание связи “многие ко многим”

  • Создайте промежуточную таблицу:
    • Нажмите кнопку Add Table (Добавить таблицу).
    • Назовите ее Employee_Project (эта таблица будет связывать сотрудников с проектами).
    • Добавьте столбцы:
      • employee_id (тип данных: integer, внешний ключ, ссылающийся на Employee(emp_id)),
      • project_id (тип данных: integer, внешний ключ, ссылающийся на Project(project_id)).
      • Установите оба столбца в качестве составного первичного ключа, выбрав их вместе.

  • Определите связи:

  • Свяжите Employee_Project.employee_id с Employee.emp_id (связь один ко многим).

  • Свяжите Employee_Project.project_id с Project.project_id (связь один ко многим).

  • Эта настройка гарантирует, что сотрудник может быть назначен на несколько проектов, а проект может иметь несколько сотрудников, образуя связь многие ко многим.

  • Сохраните и просмотрите диаграмму:
    • Убедитесь, что связи правильно представлены соединительными линиями.

Шаг 7: Улучшение ERD с помощью дополнительных функций

  • Автоматическое выравнивание таблиц:
    • Нажмите значок Auto Align (Автоматическое выравнивание) на панели инструментов, чтобы привести макет в порядок. Это перегруппирует таблицы для более наглядного представления.

  • Добавление примечаний и цветового кодирования:
  • Используйте кнопку Add/Edit Note (Добавить/Изменить примечание), чтобы прикрепить аннотации к таблицам.

  • Измените цвета узлов с помощью параметра Fill Color (Цвет заливки), чтобы сгруппировать связанные таблицы или выделить определенные разделы.

  • Сгенерируйте SQL DDL:
    • Нажмите кнопку Generate SQL (Сгенерировать SQL) (значок SQL).
    • Откроется окно инструмента запросов со сценарием SQL Data Definition Language (DDL), сгенерированным из вашей диаграммы.
    • Этот SQL можно использовать для воссоздания схемы базы данных.

  • Сохраните свой проект ERD:
    • Нажмите значок Save (Сохранить) или используйте сочетание клавиш (Ctrl + S).
    • Укажите имя файла и выберите место для сохранения ER-диаграммы, чтобы вы могли повторно открыть и отредактировать ее позже.