Нужно ли избегать многих отношений, и если да, то какова альтернатива? - PullRequest
1 голос
/ 28 октября 2010

Мне оставили комментарий о том, что следует избегать множества ассоциаций, но я не могу найти оригинальный комментарий / пользователя, который оставил мне эту информацию.Поэтому я спрашиваю сообщество, следует ли избегать множества ассоциаций, если да, то почему, и какова альтернатива?

пример:

Ресторан предлагает много видов бургеров, которыебыть одетым в разные приправы

Разве это не ассоциация многих ко многим?Разве для этого не требуется таблица отношений, содержащая внешние ключи для таблицы BURGER и таблицы CONDIMENT?

Заранее спасибо,

BW

Ответы [ 4 ]

2 голосов
/ 29 октября 2010

M: N ассоциаций нельзя избежать, если кто-то хочет смоделировать отношения, подобные упомянутому вами бургеру / приправе.В ассоциациях M: N нет ничего нежелательного.И да, им нужна третья таблица.

Часто люди пытаются добавить в атрибуты дополнительные атрибуты, неправильно моделируя две ассоциации 1: N как M: N.Возможно, именно это и имел в виду ОП, избегая ассоциаций M: N.

1 голос
/ 29 октября 2010

Итак, я прошу сообщество, следует ли избегать многих-многих ассоциаций

В реальных базах данных, с которыми я работаю, представлены отношения многие-ко-многим.

если да, то почему и какова альтернатива?

Два отношения «один ко многим» с третьей таблицей (она же «таблица соединений»), которая в любом случаекак вы представляете отношение «многие ко многим» на физическом уровне.

1 голос
/ 29 октября 2010

Это не совсем определенный ответ, но иногда я обнаруживаю, что начинаю с отношений «многие ко многим» - например, на веб-сайте покупок, заказы на товары.Однако при разработке приложения я обнаружил, что ссылка - это не просто ссылка, а отдельная сущность, которая имеет свои атрибуты и поведение;в этом случае это будет называться что-то вроде «линии».Так что, если бы я правильно продумал подобные вещи в первом случае, то я бы не сделал это многим для многих.

Но, конечно, часто это не так.

1 голос
/ 28 октября 2010

Да, отношение между гамбургером и приправой много ко многим. И да, вам потребуется третья таблица для связи этих двух таблиц.

...