Связь один ко многим
Связь один ко многим — это связь между таблицами, при которой одной записи первой таблицы могут соответствовать несколько записей второй таблицы, а каждая запись второй таблицы связана не более чем с одной записью первой.
Связь один ко многим — самый распространённый тип связи в связях таблиц базы данных. Например, у одного класса может быть много учеников, но каждый ученик в конкретной базе относится к одному классу. В главной таблице хранится уникальный идентификатор объекта, а во второй — значение этого идентификатора для каждой связанной записи.
Обозначение \(1:N\) читают «один ко многим». Число \(1\) относится к главной таблице, а \(N\) — к таблице, в которой может быть много связанных записей. Записей может не быть вовсе, поэтому точнее говорить «ноль, одна или много».
Таблица «Классы»: код класса 7А, 8Б. Таблица «Ученики»: фамилия и код класса. Для класса 7А во второй таблице могут находиться Иванов, Петров и Сидорова. У каждого из них указан код 7А, поэтому несколько учеников связаны с одной записью класса.
Связь один ко многим не означает, что одна запись второй таблицы может относиться сразу к нескольким записям первой. Если один ученик может посещать несколько кружков, а один кружок — иметь много учеников, это связь многие ко многим. Связь один к одному означает взаимное соответствие ровно одной записи.
Какой тип связи между таблицами «Отделы» и «Сотрудники», если в каждом отделе работает много сотрудников, а сотрудник числится в одном отделе?
Главное
- Связь один ко многим обозначают \(1:N\): одной записи главной таблицы соответствуют многие записи второй.
- Связь строится через первичный ключ главной таблицы и внешний ключ во второй.
- Примеры: класс — ученики, отдел — сотрудники, заказ — товары.