Три таблицы, ключи во всех🔑
На мок-собесе я попросил ученика связать сотрудников и филиалы ветклиники. Сотрудник может работать в нескольких филиалах, значит связь многие ко многим.
Промежуточную таблицу он нарисовал сразу, это хорошо. А потом на всякий случай положил id филиала ещё и в Сотрудников, а id сотрудника в Филиалы.
Ошибка частая. Многие ко многим собирается из двух связей один ко многим, а при один ко многим ключ всегда уходит на сторону многих. Здесь эта сторона - промежуточная таблица, в ней оба ключа и живут:
Филиалы (id, название, адрес) Сотрудники (id, имя, телефон) Филиалы_сотрудников (id_филиала, id_сотрудника)
Лишний id филиала в Сотрудниках вмещает только один филиал, и в схеме появляются две версии правды: одна в промежуточной таблице, другая в карточке сотрудника. Рано или поздно они разойдутся.
Проверка простая: когда промежуточная таблица появилась, в связываемых таблицах ключей друг друга быть не должно.
А вы промежуточной таблице даёте свой id или обходитесь составным ключом?🤔