Использование связей

Создание связи "один к одному"

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Что такое связь «один к одному»?

Связи «один к одному» часто используются для получения важных данных, необходимых для ведения бизнеса.

Связь "один-к-одному" — это связь между информацией из двух таблиц, когда каждая запись используется в каждой таблице только один раз. Например, связь типа "один-к-одному" может использоваться между сотрудниками и их служебными автомобилями. Каждый работник указан в таблице "Сотрудники" только один раз, как и каждый автомобиль в таблице "Служебный транспорт".

Вы можете использовать связь "один-к-одному", если у вас есть таблица со списком каких-либо элементов, но необходимая вам информация зависит от типа этих элементов. Например, у вас может быть таблица с контактами, в которой будут указаны сотрудники и субподрядчики. Предположим, для сотрудников вам нужно отобразить идентификатор, добавочный номер и прочие важные сведения, а для субподрядчиков — имя, номер телефона, ставку и некоторую другую информацию. В таком случае следует создать таблицы "Контакты", "Сотрудники" и "Субподрядчики", а затем — связи "один-к-одному" между таблицами "Контакты" и "Сотрудники", а также между таблицами "Контакты" и "Субподрядчики".

Общие сведения о создании связи «один к одному»

Связи "один-к-одному" создаются путем связывания индекса первой таблицы, в качестве которого обычно выступает первичны ключ, с индексом второй таблицы, причем их значения совпадают. Пример:

Снимок экрана: две таблицы с полем "Код автомобиля"
Поле "Код автомобиля" используется в обоих таблицах и указано в каждой из них только один раз.

Часто бывает, что лучший способ создать подобную связь — назначить вторичной таблице функцию поиска значений из первой таблицы. Например, вы можете сделать поле "Код автомобиля" в таблице "Сотрудники" полем подстановки, которое будет искать значение индекса "Код автомобиля" в таблице "Служебный транспорт". Таким образом исключается случайное добавление кода автомобиля, который на самом деле не существует.

Важно : При создании связи "один-к-одному" следует тщательно обдумать, требуется ли включать для нее обеспечение целостности данных.

Если вы включите обеспечение целостности данных, из ваших таблиц будут удаляться ненужные записи. Например, если вы удалите человека из таблицы "Сотрудники", также удалятся записи о его льготах из таблицы "Льготы". Однако это требуется не всегда. Например, при удалении сотрудника не нужно удалять автомобиль из таблицы "Служебный транспорт", потому что машина останется в распоряжении компании и будет назначена другому работнику.

Инструкции по созданию связи типа «один к одному»

Вы можете создать связь "один-к-одному", добавив в таблицу поле подстановки. (Инструкции см. в статье Создание таблиц и назначение типов данных.) Например, чтобы указать, какие автомобили назначены определенным сотрудникам, вы можете добавить в таблицу "Сотрудники" поле "Код автомобиля". После этого воспользуйтесь мастером подстановок для создания связи между полями.

  1. Откройте таблицу.

  2. В режиме конструктора добавьте новое поле, выберите значение Тип данных, а затем запустите мастер подстановок.

  3. В мастере по умолчанию выбран поиск значений в другой таблице, поэтому нажмите кнопку Далее.

  4. Выберите таблицу с ключом (обычно первичным), который вы хотите добавить в первую таблицу, и нажмите кнопку Далее. В рассмотренном примере следует выбрать таблицу "Служебный транспорт".

  5. Добавьте в список Выбранные поля поле с необходимым ключом. Нажмите кнопку Далее.

    Снимок экрана: мастер подстановок
  6. Задайте порядок сортировки и, при необходимости, измените ширину поля.

  7. В последнем окне установите флажок Включить проверку целостности данных и нажмите кнопку Готово.

Вам нужны дополнительные возможности?

Начало работы со связями между таблицами

Создание связи

Удаление связи

Обучение работе с Excel

Обучение работе с Outlook

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

Хотя этот тип связей используется не так часто, как связи «один ко многим» или «многие ко многим», все же полезно знать, как он создается.

Рассмотрим процесс создания такой связи.

В этом примере имеется таблица базы данных с парком автомобилей компании и таблица с сотрудниками, которые на них ездят.

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

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

Access индексирует поля баз данных и использует их для быстрого поиска информации, подобно алфавитным указателям в книгах.

По умолчанию индексы включены, но их поведение можно изменить, либо их можно отключить.

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

Для начала давайте создадим связь с помощью мастера подстановок.

Мы получаем значения из другой таблицы — «Служебные автомобили».

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

Скроем ключевой столбец, и назовем это поле «Автомобиль компании».

В этом (и, пожалуй, только в этом) случае мы НЕ включаем проверку целостности данных. Таким образом, удалив сотрудника, мы не удалим случайно автомобиль.

Нажмите Готово. Теперь у нас есть внешний ключ и простой способ выбрать регистрационные номера.

Выделите нужное поле. Затем выберите Поля и установите флажки Индексированное и Уникальное.

Теперь перейдите в таблицу «Служебные автомобили» и проверьте, выделен ли первичный ключ. Как видите, для него тоже установлены флажки «Индексированное» и «Уникальное», так как это поле типа Счетчик. Итак, у нас все готово.

В режиме конструктора свойство индексирования отображается в области Свойства поля.

Открыв список этого свойства, вы увидите три значения. Два из них можно использовать в связи «один к одному»: Нет или Да (без повторов).

Итак, вы создали в базе данных отношение «один к одному».

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

Как видите, в этой базе данных теперь имеются все три типа связей.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×