Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
У меня все связи М:М пишутся в 1 таблицу sys_mm (идею подкинул "c0dex").
Таблица sys_mm имеет следующие поля:
id
model -текущая модель где выбрана связь
field - текущая колонка в которой выбрана связь
id_local - текущий id-записи
id_foreign - id-записи которую выбираем
В полиморфных связях идет аналогичная таблица.
Полагаю что я применил полиморфизм для обычных связей М:М создав общую таблицу sys_mm?
Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
если я правильно понимаю смысл, речь о нарушении базовых принципов проектирования РСУБД и способе создать работу по переписыванию части системы для других инжеренов
@StalkerClasses в СУБД есть один способ реализации связи многие ко многим, который обеспечивает целостность и гибкость системы. Это делается через таблицу-связь. Кривую архитектуру и говнокод с колонкой, в которой выбрана связь, комментировать нет никакого желания.