Chrono
Профи
(803)
6 лет назад
Связь многие ко многим бессмысленна, общая идея связей в обеспечении целостности данных, например, у нас есть таблица пользователей с их номером и таблица, например, история баланса этих пользователей. В данной ситуации можно сделать связку один (пользователь) ко многим ( движение денег по балансу (история баланса)) , чтобы ГАРАНТИРОВАТЬ что при вставке очередной записи в таблицу история баланса пользователь который указывается в новой вставляемой строке, существует в таблице пользователей. Если так же попытаться обновить какую-то запись на левого пользователя ( который не заведен в системе) база не даст этого сделать, т. е. это защищает нас от вакханалии данных, когда не то обновилось и деньги с баланса исчезли, например.
В Целом иногда возникает необходимость сделать связь многие ко многим, как правило это делается через промежуточные таблицы и в результате получается отношения двух таблиц (табл А и табл Б) многие ко многим через временную таблицу ( к которой уже идут один ко многим табл А ко временной как один ко многим и таблица Б к временной как один ко многим)