Создание, изменение и удаление отношения
Отношение в Access позволяет объединить данные из двух разных таблиц. Каждое отношение состоит из двух полей (по одному в каждой таблице) со связанными данными. Например, таблицы «Товары» и «Сведения о заказах» могут содержать поле «КодТовара». Каждая запись в таблице «Сведения о заказах» содержит значение поля «КодТовара», которому соответствует запись в таблице «Товары» с тем же значением в данном поле.
При помощи отношений между связанными таблицами приложение Access определяет, какие записи из каждой таблицы поместить в набор результатов запроса. Отношение также позволяет избежать потери данных, препятствуя исключению удаленных данных из синхронизации. Это называется целостностью данных.
Перед началом работы с отношениями изучите основные понятия. Дополнительные сведения о см. в статьях Руководство по связям между таблицами и Начало работы со связями между таблицами.
В этой статье
- Обзор
- Создание отношения между таблицами с помощью окна отношений
- Создание отношения между таблицами с помощью панели списка полей
- Изменение отношения
- Обеспечение целостности данных
- Удаление отношения между таблицами
- Создание, изменение и удаление отношения в веб-приложении
- Создание или изменение отношения в веб-базе данных Access 2010
Обзор
Чтобы создать отношение в базе данных Access, можно воспользоваться одним из указанных ниже методов.
- В окне «Схема данных» добавьте таблицы, которые требуется связать, а затем перетащите нужное поле из одной таблицы в другую.
- Перетащите поле в таблицу из области Список полей.
При создании отношения между таблицами общие поля могут называться по-разному, однако часто требуется, чтобы эти имена совпадали. Очевидно, что общие поля должны иметь одинаковый тип данных. Однако если поле первичного ключа имеет тип «Счетчик», поле внешнего ключа также может быть числовым, если свойство Размер поля (FieldSize) обоих полей совпадает. Например, можно сопоставить поля с типами «Счетчик» и «Числовой», если свойство Размер поля обоих полей имеет значение «Длинное целое». Если оба общих поля являются числовыми, у них должно совпадать значение свойства Размер поля.
Создание отношения между таблицами с помощью окна отношений
- На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.
- На вкладке Конструктор в группе Связи нажмите наДобавление таблиц (илиДобавление таблицы в Access 2013).
- Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. После добавления таблиц и запросов на вкладку «Схема данных» нажмите кнопку Закрыть.
- Перетащите поле (как правило, поле первичного ключа) из одной таблицы на общее поле (поле внешнего ключа) в другой таблице. Чтобы перетащить сразу несколько полей, нажмите и удерживайте клавишу CTRL, нажмите каждое поле и перетащите выделенные поля.
- Создание связи «один-к-одному» Оба общих поля (как правило, поля первичного ключа и внешнего ключа) должны иметь уникальный индекс. Это означает, что свойство Индексированное этих полей должно иметь значение Да(Совпадения не допускаются). Если оба поля имеют уникальный индекс, в Access будет создано отношение «один-к-одному».
- Создание отношения «один-ко-многим». Поле на стороне «один» (как правило, первичный ключ) отношения должно иметь уникальный индекс. Это значит, что свойство Индексированное поле должно иметь значение Да(Совпадения не допускаются). Поле на стороне «многие» не должно иметь уникального индекса. Это поле может быть индексированным, но для него должны допускаться повторы. Это означает, что свойство Индексированное поле должно иметь значение Нет или Да (Допускаются совпадения). Когда у одного поля однозначный индекс, а у другого — нет, в приложении Access создается отношение «один-ко-многим».
Создание отношения между таблицами с помощью панели списка полей
Добавить поле в существующую таблицу, открытую в режиме таблицы, можно путем перетаскивания этого поля из области Список полей. В области Список полей отображаются доступные поля из связанных таблиц, а также из других таблиц базы данных.
При перетаскивании поля из «другой» (несвязанной) таблицы и выполнении инструкций мастера подстановок между таблицей из области Список полей и таблицей, в которую перетаскивается поле, автоматически создается новое отношение «один-ко-многим». Это отношение, созданное Access, не обеспечивает целостность данных по умолчанию. Чтобы обеспечить целостность данных, нужно изменить отношение. Дополнительные сведения см. в разделе Изменение отношения.
Открытие таблицы в режиме таблицы
- Дважды щелкните таблицу в области навигации.
Открытие области «Список полей»
- Нажмите клавиши ALT+F8. Будет отображена область Список полей.
В области Список полей отображены все другие таблицы базы данных, сгруппированные по категориям. При работе с таблицей в режиме таблицы в области Список полей отображаются поля в одной из двух категорий: Доступные поля в связанной таблице и Доступные поля в другой таблице. К первой категории относятся все таблицы, связанные отношением с текущей таблицей. Во второй категории перечислены все таблицы, с которыми данная таблица не связана отношением.
Чтобы просмотреть список всех полей таблицы, щелкните знак плюс (+) рядом с именем таблицы в области Список полей. Чтобы добавить поле в таблицу, перетащите его из области Список полей в таблицу в режиме таблицы.
Добавление поля и создание связи из области «Список полей»
- Открыв таблицу в режиме таблицы, нажмите клавиши ALT+F8. Будет отображена область Список полей.
- Чтобы отобразить список полей в таблице, в группе Доступные поля в другой таблице щелкните знак плюс (+) рядом с именем таблицы.
- Перетащите нужное поле из области Список полей в таблицу, открытую в режиме таблицы.
- Когда появится линия вставки, поместите поле в выбранное место. Появится окно мастера подстановок.
- Следуйте инструкциям мастера подстановок. Поле будет отображено в таблице в режиме таблицы.
При перетаскивании поля из «другой» (несвязанной) таблицы и выполнении инструкций мастера подстановок между таблицей из области Список полей и таблицей, в которую было перетаскивается поле, автоматически создается новое отношение «один-ко-многим». Это отношение, созданное Access, не обеспечивает целостность данных по умолчанию. Чтобы обеспечить целостность данных, нужно изменить отношение. Дополнительные сведения см. в разделе Изменение отношения.
Изменение отношения
Чтобы изменить отношение, выберите его в окне «Схема данных» и внесите нужные изменения.
- Установите указатель на линию связи и щелкните линию, чтобы выделить ее. При выделении линия связи становится толще.
- Дважды щелкните выделенную линию связи ИЛИ на вкладке Конструктор в группе Сервис выберите команду Изменить связи.
Откроется диалоговое окно Изменение связей.
Открытие диалогового окна «Изменение связей»
- На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи. Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
- Щелкните линию отношения, которое вы хотите изменить. При выделении линия связи становится толще.
- Дважды щелкните линию связи. ИЛИ На вкладке Конструктор в группе Сервис выберите команду Изменить связи. Откроется диалоговое окно Изменение связей.
- Внесите изменения и нажмите кнопку ОК. В диалоговом окне Изменение связей можно изменить связи между таблицами (например, таблицы, запросы или поля на любой стороне связи). Можно также задать тип соединения или включить обеспечение целостности данных и выбрать каскадный параметр. Дополнительные сведения о типе соединения и его просмотре см. в разделе Указание типа соединения. Дополнительные сведения об обеспечении целостности данных и выборе каскадного параметра см. в разделе Обеспечение целостности данных.
Указание типа соединения
При определении отношения между таблицами сведения о нем влияют на структуру запросов. Например, при определении отношения между двумя таблицами и создании запроса, работающего с этими двумя таблицами, в Access автоматически выбираются сопоставляемые поля по умолчанию на основе полей, указанных в отношении. Эти исходные значения в запросе можно переопределить, но часто значения, определенные отношением между таблицами, являются верными. Поскольку сопоставление и объединение данных из двух таблиц являются часто воспроизводимыми действиями во всех базах данных, кроме самых простых, параметры по умолчанию, определенные отношениями между таблицами, могут быть полезны и экономить время.
С помощью запроса к нескольким таблицам можно комбинировать данные из них путем сопоставления значений в общих полях. Операция сопоставления и комбинирования называется объединением. Например, требуется отобразить заказы клиентов. Для этого создается запрос, объединяющий таблицы «Клиенты» и «Заказы» по полю «Код клиента». Результаты запроса содержат сведения о клиенте, а также другие сведения только для строк с найденным соответствующим значением.
Одно из значений, которое можно задать для каждого отношения, — это тип объединения. Тип объединения определяет, какие записи будут включены в результаты запроса. Обратимся к описанному примеру с объединением таблиц «Клиенты» и «Заказы» по общим полям, представляющим код клиента. При использовании типа объединения по умолчанию (внутреннего соединения) запрос возвращает только строки таблиц «Клиенты» и «Заказы», для которых общие поля (также называемые связанными полями) совпадают.
Предположим, что требуется включить в результаты всех клиентов — даже тех, которые еще не сделали ни одного заказа. Для этого нужно изменить тип объединения с внутреннего на так называемое левое внешнее соединение. При использовании левого внешнего соединения возвращаются все строки таблицы на левой стороне отношения и только сопоставленные строки на правой. При использовании правого внешнего соединения возвращаются все строки на правой стороне отношения и только сопоставленные — на левой.
Примечание: В этом случае термины «слева» и «справа» относятся к положению таблиц в диалоговом окне Изменение связей, а не в окне «Схема данных».
Следует определить, какие результаты наиболее часто требуются от запроса, соединяющего таблицы в конкретной связи, и в соответствии с этим выбрать тип соединения.
Указание типа соединения
- В диалоговом окне Изменение связей нажмите кнопку Тип соединения. Откроется диалоговое окно Параметры соединения.
- Выберите нужные параметры и нажмите кнопку ОК.
В таблице ниже, составленной на основании таблиц «Клиенты» и «Заказы», приведены три варианта, отображаемые в окне Параметры объединения, указан используемый в них тип объединения, а также то, какие именно строки (все или только сопоставленные) возвращаются для каждой из таблиц.
1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают.
2. Объединение ВСЕХ записей из таблицы «Клиенты» и только тех записей из таблицы «Заказы», в которых связанные поля совпадают.
Левое внешнее соединение
3. Объединение ВСЕХ записей из таблицы «Заказы» и только тех записей из таблицы «Клиенты», в которых связанные поля совпадают.
Правое внешнее соединение
При выборе варианта 2 или 3 на линии связи будет отображена стрелка, указывающая на ту сторону связи, в которой отображаются только сопоставленные строки.
Внесение изменений в окне «Параметры объединения»
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Обеспечение целостности данных
Целью обеспечения целостности данных является предотвращение появления непарных записей, ссылающихся на несуществующие записи. Обеспечение целостности данных включается для конкретного отношения между таблицами. В результате Access отменяет для этого отношения все действия, которые могут нарушить целостность данных. Это означает, что будет отменено как обновление, изменяющее целевой объект ссылки, так и удаление такого целевого объекта. Сведения о том, как настроить в Access распространение операций обновления и удаления таким образом, чтобы в результате изменялись и все связанные строки, см. в разделе Задание каскадных параметров.
Включение и отключение обеспечения целостности данных
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
В режиме обеспечения целостности данных действуют перечисленные ниже правила.
- Не допускается ввод в поле внешнего ключа связанной таблицы значений, отсутствующих в поле первичного ключа главной таблицы, поскольку это приводит к появлению потерянных записей.
- Не допускается удаление записи из главной таблицы, если в связанной таблице существуют связанные с ней записи. Например, невозможно удалить запись из таблицы «Сотрудники», если в таблице «Заказы» имеются заказы, относящиеся к данному сотруднику. Однако можно удалить главную запись и все связанные записи одним действием, установив флажок Каскадное удаление связанных записей.
- Не допускается изменение значения первичного ключа в главной таблице, если это приведет к появлению потерянных записей. Например, нельзя изменить номер заказа в таблице «Заказы», если в таблице «Сведения о заказах» имеются строки, относящиеся к этому заказу. Однако можно обновить главную запись и все связанные записи одним действием, установив флажок «Каскадное обновление связанных полей».
- Общее поле главной таблицы должно быть первичным ключом или иметь уникальный индекс.
- Общие поля должны иметь одинаковый тип данных. Единственное исключение — поле типа «Счетчик» можно связать с полем типа «Числовой», если его свойство Размер поля имеет значение Длинное целое.
- Обе таблицы существуют в одной базе данных Access. Обеспечение целостности данных нельзя включить для присоединенных таблиц. Однако если исходные таблицы имеют формат Access, можно открыть базу данных, в которой они хранятся, и включить обеспечение целостности данных в этой базе.
Задание каскадных параметров
Иногда возникает ситуация, в которой требуется изменить значение только на стороне «один» отношения. В этом случае необходимо, чтобы Access автоматически обновил все затронутые строки в ходе выполнения одной операции. Тогда обновление будет полностью завершено, а база данных не будет находиться в несогласованном состоянии, когда некоторые строки обновлены, а другие — нет. Этой проблемы можно избежать с помощью параметра Access «Каскадное обновление связанных полей». Если при включении обеспечения целостности данных был включен параметр «Каскадное обновление связанных полей», то при последующем обновлении первичного ключа автоматически будут обновлены все связанные с ним поля.
Также может потребоваться удаление строки и всех связанных с ней записей — например, записи в таблице «Поставщики» и всех связанных с этим поставщиком заказов. Для этого в Access предназначен параметр «Каскадное удаление связанных записей». Если включить обеспечение целостности данных и установить флажок Каскадное удаление связанных записей, при удалении записи, содержащей первичный ключ, будут автоматически удалены все записи, связанные с этим первичным ключом.
Включение и отключение каскадного обновления и каскадного удаления
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Примечание: Если первичным ключом является поле «Счетчик», установка флажка Каскадное обновление связанных полей не произведет никакого эффекта, поскольку изменить значение поля «Счетчик» нельзя.
Удаление отношения между таблицами
Важно: При удалении связи также отключается обеспечение целостности данных для этой связи, если оно было включено. В результате Access больше не будет автоматически предотвращать появление потерянных записей на стороне «многие» отношения.
Чтобы удалить отношение между таблицами, нужно удалить линию связи в окне «Схема данных». Установите указатель мыши на линию связи и щелкните ее. При выделении линия связи становится толще. Выделив линию связи, нажмите клавишу DEL.
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Примечание: Если одна из таблиц, участвующих в отношении, в данный момент используется (возможно, третьим лицом, процессом либо в открытом объекте базы данных, например в форме), удалить отношение между таблицами будет невозможно. Перед попыткой удаления отношения между таблицами закройте все открытые объекты, использующие эти таблицы.
Создание, изменение и удаление отношения в веб-приложении Access
Существуют важные отличия при работе со связями в веб-приложении Access.
Создание отношения
В веб-приложении Access отсутствует окно «Схема данных». Вместо связи необходимо создать поле подстановки, которое получает значения из связанного поля в другой таблице. Например, предположим, что у вас есть таблица «Сотрудники» и вы хотите добавить подстановку на таблицу «Регионы», чтобы показывать регионы, в которых работают сотрудники.
Примечание: Поле, используемое в качестве источника для подстановки, должно существовать перед созданием поля подстановки.
Вот как можно создать поле подстановки в веб-приложении Access:
- Откройте таблицу, в которой вы хотите создать поле подстановки, дважды щелкнув ее в области навигации. (Совет: вам может понадобиться выбрать Главная >Область навигации для просмотра доступных таблиц.) Как указано в примере выше, щелкните таблицу Сотрудники.
- Щелкните столбец Имя поля под последним полем в таблице и введите имя для нового поля подстановки. В этом примере введите имя Регион.
- В столбце Тип данных щелкните стрелку и выберите значение Подстановка. Появится окно мастера подстановок.
- На первой странице мастера подстановок выберите Получать значения из другой таблицы или запроса для поля подстановки. В диалоговом окне появятся дополнительные параметры.
- Выберите имя таблицы или запроса, которые будут предоставлять значения для подстановки. В этом примере выберите Таблица: Регионы.
(Имена таблиц на изображении соответствуют используемому примеру.) - После выбора таблицы укажите в списке Выберите значение, которое должно отображаться в поле подстановки поле, которое вы хотите использовать в качестве отображаемого значения для поля подстановки. По умолчанию Access выбирает первое текстовое поле, обнаруженное в выбранной таблице. В этом примере в качестве отображаемого значения следует оставить выбранное поле (Название).
- При необходимости настройте сортировку с помощью списка Отсортировать элементы в поле подстановки?.
- В разделе Какое действие должно выполняться при удалении записи из таблицы «Регионы»? выберите тип связи между двумя таблицами и укажите, нужно ли обеспечивать целостность данных. (Имя таблицы в этом вопросе меняется в зависимости от того, какая таблица была выбрана на этапе 5.) По умолчанию мастер подстановок использует значение Запретить удаление, если существуют соответствующие записи в таблице «Сотрудники», так как в большинстве случаев это самый безопасный вариант. В этом примере данный параметр означает, что из таблицы «Регионы» невозможно удалить значение, если оно используется в записях таблицы «Сотрудники». Таким образом, если в записях сотрудников указан регион «Запад» и вы пытаетесь удалить его из таблицы «Регионы», Access предотвратит это. В таком случае вам потребуется заменить значение «Запад» во всех записях сотрудников на что-то еще, прежде чем удалять его из таблицы «Регионы». В данном примере может подойти последний вариант, позволяющий удалить значение «Запад» из таблицы «Регионы». При этом значение «Запад» будет автоматически удалено из записей сотрудников, а вместо него останутся пустые значения. При выборе второго варианта будут удалены все записи сотрудников с регионом «Запад» из таблицы «Сотрудники». Это так называемое каскадное удаление приведет к удалению намного большего объема данных, чем требуется в примере. Будьте внимательны при выборе этого параметра.
Изменение отношения
В веб-приложении Access отсутствует окно «Схема данных». Поле в одной таблице служит источником (полем подстановки) значений для связанного поля в другой таблице.

- Откройте таблицу, содержащую подстановку, которое нужно изменить, выбрав команду Изменить таблицу.
- Выберите поле, в которое подставляются значения из другой таблицы.
- На вкладке Конструктор в группе Работа с таблицами нажмите кнопку Изменить подстановки.
- Внесите нужные изменения в соответствии с инструкциями мастера. Можно изменить следующие элементы.
- Поле-источник значений
- Порядок сортировки значений
- Ширину поля и отображение ключевого столбца
- Подпись поля подстановки
- Включение проверки целостности данных
- Каскадное или ограниченное удаление в случае, если включена проверка целостности данных
Удаление отношения
В веб-приложении Access отсутствует окно «Схема данных». Поле в одной таблице служит источником (полем подстановки) значений для связанного поля в другой таблице. Чтобы удалить связь между двумя таблицами в веб-приложении Access, необходимо удалить поле подстановки и связанные с ним данные.

- Откройте таблицу, содержащую поле подстановки, которое нужно удалить, выбрав команду Изменить таблицу.
- Выберите поле подстановки, в которое подставляются значения из другой таблицы веб-приложения.
- На вкладке Конструктор в разделе Работа с таблицами нажмите кнопку Удалить поля.
- В Access отображается сообщение Удалить выделенные поля и все содержащиеся в них данные? Нажмите кнопку Да, чтобы подтвердить удаление поля подстановки и его данных.
Примечание: При удалении поля подстановки приложение Access также может предложить вам удалить один или несколько индексов. Если такое сообщение появляется, нажмите кнопку Да.
Создание или изменение отношения в веб-базе данных Access 2010
Чтобы создать отношение в веб-базе данных Access 2010, необходимо использовать мастер подстановок. Окно «Схема данных» отсутствует в веб-базе данных. Поле в одной таблице используется в качестве источника для значения в связанном поле другой таблицы.
Примечание: Воспользоваться мастером подстановок можно только при наличии поля, используемого в качестве источника значений.
Создание в веб-базе данных Access 2010 отношения с помощью мастера подстановок
- Откройте таблицу, в которую будут переноситься значения из другой таблицы.
- Справа от последнего поля нажмите кнопку Щелкните для добавления, а затем выберите пункт Подстановка и отношение.
Примечание: Для отображения кнопки Щелкните для добавления, может понадобиться прокрутить страницу по горизонтали.
- Каскадное удаление позволяет при удалении записи в одной таблице удалять соответствующую запись в другой.
- Ограниченное удаление не разрешает удалить запись из таблицы, если она связана с записью в другой таблице.
Примечание: Не выбирайте элемент Разрешить несколько значений в мастере подстановок, если он используется для создания отношения.
Изменение отношения в веб-базе данных Access 2010
- Откройте таблицу, в которую подставляются значения из другой таблицы.
- Выберите поле, в которое подставляются значения из другой таблицы.
- На вкладке Поля в группе Свойства нажмите кнопку Изменить подстановки.
- Внесите нужные изменения в соответствии с инструкциями мастера. Можно изменить следующие элементы.
- Поле-источник значений
- Порядок сортировки значений
- Ширину поля и отображение ключевого столбца
- Подпись поля подстановки
- Включение проверки целостности данных
- Каскадное или ограниченное удаление в случае, если включена проверка целостности данных
Руководство по межтабличным связям
Одной из целей создания хорошей структуры базы данных является устранение избыточности (повторения) данных. Для этого нужно распределить данные по нескольким отдельным тематически организованным таблицам, чтобы каждый факт был представлен один раз. В приложении Access будет предоставлен способ сбора разбросанных данных — это делается путем помещения общих полей в связанные таблицы. Чтобы корректно выполнить это действие, нужно понять взаимосвязи между таблицами и описать эти взаимосвязи в базе данных.
В этой статье
- Введение
- Типы связей между таблицами
- Зачем создавать связи между таблицами?
- Понятие о целостности данных
- Просмотр связей между таблицами
Введение
После создания таблицы для каждой темы в базе данных нужно предоставить приложению Accessсредства, с помощью которых можно будет при необходимости объединять сведения. Это делается путем создания общих полей в связанных таблицах и настройки связей между таблицами. После этого можно создавать запросы, формы и отчеты, одновременно отображающие сведения из нескольких таблиц. Например, приведенная ниже форма содержит сведения из нескольких таблиц:
1. Эта форма содержит данные из таблицы клиентов,
4. и сведений о заказах.
Имя клиента в поле Плательщик получено из таблицы «Клиенты», значения кода заказа и даты заказа — из таблицы «Заказы», наименование товара — из таблицы «Товары», а цена и количество — из таблицы «Заказано». Чтобы можно было передать данные в форму, эти таблицы связаны друг с другом несколькими способами.
В приведенном примере поля в таблицах должны быть согласованы таким образом, чтобы отображать сведения об одном и том же заказе. Это согласование осуществляется путем установления связей между таблицами. Связь между таблицами устанавливает отношения между значениями в ключевых полях — часто между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с первичным ключом одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, для связывания сотрудников с заказами, за которые они отвечают, можно создать связь между полями «Код сотрудника» в таблицах «Сотрудники» и «Заказы».
1. Поле «Код сотрудника» отображается в двух таблицах: как первичный ключ.
2. и как внешний ключ.
Типы связей между таблицами
В Access есть три типа связей между таблицами.
- Связь «один-ко-многим» Рассмотрим базу данных, в которой учитываются заказы, включающую таблицы «Клиенты» и «Заказы» в качестве примера. Клиент может разместить любое количество заказов. Следовательно, у любого клиента, представленного в таблице «Клиенты», может быть много заказов, представленных в таблице «Заказы». Поэтому связь между таблицами «Клиенты» и «Заказы» — это отношение «один-ко-многим». Чтобы создать отношение «один-ко-многим» в структуре базы данных, добавьте первичный ключ на стороне «один» в таблицу на стороне «многие» в виде дополнительного поля или полей. В данном примере необходимо добавить новое поле — поле «Код» из таблицы «Клиенты» — в таблицу «Заказы» и назвать его «Код клиента». После этого Access сможет использовать номер «Код клиента» из таблицы «Заказы» для поиска клиента каждого заказа.
- Связь «многие-ко-многим» Рассмотрим связь между таблицами «Товары» и «Заказы». Отдельный заказ может включать несколько товаров. С другой стороны, один товар может входить в несколько заказов. Таким образом, для каждой записи в таблице «Заказы» может существовать несколько записей в таблицы «Товары». Таким образом, для каждой записи в таблице «Заказы» может существовать несколько записей в таблице «Заказы». Эта связь называется отношением «многие-ко-многим». Обратите внимание, что для определения существующей схемы отношений «многие ко многим» между вашими таблицами, очень важно рассматривать обе стороны отношений. Чтобы представить связь «многие-ко-многим», нужно создать третью (связующую) таблицу, в которой она разбивается на две связи «один-ко-многим». Первичные ключи двух таблиц вставляются в третью таблицу. В результате в третьей таблице сохраняются все экземпляры связи. Например, таблицы «Заказы» и «Продукты» имеют связь «многие-ко-многим», определяемую путем создания двух связей «один-ко-многим» в таблице «Заказано». В одном заказе может быть много продуктов, и каждый продукт может быть указан во многих заказах.
- Связь «один-к-одному» При отношении «один-к-одному» каждая запись в первой таблице может иметь не более одной связанной записи во второй таблице, и наоборот. Отношения этого типа используются нечасто, поскольку обычно сведения, связанные таким образом, хранятся в одной таблице. Отношение «один-к-одному» используется для разделения таблицы, содержащей много полей, с целью отделения части таблицы по соображениям безопасности, а также с целью сохранения сведений, относящихся к подмножеству записей в главной таблице. После определения такого отношения у обеих таблиц должно быть общее поле.
Зачем создавать связи между таблицами?
Связи между таблицами можно создать непосредственно с помощью окна «Схема данных» или путем перетаскивания поля из области Список полей. Access использует связи между таблицами для того, чтобы решить, как связать таблицы для использования их в объекте базы данных. Существует несколько причин для создания связей между таблицами перед созданием других объектов базы данных (форм, запросов, отчетов).
- Связи между таблицами предоставляют сведения для структурирования запросов Для работы с записями из нескольких таблиц часто приходится создавать запросы, соединяющие таблицы. Запрос сопоставляет значения в поле первичного ключа первой таблицы с полем внешнего ключа второй таблицы. Например, чтобы получить строки, в которых перечисляются все заказы для каждого из клиентов, можно создать запрос, соединяющий таблицу «Клиенты» с таблицей «Заказы» на основе поля «Код клиента». В окне «Схема данных» можно вручную указать поля для соединения. Но если связь между таблицами уже существует, Access использует соединение по умолчанию на основе существующей связи между таблицами. Кроме того, при использовании одного из мастеров запросов Access использует сведения об уже определенных связях между таблицами, чтобы предоставить пользователю выбор и подставить в параметры свойств соответствующие значения по умолчанию.
- Связи между таблицами предоставляют сведения для структурирования форм и отчетов При создании формы или отчета в Access используются сведения об уже определенных межтабличных связях, чтобы предоставить пользователю выбор и предварительно заполнить параметры свойств соответствующими значениями по умолчанию.
- Связи между таблицами — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было потерянных записей. Потерянная запись — это запись со ссылкой на несуществующую запись (например, запись заказа со ссылкой на отсутствующую запись клиента). При создании базы данных сведения распределяются по таблицам, в каждой из которых есть первичный ключ. После этого к связанным таблицам добавляются внешние ключи, имеющие ссылки на первичные ключи. Эти пары из внешнего и первичного ключей формируют основу для связей между таблицами и многотабличных запросов. Поэтому важно, чтобы ссылки «внешний ключ — первичный ключ» оставались синхронизированными. Целостность данных, которая зависит от связей в таблице, гарантирует, что ссылки остаются синхронизированными.
Понятие о целостности данных
При создании базы данных сведения распределяются по множеству тематически организованных таблиц, чтобы свести к минимуму избыточность данных. После этого в Access предоставляются средства сбора разбросанных данных путем создания в связанных таблицах общих полей. Например, чтобы создать связь «один-ко-многим», добавьте первичный ключ из таблицы на стороне «один» как дополнительное поле в таблицу на стороне «многие». Чтобы соединить данные, Access подставляет значение из таблицы на стороне «многие» в соответствующее поле таблицы на стороне «один». Таким образом, значения таблицы на стороне «многие» связаны с соответствующими значениями на стороне «один».
Предположим, между таблицами «Грузоотправители» и «Заказы» существует связь «один-ко-многим», и нужно удалить грузоотправителя. Если у грузоотправителя, которого нужно удалить, есть заказы в таблице «Заказы, они станут потерянными записями после удаления записи грузоотправителя. В таблице «Заказы» останется код грузоотправителя, но он будет недействителен, поскольку запись, на которую он ссылается, уже не существует.
Задача сохранения целостности данных состоит в предотвращении появления потерянных записей и поддержании ссылок в синхронизированном состоянии, чтобы описанная выше гипотетическая ситуация никогда не возникла.
Обеспечение целостности данных включается для конкретного отношения между таблицами. После активации, Access будет отклонять любые операции, нарушающие целостность данных для этой межтабличной связи. Это означает, что Access будет отклонять как любые обновления, изменяющие целевой объект ссылки, так и удаление такого целевого объекта. Возможно, у вас может быть полностью допустимая потребность в изменении первичного ключа для поставщика, у которого есть заказы в таблице «Заказы». В этом случае необходимо, чтобы Access выполнил автоматическое обновление всех задействованных строк в рамках одной операции. Таким образом, Access гарантирует, что обновление будет полностью завершено, а база данных не будет находиться в несогласованном состоянии, когда некоторые строки обновлены, а другие — нет. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при включении обеспечения целостности данных был включен параметр Каскадное удаление связанных полей, то при последующем обновлении первичного ключа Access автоматически обновляет все связанные с ним поля.
Может понадобиться удалить строку и все связанные записи — например, запись грузоотправителя и все связанные с ним заказы. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при обеспечении целостности данных выбрать параметр Каскадное удаление связанных записей, а затем удалить запись на стороне первичного ключа в отношении, Access автоматически удалит все записи со ссылкой на первичный ключ.
Просмотр связей между таблицами
Чтобы просмотреть межтабличные связи, щелкните Схема данных на вкладке Работа с базами данных. Откроется окно «Схема данных», в котором будут отображены все существующие связи. Если связи еще не были определены или это окно открывается впервые, приложение Access предложит добавить в окно таблицу или запрос.
Вызов окна «Схема данных»
- Щелкните «Файл»,выберите«Открыть», а затем выберите и откройте базу данных.
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Связь между таблицами представляется как линия между таблицами в окне «Схема данных». Связь, не обеспечивающая целостность данных, отображается как тонкая линия между общими полями, поддерживающими связь. Если выбрать связь, щелкнув линию, то линия станет жирной. Если обеспечить целостность данных для этой связи, линия станет толще на концах. Кроме того, над жирной частью линии с одной стороны связи будет отображаться цифра 1, а с другой стороны — символ бесконечности (∞).
Когда открыто окно «Схема данных», на ленте доступны указанные ниже команды.
На вкладке Конструктор в группе Сервис
- Изменить связи . Открывает диалоговое окно Изменение связей . При выборе линии связи можно щелкнуть элемент Изменить связи, чтобы изменить связь между таблицами. Можно также дважды щелкнуть линию связи.
- Очистить макет . Запрещает отображение всех таблиц и связей в окне «Схема данных». Имейте в виду, что эта команда только скрывает таблицы и связи, но не удаляет их.
- Отчет о связях . Создает отчет, отображающий таблицы и связи базы данных. В отчете отображаются только таблицы и связи, не скрытые в окне «Схема данных».
На вкладке Конструктор в группе Отношения
- Добавление таблиц (добавление таблицы в Access 2013 Позволяет показывать в окне «Отношения» выбор таблиц.
- Скрыть таблицу . Скрывает выбранную таблицу в окне «Схема данных».
- Прямые связи . Отображает все связи и связанные таблицы для выбранной таблицы в окне «Схема данных», если они еще не отображены.
- Все связи . Отображает все связи и связанные таблицы базы данных в окне «Схема данных». Имейте в виду, что скрытые таблицы (таблицы, для которых установлен флажок Скрытый в диалоговом окне Свойства) и их связи не будут отображены, если не установлен флажок «Показывать скрытые объекты» в диалоговом окне «Параметры переходов».
- Закрыть . Закрывает окно «Схема данных». Если в макет окна «Схема данных» были внесены какие-либо изменения, будет предложено сохранить их.
Создание и выполнение запроса на удаление
Если нужно быстро удалить большой объем данных или регулярно удалять определенные сведения из базы данных рабочего стола в Access, удобно воспользоваться запросом на удаление или обновление: в этом случае можно указать условия для быстрого поиска и удаления информации. Кроме того, с помощью запросов вы сэкономите время, потому что их можно повторно использовать после сохранения.
Примечание: Перед удалением данных или выполнением запроса на удаление убедитесь в том, что у вас есть резервная копия базы данных рабочего стола Access.
Если необходимо удалить всего несколько записей, использовать запрос не нужно. Можно открыть таблицу в режиме таблицы, выбрать поля (столбцы) или записи (строки), которые требуется удалить, и нажать клавишу DELETE.
Важно: Эта статья относится только к базам данных рабочего стола. Запросы на удаление и обновление невозможно использовать в веб-приложениях Access.
В этой статье
- Выбор типа запроса
- Использование запроса на удаление
- Использование запроса на обновление
- Дополнительные сведения
- Советы по устранению неполадок
Выбор типа запроса
Для удаления данных из базы данных можно выбрать запрос на обновление или удаление. Выберите тип запроса на основании сведений в следующей таблице:
Запрос на удаление
Удаление всех записей (строк) из таблицы или двух связанных таблиц одновременно.
Примечание: Если записи хранятся на стороне «один» отношения «один-ко-многим», перед выполнения запроса на удаление необходимо изменить это отношение. Подробнее читайте в разделе по удалению данных из связанных таблиц.
Запросы на удаление удаляют все данные в каждом поле, вместе со значением ключа, который делает эту запись уникальной.
Запрос на обновление
Удаление отдельных полей из таблицы.
Упрощает удаление значений путем замены существующих значений на пустое значение (то есть без данных) или на пустую строку (пару двойных кавычек без пробела между ними).
Что необходимо проверить перед использованием запроса на удаление любых данных
- Убедитесь, что файл не открыт в режиме только для чтения.
- Щелкните правой кнопкой мыши кнопку Пуск и откройте проводник Windows.
- Щелкните файл базы данных правой кнопкой мыши и выберите пункт Свойства.
- Проверьте, не выбран ли параметр Только для чтения.
- Проверьте наличие необходимых разрешений на удаление записей из базы данных. При необходимости обратитесь к системному администратору или разработчику базы данных.
- Убедитесь, что содержимое базы данных активировано. По умолчанию приложение Access блокирует выполнение всех запросов (на удаление, обновление и создание таблицы), пока базе данных не будет предоставлено состояние доверенной. Чтобы узнать о признании базы данных доверенной, см. раздел Выполнение запроса, заблокированного из-за режима отключения содержимого.
- Попросите других пользователей базы данных закрыть все таблицы, формы, запросы и отчеты, в которых используются удаляемые данные. Это позволит избежать конфликтов блокировки.
- Перед редактированием или удалением записи необходимо создать резервную копию базы данных на случай необходимости отмены изменений.
Совет: Если к базе данных подключается большое количество пользователей, может потребоваться закрыть ее и снова открыть в монопольном режиме.
Открытие базы данных в монопольном режиме
- Откройте вкладку Файл и выберите пункт Открыть.
- Найдите и выберите базу данных, щелкните значок стрелки рядом с кнопкой Открыть, а затем выберите команду Монопольный доступ.
Создание резервной копии базы данных
- Откройте вкладку Файл и выберите пункт Сохранить как.
- В разделе Сохранить базу данных как выберите пункт Резервная копия базы данных. Приложение Access закроет исходный файл, создаст резервную копию и снова его откроет.
- Нажмите кнопку Сохранить как и укажите имя и расположение для резервной копии, а затем нажмите кнопку Сохранить.
Примечание: При использовании базы данных, доступной только для чтения или созданной в более ранней версии приложения Аccess, может появиться сообщение о том, что резервную копию создать невозможно.
Чтобы вернуться к резервной копии, закройте и переименуйте исходный файл, чтобы получить возможность использовать имя исходной версии. Назначьте имя исходной версии резервной копии и откройте переименованную копию.
Использование запроса на удаление
Чтобы создать запрос на удаление, на вкладке «Создание» в группе «Запросы» нажмите кнопку «Конструктор запросов». Дважды щелкните каждую таблицу, из которой вы хотите удалить записи, и нажмите кнопку «Закрыть».
Таблица будет отображена в верхней части бланка запроса. В списке полей дважды щелкните звездочку (*), чтобы добавить все поля таблицы в бланк запроса.
Использование специальных условий в запросе на удаление
Важно: Условия служат для указания только тех записей, которые требуется удалить. В другом случае запрос на удаление удалит все записи в таблице.
Дважды щелкните поле, которое вы хотите указать в качестве условия для удаления, введите одно из критериев в строке «Условия» конструктора запросов, а затем введите для каждого поля условия запроса поле «Показать».
Пример использования этого параметра: предположим, вы хотите удалить все ожидающих ожидания заказов для клиента. Чтобы найти только эти записи, нужно добавить поля «ИД клиента» и «Дата заказа» в сетку конструктора запросов, а затем ввести номер ИД клиента и дату, когда заказы этого клиента стали недействительными.
- На вкладке Конструктор выберите команду Режим >Режим таблицы.
- Убедитесь, что выбраны записи, которые требуется удалить, а затем нажмите клавиши CTRL+S, чтобы сохранить запрос.
- Для выполнения запроса дважды щелкните его в области навигации.
Использование запроса на обновление
Примечание: Запросы на обновление невозможно использовать в веб-приложениях Access.
В этом разделе описано, как использовать запрос на обновление для удаления отдельных полей из таблиц. Помните, что выполнение запроса на обновление для удаления данных заменяет существующие значения на пустые или на строки нулевой длины (пару двойных кавычек, не разделенных пробелом), в зависимости от заданного условия.
- На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
- Выберите таблицу с данными, которые вы хотите удалить (если таблица связана, выберите таблицу на стороне отношения «один»), нажмите кнопку Добавить, а затем — Закрыть. Таблица будет отображена в верхней части бланка запроса. В этом окне перечислены все поля выбранной таблицы.
- Чтобы добавить все поля в бланк запроса, дважды щелкните звездочку (*). Это позволит удалить все записи (строки) из таблицы. Дополнительно можно указать условия для одного или нескольких полей в строке Условия, а затем снять флажок Показать в каждом поле условий. Дополнительные сведения см. в таблице Примеры условий для выбора запросов.
Примечание: Условия служат для выбора только тех записей, которые необходимо изменить. В противном случае запрос на обновление изменит все записи в полях запроса на значение NULL.
Дополнительные сведения
Удаление данных из связанных таблиц
Если вы хотите удалить данные из нескольких связанных таблиц, необходимо включить параметры Целостность данных и Каскадное удаление связанных записей для каждой из связей. Это позволит запросу удалять данные из таблиц на сторонах отношения «один» и «многие». Подготовка к удалению связанных данных требует проверки следующих параметров.
- Определите, какие из записей находятся на стороне отношения «один», а какие — на стороне «многие».
- Если нужно удалить записи на стороне отношения «один» и связанные записи на стороне «многие», включите набор правил «Целостность данных» и разрешите операцию каскадного удаления. Далее в этом разделе описано понятие целостности данных и указано, как выполнить оба действия.
- Если вам нужно удалить данные только на стороне отношения «один», сначала удалите отношение, а затем — данные.
Если требуется удалить данные только со стороны отношения «многие», создайте и выполните запрос на удаление, не внося изменений в отношение.
Чтобы узнать, какие записи находятся на сторонах отношения «один» и «многие», на вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных. Вкладка Схема данных отображает таблицы в базе данных и связи между ними. Каждая связь изображается линией, соединяющей поля таблиц.
На рисунке ниже изображена типичная связь. В большинстве связей (если не во всех) присутствует сторона «один» и сторона «многие». В схеме связей сторона «один» обозначается единицей (1), а сторона «многие» — знаком бесконечности (∞).
При удалении записей, расположенных на стороне «один», удаляются также все связанные записи на стороне «многие». Однако при удалении записей на стороне «многие» записи на стороне «один» обычно не удаляются.
Коме того, приложение Access автоматически использует набор правил целостности данных. Эти правила обеспечивают правильность значений во внешних ключах базы данных. Внешний ключ — это столбец, значения которого совпадают со значениями в столбце первичного ключа в другой таблице.
Изменение связи
Следующие инструкции выполняются только если необходимо удалить данные на сторонах отношения «один» и «многие».
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- Щелкните правой кнопкой мыши связь (линию) между таблицами, включенными в операцию удаления, и выберите в контекстном меню команду Изменить связь.
- Убедитесь в том, что в диалоговом окне Изменение связей установлен флажок Обеспечение целостности данных.
- Установите флажок Каскадное удаление связанных записей.
Примечание: Пока вы снова не отключите это свойство, при удалении записей, расположенных на стороне «один», будут удаляться также все связанные записи на стороне «многие».
Удаление связи
- Откройте область Схема данных, если она закрыта.
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных. Запишите имена полей, участвующих в отношении, чтобы после удаления данных можно было восстановить связь.
- Щелкните правой кнопкой мыши связь (линию) между таблицами, включенными в операцию удаления, и выберите в контекстном меню команду Удалить.
Примечание: Чтобы восстановить связь, откройте область Схема данных, как показано выше, и перетащите поле первичного ключа из таблицы «один» на поле внешнего ключа таблицы «многие». Будет открыто диалоговое окно Изменение связей. Если в исходном отношении была включена целостность данных, установите флажок Обеспечение целостности данных и нажмите кнопку Создать. В противном случае просто нажмите кнопку Создать.
Примеры условий отбора для запросов
В следующей таблице приведены примеры условий, которые можно использовать в запросах на выборку, когда требуется убедиться, что удаляются только необходимые данные. В некоторых из этих примеров используются подстановочные знаки.
Возвращает все числа больше 234. Чтобы найти все числа меньше 234, используйте условие < 234
Выбирает все записи от «Новосибирск» до конца алфавита.
Between #02.02.2010# And #12.01.2010#
Выбирает даты между 2-фев-2010 и 1-дек-2010 (ANSI-89). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знака решетки (#) одинарные кавычки (‘). Пример: Between ‘02.02.2010’ And ‘12.01.2010’.
Находит все записи, в которых содержимое поля не соответствует значению «Германия». Согласно этому условию будут найдены записи, содержащие дополнительный текст, кроме слова «Германия», например «Германия (евро)» или «Европа (Германия)».
Находит все записи, кроме тех, которые начинаются с буквы «Т». Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте знак процента (%) вместо знака звездочки (*).
Находит все записи, которые не оканчиваются буквой «т». Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).
Находит все записи в списке со словами «Канада» или «Великобритания».
Находит в поле с типом данных «Текстовые» все записи, начинающиеся с букв «А–Г». Если в базе данных используются подстановочные знаки ANSI-92, используйте знак процента (%) вместо знака звездочки (*).
Находит все записи, которые содержат сочетание букв «тр». Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).
Like «Григорий Верны?»
Находит все записи, начинающиеся с имени «Григорий» и содержащие вторую строку из 9 букв, из которых 6 букв составляют начало фамилии «Верный», а последняя буква неизвестна. Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо вопросительного знака (?) знак подчеркивания (_).
Находит все записи для 2 февраля 2010 г. Если в базе данных используются подстановочные знаки ANSI-92, необходимо заключить дату в одинарные кавычки вместо знаков решетки (‘2.2.2010’).
Использует функцию Date для возврата всех дат не менее 30-дневной давности.
Использует функцию Date для возврата всех записей, содержащих текущую дату.
Between Date( ) And DateAdd(«M», 3, Date( ))
Использует функции Date и DateAdd которые возвращают все записи между текущей датой и датой на три месяца позже.
Возвращает все записи, содержащие пустое (незаполненное или неопределенное) значение.
Выбирает все записи с любым (не пустым) значением.
Возвращает все записи, содержащие строку нулевой длины. Пустые строки служат для добавления значений в обязательные поля, если фактическое значение неизвестно. Например, в поле требуется ввести номер факса, но у некоторых клиентов его нет. В этом случае вводится пара двойных кавычек без пробела («»).
Советы по устранению неполадок
Почему на экране может появиться это сообщение об ошибке, и как его исправить?
Если запрос на удаление строится с использованием нескольких таблиц, а для свойства запроса Уникальные значения задано значение Нет, при попытке выполнения запроса Access выведет на экран сообщение об ошибке Удаление из указанных таблиц невозможно.
Чтобы решить эту проблему, задайте для свойства запроса Уникальные значения значение Да.
- Откройте запрос на удаление в конструкторе.
- Если окно свойств запроса не открыто, нажмите для его открытия клавишу F4.
- Щелкните конструктор запросов, чтобы в окне свойств отображались свойства запроса, а не свойства поля.
- В окне свойств найдите свойство Уникальные значения и назначьте ему значение Да.
Выполнение запроса, заблокированного из-за режима отключения содержимого
Если открыть базу данных рабочего стола, которая не является доверенной или не находится в надежном расположении, Access будет по умолчанию блокировать все запросы на изменение.
Если при попытке выполнения запроса на изменение ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:
Данное действие или событие заблокировано в режиме отключения.
Если отображается это сообщение, чтобы разблокировать содержимое, выполните следующие действия.
- На панели сообщений Предупреждение системы безопасности нажмите кнопку Включить содержимое и снова выполните запрос.
Связывание таблиц и удаление связей в Microsoft Access
Работа с базами данных — процесс, требующий определённых навыков и понимания некоторых нюансов. Разработанная компанией Microsoft программа Access даёт пользователям возможность быстро создавать и редактировать БД. Один из важнейших моментов, с которым обязательно нужно разобраться, при создании БД — связывание её элементов. В этой статье разберёмся с тем, как создать или удалить связи между таблицами в Access. Давайте же начнём. Поехали!
Прежде чем мы перейдём к связыванию, необходимо создать так называемые ключевые поля. Что это такое? Ключевое поле — это поле, определяющее каждую запись. Теперь перейдём непосредственно к его созданию. Открыв нужную таблицу, щёлкните правой кнопкой мыши по вкладке и выберите пункт «Конструктор». Затем добавьте новое поле. Например, если у вас есть список сотрудников, то ключевым стоит сделать «код сотрудника», указав тип данных «счётчик» либо «числовой». Чтобы сделать его ключевым, нажмите кнопку «Ключевое поле», расположенную на панели инструментов Microsoft Access. Далее, необходимо проделать то же самое для всех остальных таблиц.

Теперь уже можно связывать наши таблицы. Чтобы сделать это, откройте вкладку «Работа с базами данных» и в разделе «Отношения» ленты инструментов выберите пункт «Схема данных». Перед вами откроется окно, в котором понадобится выбрать все таблицы. Поочерёдно кликните по каждой из них. Закончив, выйдите из этого окна. Теперь нужно определиться с тем, как именно связывать. Например, есть две таблицы: «Бренд» и «Одежда», между которыми необходимо связать между собой. Поле «Код бренда» должно быть и там, и там. Если оно отсутствует — создайте его. При этом для записей категории «Бренд» оно будет ключевым (так называемый первичный ключ), а для «Одежда» — обычным (внешний ключ). Первичный ключ «Код бренда» перетащите на внешний ключ «Код бренда». После этого появится диалоговое окно, в котором нужно отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Отметив все пункты, нажмите кнопку «Создать». Появится чёрная линия, соединяющая указанные строки. Созданная связь имеет название «один ко многим». То есть в приведённом примере это будет означать, что один бренд может выпускать много разной одежды.

Далее, аналогичным образом свяжите все остальные, не забывая добавлять поля. Имея минимум три таблицы (среди которых две основных и одна промежуточная), вы можете создать тип связи «многие ко многим». Для заполнения полей, являющихся внешними ключами, можно использовать «Мастер подстановок». Чтобы сделать это, перейдите в режим конструктора и в разделе «Тип данных» выберите пункт «Мастер подстановок». В открывшемся окне выберите откуда будет взята информация для заполнения. Затем укажите нужные поля и нажмите кнопку «Далее». Следующие два окна можно пропустить. В конце кликните по кнопку «Готово». Прежде чем начать заполнение, программа предложит вам сохраниться, щёлкните «Да». Обратите внимание, что заполнение таким способом возможно только в случае, если связь ещё не установлена. Если у вас так не получилось, то вы можете удалить её и заполнить ячейки. После этого она автоматически появится, однако, вам понадобится кликнуть по ней два раза и отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей».

Чтобы удалить связь, кликните по кнопке «Схема данных» на панели инструментов, затем щёлкните по линии, показывающей её, и нажмите на клавиатуре клавишу delete.
Теперь вы знаете как добавляются и удаляются связи при работе с БД в программе Microsoft Access. Обладая этими навыками, вы уже сможете создавать полноценные, функционирующие БД, однако, продолжайте развивать свои знания программы Access. Пишите в комментариях была ли полезной для вас эта статья и задавайте любые интересующие вопросы по рассмотренной теме.
