Использование инструмента 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-диаграммы, чтобы вы могли повторно открыть и отредактировать ее позже.