Поделиться через


Как построить отношения «многие ко многим» (визуальные инструменты для баз данных)

Отношения «многие ко многим» позволяют связать каждую строку одной таблицы с несколькими строками другой таблицы и наоборот. Например, отношение «многие ко многим» можно создать для таблиц authors и titles, чтобы связать каждого автора с его книгами и сопоставить каждой книге ее автора. Если создать связь «один ко многим» в любой таблице, получится, что каждая книга сможет иметь только одного автора или каждый автор — только одну книгу.

Для осуществления связей «многие ко многим» между таблицами базы данных применяются связующие таблицы. Они содержат столбцы первичных ключей двух таблиц, которые необходимо связать. После этого можно создать связи между столбцами первичных ключей каждой таблицы и соответствующими столбцами в связующей таблице. В базе данных pubs связующей является таблица titleauthor.

Для создания связи «многие ко многим» между таблицами

  1. Добавьте таблицы, которые должны обладать связью «многие ко многим» в схему базы данных.

  2. Создайте третью таблицу, щелкнув схему правой кнопкой мыши и выбрав Создать таблицу. Эта таблица станет связующей.

  3. В диалоговом окне Выбор имени измените имя, назначенное системой. Например, связующую таблицу для таблиц titles и authors можно назвать titleauthors.

  4. Скопируйте столбцы первичных ключей обеих таблиц в связующую таблицу. В эту таблицу можно добавить другие столбцы, как в любую другую таблицу.

  5. Создайте первичный ключ в связующей таблице так, чтобы он содержал все столбцы первичных ключей исходных таблиц. Дополнительные сведения см. в разделе Как создать первичные ключи (визуальные инструменты для баз данных).

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

    ПримечаниеПримечание

    Создание связующей таблицы в схеме базы данных не подразумевает ее заполнение данными из связанных таблиц. Дополнительные сведения о вставке данных в эту таблицу см. в разделе Как создавать запросы вставки результатов (визуальные инструменты для баз данных).