Связь таблиц в Access
Вся информация, которую можно получить из систем управления базами данных (СУБД), собрана в разных таблицах. Это необходимо для предотвращения переизбытка информации. Выборка и последующая работа с необходимыми сведениями осуществляется с помощью механизма связывания. Именно о том, как в Access связать таблицы и пойдет речь в этой статье. Связь происходит по общему полю, для которого следует задать определенный тип данных. Изменения можно вносить как в исходную, так и в связанную таблицу – они в любом случае будут отображаться в обеих БД.
Пошаговая инструкция
- Откройте БД в программе (помните, что связать можно минимум 2 таблицы в Access).
- Заполните поля информацией, учитывая, что для осуществления операции, поля должны иметь схожий тип данных. Если созданная связь имеет формат «один ко многим», то поля в первой таблице могут иметь тип «Счетчика», а соответствующая ячейка во второй – должна быть числовой. В качестве ключевого следует задать именно счетчик.
- Откройте меню «Сервис/Схема данных» после чего на экране появится область со связанными элементами. Если же она пуста, то окно добавления таблиц откроется в Access автоматически.
- Для того чтобы включить связываемые таблицы Access в открытую БД, следует выделять необходимые названия и кликать на кнопку «Добавить». При этом изображения с табличками будут появляться в рабочей области.
- Чтобы установить связи между таблицами в Access следует захватить поле одного объекта, перенести и отпустить мышку над соответствующим полем в другом. После этого на экране появится окошко с настройками.
- Если задать точное расположение ячеек в Access с помощью мышки не удалось, их можно настроить в выпадающих списках. Включение всех «флажков» обеспечит целостность и сохранность данных, а также их каскадное изменение.
- Установленный тип отношений можно просмотреть внизу окошка. Всего их три: «1 ко многим», «к одному» и «многие ко многим». Если в окне отобразился не тот параметр, значит, типы полей были заданы неверно.
- После нажатия на кнопку «Создать» между изображениями появится линия с цифрой 1 и символом бесконечности. Это значит, что объекты Access связаны соотношением «один ко многим».

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

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

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

Убедитесь, что поля, имена которых отображены в диалоговом окне, являются общими полями данной связи. Если имя поля неверно, выделите это имя и выберите верное поле из списка.
Для поддержания целостности данных для этой связи установите флажок Обеспечение целостности данных. Дополнительные сведения о целостности данных см. в разделе Поддержание целостности данных
В дополнение см. статью Общие сведения о связях между таблицами.
Нажмите кнопку Создать.
Access проведет линию связи между двумя таблицами. Если был установлен флажок Обеспечение целостности данных, линия будет толще на каждом конце. Кроме того, если был установлен флажок Обеспечение целостности данных, над широкой частью на одном конце линии связи будет отображено число 1, а над широкой частью на другом конце линии — символ бесконечности (∞), как показано на следующем рисунке.

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

Задание 2. Создайте связь между таблицей «Клиенты» (главная таблица) и таблицей «Заказы» (подчиненная таблица). Для этого выполните следующие действия:
1. Установите курсор мыши на поле «НомерКлиента» в списке полей таблицы «Клиенты» в окне «Схема данных». Нажмите левую кнопку мыши и, удерживая кнопку нажатой, переместите курсор в окне, совместив перемещаемый значок с названием поля «НомерКлиента» в таблице «Заказы». Отпустите кнопку мыши.
2. В открывшемся диалоговом окне «Связи» проверьте информацию о создаваемой связи: таблица «Клиенты» (поле «НомерКлиента») связывается с таблицей «Заказы» (по полю «НомерКлиента»). Тип устанавливаемого отношения (связи) – «один-ко-многим». Если информация, отображаемая в окне, не соответствует тому, что показано на приведенном выше рисунке, следует исправить ошибку.
3. Включите флажок «Обеспечение целостности данных» и флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».
4. Щелкните кнопку Создать, завершая выполнение операции.
Примечание. Ошибки при установке связей чаще всего возникают из-за того, что неверно были установлены тип данных или свойства полей при создании структур таблиц. Для исправления ошибок следует вернуться к соответствующей таблице в режиме Конструктор.
Задание 3. Создайте связи между таблицами «Услуги» и «Заказы», «Исполнители» и «Заказы» по полям «КодУслуги» и «НомерИсполнителя» соответственно Закройте схему, подтвердив сохранение изменений.
Практическое руководство: как создать зависимость между полями в Ms Access
MS Access — это реляционная СУБД (система управления базами данных), созданная Microsoft Corporation. Эта программа позволяет пользователям создавать базы данных и выполнять на них различные операции. В этой статье мы разберем, как создать зависимость между полями в MS Access.
Что такое зависимость между полями?
Зависимость между полями в базе данных означает, что значения одного поля зависят от значений другого поля. Например, в базе данных сотрудников может быть указано, что при указании их отдела автоматически появляется список их имен. Это позволяет упростить ввод данных и предотвращает возможные ошибки.
Как создать зависимость между полями?
Создание зависимости между полями можно выполнить двумя способами: с помощью выражения или с помощью запроса SQL. Рассмотрим каждый из них подробно.
Создание зависимости между полями с помощью выражения
Откройте MS Access и выберите базу данных, в которой вы хотите создать зависимость между полями.
Откройте таблицу, в которой вы хотите создать зависимость между полями.
Выберите поле, от которого будет зависеть другое поле, и выберите вкладку "Свойства поля".
В разделе "Источник управляемых данных" выберите "Созданное именованное выражение".
Введите выражение, которое определяет зависимость между полями. Например, для создания зависимости между полями "отдел" и "имя" в таблице сотрудников можно использовать следующее выражение: "SELECT Имя FROM Сотрудники WHERE Отдел=’Ваш отдел’".
Переключитесь на вкладку "Данные" и выберите запись. В зависимости от выбора в поле "отдел" в поле "имя" появится список соответствующих имен.
Создание зависимости между полями с помощью запроса SQL
Откройте MS Access и выберите базу данных, в которой вы хотите создать зависимость между полями.
Создайте новый запрос SQL.
Введите запрос SQL, который определяет зависимость между полями. Например, для создания зависимости между полями "отдел" и "имя" в таблице сотрудников можно использовать следующий запрос SQL: "SELECT Имя FROM Сотрудники WHERE Отдел=’Ваш отдел’".
Сохраните запрос SQL.
Откройте таблицу, в которой вы хотите создать зависимость между полями.
Выберите поле, от которого будет зависеть другое поле, и выберите вкладку "Свойства поля".
В разделе "Источник управляемых данных" выберите "Запрос".
Выберите сохраненный запрос SQL в качестве источника управляемых данных.
Переключитесь на вкладку "Данные" и выберите запись. В зависимости от выбора в поле "отдел" в поле "имя" появится список соответствующих имен.
Заключение
Зависимость между полями — это важный аспект баз данных. С ее помощью пользователи могут создавать эффективные, точные и надежные базы данных. MS Access предоставляет два способа создания зависимости между полями: с помощью выражения и с помощью запроса SQL. Выберите тот, который наиболее подходит для ваших потребностей и создайте свою зависимость между полями уже сегодня!