Для реализации связи "один ко многим" в реляционной базе данных используется первичный ключ (Primary Key) из "одной" таблицы и внешний ключ (Foreign Key) в "многих" таблицах.
Таблица "одной" стороны (например, "Отделы"):
| dept_id (PK) | dept_name |
|---|---|
| 1 | IT |
| 2 | Продажи |
Таблица "многих" сторон (например, "Сотрудники"):
| emp_id (PK) | emp_name | dept_id (FK) |
|---|---|---|
| 101 | Иван | 1 |
| 102 | Мария | 1 |
| 103 | Петр | 2 |
Здесь dept_id в таблице "Сотрудники" является внешним ключом и ссылается на первичный ключ dept_id в таблице "Отделы". Каждому отделу может соответствовать множество сотрудников, но каждый сотрудник принадлежит только одному отделу.
В Python с использованием ORM, например SQLAlchemy, это выглядит следующим образом:
python