При определении связи ключ в одной таблице содержит ссылки на конкретные записи в другой таблице. Ключ, на который имеется ссылка в другой таблице, называют внешним ключом. Поле внешнего ключа определяет способ связывания таблиц. Содержимое поля внешнего ключа (тип данных и размер) должно совпадать с содержимым ключевого поля. Эти поля также могут иметь одинаковые имена.
1. Выберите команду Сервис - Схема данных.
2. Используя команду Связи - Добавить таблицу, укажите имена таблиц, которые должны быть связаны. Названия каждой из таблиц со списками полей появятся в соответствующем окне.
3. Установите курсор в любую из таблиц на поле, по которому будет установлена связь, и «перетащите» это поле на связывающее поле другой таблицы.
4. Активизируйте флажок Обеспечить целостность данных. Данное действие позволить предотвратить случайное удаление или изменение связанных данных.
Если требуется установить более чем одну связь, в диалогов окне Связи необходимо определить связующие поля, щелкнув в правой части клетки поля на стрелке, указывающей вниз, и выбрав нужное имя поля из открывшегося списка. От полей, указанных при определении связи, зависит тип создаваемой связи, который отображается в этом же поле:
1. Отношение «один – к – одному» создается только в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.
2. Отношение «один – ко – многим» создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс. В отношении «один – ко – многим» главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в этом отношении. Таблица со стороны «много» является подчиненной таблицей. Связующее поле (или поля) в ней с таким же типом информации, как в первичном ключе главной таблицы, являющейся полем внешнего ключа.
3. Связь с отношением «многие – ко – многим» фактически представляют две связи с отношением «один – ко – многим» через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в других таблицах.
В случае, если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношений отображается текст: «Не определено».
Для удаления связи: в окне Схема данных выделите ненужную связь и нажмите клавишу «Delete».
Пример.
Нам нужно установить связь между таблицей Заказы и таблицами Компьютеры, Принтеры и Клиенты. Для этого необходимо:
1. В меню Инструменты выберите команду Схема данных.
2. В результате появится окно Схема данных. При первом открытии оно будет пустым.
3. Чтобы добавить таблицы или запросы в этом окне нужно выбрать команду Показать таблицу в меню Схема данных или нажать кнопку Показать таблицу расположенную в строке пиктограмм.
4. В списке таблиц раздела Таблицы окна Схема данных выберите таблицу Список заказов, для которой необходимо установить связь.
5. Нажмите кнопку Добавить.
6. Выполните эту операцию с остальными таблицами и нажмите кнопку Закрыть
Связь между таблицами следует организовать так, чтобы при работе с таблицей Список заказов для получения необходимой информации из таблицы базы данных было достаточно указать код товара или клиента. С помощью мыши перенесите поле, которое следует использовать для установки связи, из одной таблицы в другую. Например, установим связь между полями Код заказчика (табл. Список заказов) и Код (табл. Клиенты).
На экране появится диалоговое окно Схема данных, в котором будет предложена связь между таблицами Клиенты и Список Заказов. Поскольку один и тот же клиент может сделать несколько заказов, одной записи в таблице Клиенты может соответствовать несколько записей в таблице Список Заказов.
Необходимо теперь определить тип отношений между таблицами и параметрами связи.
1. Активизируйте опцию Обеспечить целостность данных.
2. Для данных таблиц будет установлено отношение типа Один ко многим. Это означает, что одной записи главной таблицы Клиенты будет соответствовать несколько записей подчиненной таблицы Список Заказов
3. После нажатия кнопки Создать в окне Схема данных будет графически показана связь между таблицами Клиенты и Список Заказов.
Установите связь между таблицей Список Заказов. и таблицами Компьютеры, Мониторы и Принтеры, поскольку один и тот же товар могут заказать несколько клиентов, следовательно, одной записи в таблице Компьютеры, Мониторы и Принтеры могут соответствовать несколько записей в таблице Список Заказов.
Подчиненная таблица | Поле подчиненной таблицы | Поле таблицы Список заказов |
Компьютеры | Код модели компьютера | Номер компьютера |
Мониторы | Код модели монитора | Номер монитора |
Принтеры | Код модели принтера | Номер принтера |
Наконец установите опцию Обеспечение целостности данных. Для проверки ссылочной целостности связи между обеими таблицами. Такая проверка позволит избежать ряда ошибок, допускаемых при удалении записей из главной таблицы и вводе информации в связанную таблицу. Благодаря проверке ссылочной целостности можно избежать следующих ошибок:
• добавления в связанную таблицу записей, для которых в первичной таблице отсутствует соответствующая запись;
• внесение изменений в главную таблицу, которые приведут к появлению “осиротевших” записей в связанной таблице;
• удаление записей в главной таблице, на которые есть ссылки в связанной таблице.