SobesLab логотип SobesLab

Ответ

Реализация M:N через промежуточную таблицу – по сути, разбивается на две связи 1:N. Отличие: при отношении 1:many достаточно хранить внешний ключ на сторону "1" в таблице "many". При отношении many:many у каждой из двух таблиц может быть несколько связанных записей в другой – прямо это не реализовать, поэтому вводится третья таблица. В ней две связи: каждая из исходных таблиц имеет отношение 1:N с таблицей связей. Таким образом, many:many преобразуется в две one:many, а комбинация FK в таблице-связке образует составной PK, гарантирующий уникальность пары. Разница концептуально – direct M:N vs. через дополнительный уровень.