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


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

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

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

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

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

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

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

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

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

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

    ms178043.note(ru-ru,SQL.90).gifПримечание.
    Создание связующей таблицы в диаграмме базы данных не подразумевает ее заполнение данными из связанных таблиц. Дополнительные сведения о вставке данных в эту таблицу см. Как создавать запросы вставки результатов (визуальные инструменты для баз данных).

См. также

Другие ресурсы

Работа со связями (визуальные инструменты для баз данных)
Работа с диаграммами баз данных (визуальные инструменты для баз данных)

Справка и поддержка

Получение помощи по SQL Server 2005