Junior
48
questionbank

Как реализуется связь "один ко многим" в базе данных?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Для реализации связи "один ко многим" в реляционной базе данных используется первичный ключ (Primary Key) из "одной" таблицы и внешний ключ (Foreign Key) в "многих" таблицах.

Таблица "одной" стороны (например, "Отделы"):

dept_id (PK)dept_name
1IT
2Продажи

Таблица "многих" сторон (например, "Сотрудники"):

emp_id (PK)emp_namedept_id (FK)
101Иван1
102Мария1
103Петр2

Здесь dept_id в таблице "Сотрудники" является внешним ключом и ссылается на первичный ключ dept_id в таблице "Отделы". Каждому отделу может соответствовать множество сотрудников, но каждый сотрудник принадлежит только одному отделу.

В Python с использованием ORM, например SQLAlchemy, это выглядит следующим образом:

python