Есть ли у кого-нибудь процесс или подход, который можно использовать для определения того, как восстановить отношение «многие ко многим» в реляционной базе данных? Вот мой сценарий. У меня есть группа контактов и группа телефонных номеров. Каждый контакт может быть связан с несколькими телефонными номерами, а каждый телефонный номер может быть связан с несколькими контактами.
Простым примером такой ситуации может служить офис с двумя сотрудниками (e1 и e2), одной основной голосовой линией (v1) и одной частной голосовой линией (v2). e1 является генеральным директором, поэтому у них есть собственная частная голосовая линия v1, но с ними также можно связаться, позвонив по основной линии v2 и попросив генерального директора. e2 - просто сотрудник, и связаться с ним можно только по телефону v2.
Итак, e1 должен быть связан с v1 и v2. e2 должен быть связан с v2. И наоборот, v1 должен быть связан с e1, а v2 должен быть связан с e1 и e2.
Цель здесь состоит в том, чтобы получить возможность запускать такие запросы, как «какие цифры можно получить на e1» и «какие сотрудники можно получить на v2» и т. Д. Я знаю, что ответ будет включать промежуточную таблицу или таблицы, но я просто не могу точно сказать, какая именно архитектура.