Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
У меня все связи М:М пишутся в 1 таблицу sys_mm (идею подкинул "c0dex").
Таблица sys_mm имеет следующие поля:
id
model -текущая модель где выбрана связь
field - текущая колонка в которой выбрана связь
id_local - текущий id-записи
id_foreign - id-записи которую выбираем
В полиморфных связях идет аналогичная таблица.
Полагаю что я применил полиморфизм для обычных связей М:М создав общую таблицу sys_mm?
Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
если я правильно понимаю смысл, речь о нарушении базовых принципов проектирования РСУБД и способе создать работу по переписыванию части системы для других инжеренов
@StalkerClasses в СУБД есть один способ реализации связи многие ко многим, который обеспечивает целостность и гибкость системы. Это делается через таблицу-связь. Кривую архитектуру и говнокод с колонкой, в которой выбрана связь, комментировать нет никакого желания.
Some time ago, Phil Factor wrote his booklet 'SQL Code Smells', collecting together a whole range of SQL Coding practices that could be considered to indicate the need for a review of the code. It was published as 119 code smells, even though there were 120 of them at the time. Phil Factor has...