Видео: создание связей типа "один-к-одному"
Applies To
Access для Microsoft 365 Access 2021 Access 2019 Access 2016Проверьте, как это работает!
Что такое связь «один к одному»?
Связи «один к одному» часто используются для получения важных данных, необходимых для ведения бизнеса.
Связь "один-к-одному" — это связь между информацией из двух таблиц, когда каждая запись используется в каждой таблице только один раз. Например, связь типа "один-к-одному" может использоваться между сотрудниками и их служебными автомобилями. Каждый работник указан в таблице "Сотрудники" только один раз, как и каждый автомобиль в таблице "Служебный транспорт".
Связи "один-к-одному" можно использовать, если у вас есть таблица со списком элементов, но конкретные сведения о них зависят от типа. Например, у вас может быть таблица контактов, в которой некоторые сотрудники являются сотрудниками, а другие — субподрядчиками. Для сотрудников нужно знать их номера, расширения и другие ключевые сведения. Для субподрядчиков нужно знать, помимо прочего, название компании, номер телефона и тариф на выставление счета. В этом случае нужно создать три отдельные таблицы — "Контакты", "Сотрудники" и "Субподрядчики", а затем создать связь "один-к-одному" между таблицами "Контакты" и "Сотрудники" и связь "один-к-одному" между таблицами "Контакты" и "Субподрядчики".
Общие сведения о создании связи «один к одному»
Связи "один-к-одному" создаются путем связывания индекса первой таблицы, в качестве которого обычно выступает первичны ключ, с индексом второй таблицы, причем их значения совпадают. Пример:
Часто бывает, что лучший способ создать подобную связь — назначить вторичной таблице функцию поиска значений из первой таблицы. Например, вы можете сделать поле "Код автомобиля" в таблице "Сотрудники" полем подстановки, которое будет искать значение индекса "Код автомобиля" в таблице "Служебный транспорт". Таким образом исключается случайное добавление кода автомобиля, который на самом деле не существует.
Важно: При создании связи "один-к-одному" следует тщательно обдумать, требуется ли включать для нее обеспечение целостности данных.
Целостность данных помогает Access поддерживать порядок данных путем удаления связанных записей. Например, при удалении сотрудника из таблицы "Сотрудники" также удаляются записи о его льготах из таблицы "Льготы". Но в некоторых связях, таких как в этом примере, целостность данных не имеет смысла: если удалить сотрудника, мы не хотим, чтобы автомобиль удалялся из таблицы "Автомобиль компании", так как он по-прежнему будет принадлежать компании и будет назначен другому сотруднику.
Инструкции по созданию связи типа «один к одному»
Вы можете создать связь "один-к-одному", добавив в таблицу поле подстановки. (Инструкции см. в статье Создание таблиц и назначение типов данных.) Например, чтобы указать, какие автомобили назначены определенным сотрудникам, вы можете добавить в таблицу "Сотрудники" поле "Код автомобиля". После этого воспользуйтесь мастером подстановок для создания связи между полями.
-
Откройте таблицу.
-
В режиме конструктора добавьте новое поле, выберите значение Тип данных, а затем запустите мастер подстановок.
-
В мастере по умолчанию выбран поиск значений в другой таблице, поэтому нажмите кнопку Далее.
-
Выберите таблицу с ключом (обычно первичным), который вы хотите добавить в первую таблицу, и нажмите кнопку Далее. В рассмотренном примере следует выбрать таблицу "Служебный транспорт".
-
Добавьте в список Выбранные поля поле с необходимым ключом. Нажмите кнопку Далее.
-
Задайте порядок сортировки и, при необходимости, измените ширину поля.
-
В последнем окне установите флажок Включить проверку целостности данных и нажмите кнопку Готово.