О связи таблиц базы данных с сводной / соединительной таблицей - PullRequest
0 голосов
/ 04 сентября 2010

В базе данных можно создать отношение «многие ко многим» между таблицами, создав третью таблицу, которая сопоставляет их вместе с использованием внешних ключей. Какова связь между третьей таблицей и двумя исходными таблицами?

Например, если таблица A и таблица B имеют отношение «многие ко многим», а таблица «AB» - это сводная таблица, отношение «A-> AB» всегда является отношением «многие к одному» и представляет собой B-> Отношения АБ также всегда отношения многие-к-одному?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2010

Придирчивы, A-> AB и B-> AB - отношения один-ко-многим, а не многие-к-одному: сущность в A должна появляться один раз в A, но может появляться много раз в AB (связывая еедо нескольких случаев B);и объект в B должен появиться один раз в B, но снова может появиться много раз в AB (связывая его с несколькими экземплярами A).

0 голосов
/ 04 сентября 2010

Я считаю, что краткий ответ - «Да».:)

Проще говоря, отношения внешнего ключа должны отображать столбец AB в один столбец в A или в один столбец в B. Но поскольку содержимое AB представляет отношение «многие ко многим» между A и Bпо определению может быть несколько экземпляров клавиши A или B в AB.В то же время дубликат записи в АБ, т.е.представлять одно и то же отношение AB несколько раз, было бы ошибкой.

Итак, да: один ко многим по обе стороны от AB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...