Как реализовать связь "многие ко многим" между двумя таблицами?
Уровень: Middle
Ответ
Связь M:N реализуется введением третьей таблицы (таблицы-связи). В эту промежуточную таблицу заносятся пары ключей из исходных двух таблиц – по одной колонке, ссылающейся на PK первой таблицы, и одной – на PK второй. Каждая запись в таблице связей представляет соответствие одной сущности из первой таблицы одной сущности из второй. Таким образом, вместо прямой M:N связи получаются две связи один-ко-многим: каждая из двух таблиц состоит в отношении 1:N с таблицей связей. Комбинация внешних ключей обычно объявляется составным первичным ключом таблицы связей для предотвращения дубликатов.