Чем отличается связь вида M:M и полиморфная связь M:M

StalkerClasses

Новичок
Чем отличается связь вида M:M и полиморфная связь M:M
Обе связи строятся через промежуточную таблицу. В чем их различие?
 

nllabs

Новичок
Быстрее и проще было бы набрать этот текст в поисковике. Я ответ нашел менее чем за 2 минуты.
 
  • Like
Реакции: AmdY

StalkerClasses

Новичок
Супер, а то я не догадался в гугле набрать, и какой ответ получился? Сверимся?
 

WMix

герр M:)ller
Партнер клуба
Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
 

StalkerClasses

Новичок
У меня все связи М:М пишутся в 1 таблицу sys_mm (идею подкинул "c0dex").
Таблица sys_mm имеет следующие поля:

id
model -текущая модель где выбрана связь
field - текущая колонка в которой выбрана связь
id_local - текущий id-записи
id_foreign - id-записи которую выбираем

В полиморфных связях идет аналогичная таблица.
Полагаю что я применил полиморфизм для обычных связей М:М создав общую таблицу sys_mm?
 

StalkerClasses

Новичок
Я не пойму - ты не нашел ответ или не понял прочитанное ?

Покажи скриншот с запросом и ответами.
Написал в предыдущем сообщении суть вопроса. У меня такая обычная связь М:М получается полиморфная связь с точки зрения теории?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Разница в том, что в полиморфной связи в промежуточной таблице ключи указывают на множество других таблиц, что создает с одной стороны динамичность связей, с другой стороны ломает возможность разрешить следить за целостностью данных самой базе
если я правильно понимаю смысл, речь о нарушении базовых принципов проектирования РСУБД и способе создать работу по переписыванию части системы для других инжеренов
 

StalkerClasses

Новичок
И все таки хотелось бы услышать ответ.
В моем случае у меня и ту и ту связь можно считать полиморфной?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@StalkerClasses в СУБД есть один способ реализации связи многие ко многим, который обеспечивает целостность и гибкость системы. Это делается через таблицу-связь. Кривую архитектуру и говнокод с колонкой, в которой выбрана связь, комментировать нет никакого желания.
 

WMix

герр M:)ller
Партнер клуба
Полагаю что я применил полиморфизм для обычных связей М:М создав общую таблицу sys_mm?
полиморфизм это про обьекты, если ты о "полиморфных связях" то да, создав общую таблицу sys_mm ты выкинул один из инструментов базы данных.

 
Сверху