Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧКА ИТУ_2008.doc
Скачиваний:
7
Добавлен:
08.11.2018
Размер:
15.99 Mб
Скачать

4.2.2. Установка связей между таблицами и ввод данных в таблицы Установка связей между таблицами

Одно из наиболее мощных средств Access – возможность устанавливать связи между таблицами. Создание связей между таблицами облегчает выполнение операций над данными, позволяет контролировать их целостность. Для реализации этой операции используется команда Схема данных в меню Сервис или кнопка Схема данных панели инструментов при работе в диалоговом окне базы данных (вкладка Таблицы). В результате выполнения этой операции открывается диалоговое окно "Схема данных" (см. рис.).

Для добавления таблицы БД в схему используется диалоговое окно «Добавление таблицы»,

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

Задание 1. Выполните команду Схема данных и добавьте в схему все таблицы, созданные в БД (для добавления таблицу или таблицы следует выделить и щелкнуть по кнопке Добавить). После того, как все таблицы будут включены в схему окно «Добавление таблицы» следует закрыть.

Окно схема данных принимает вид, показанный на рисунке (таблицы в окне схемы перемещаются с помощью мыши, можно изменять их размер). В окне появляются изображения каждой таблицы БД, добавленной в схему, с перечнем всех включенных в них полей. Ключевые поля выделяются жирным шрифтом. Для удобства ключевые поля лучше ставить на первое место. Из этого окна можно вызвать операции над таблицами с помощью контекстного меню. Для удобства работы изображения таблиц лучше всего разместить так:

Для добавления связи между таблицами следует воспользоваться следующим приемом: с помощью мыши переместить поле (или поля), которое необходимо связать, из исходной (главной) таблицы в соответствующее поле (или поля) второй (подчиненной) таблицы. Например: установите курсор мыши на поле «НомерКлиента» в таблице «Клиенты», нажмите левую кнопку мыши и, удерживая ее нажатой, переместите курсор до его совмещения со строкой с тем именем «НомерКлиента» в таблице «Заказы». В большинстве случаев ключевое слово первой таблицы связывается с аналогичным полем второй.

После перемещения поля появляется диалоговое окно "Связи", в котором, если это необходимо, можно изменить имена полей. В этом же окне (см. рис.) можно установить флажок "Обеспечение целостности данных", что дает возможность указать вариант обновления информации в связанных таблицах при внесении изменений в исходную таблицу: связанные поля могут быть каскадно удалены или обновлены, что сохранит согласованность данных в различных таблицах БД.

Задание 2. Создайте связь между таблицей «Клиенты» (главная таблица) и таблицей «Заказы» (подчиненная таблица). Для этого выполните следующие действия:

1. Установите курсор мыши на поле «НомерКлиента» в списке полей таблицы «Клиенты» в окне «Схема данных». Нажмите левую кнопку мыши и, удерживая кнопку нажатой, переместите курсор в окне, совместив перемещаемый значок с названием поля «НомерКлиента» в таблице «Заказы». Отпустите кнопку мыши.

2. В открывшемся диалоговом окне «Связи» проверьте информацию о создаваемой связи: таблица «Клиенты» (поле «НомерКлиента») связывается с таблицей «Заказы» (по полю «НомерКлиента»). Тип устанавливаемого отношения (связи) – «один-ко-многим». Если информация, отображаемая в окне, не соответствует тому, что показано на приведенном выше рисунке, следует исправить ошибку.

3. Включите флажок «Обеспечение целостности данных» и флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».

4. Щелкните кнопку Создать, завершая выполнение операции.

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

Задание 3. Создайте связи между таблицами «Услуги» и «Заказы», «Исполнители» и «Заказы» по полям «КодУслуги» и «НомерИсполнителя» соответственно Закройте схему, подтвердив сохранение изменений.

Вопросы для самоконтроля:

Какие связи могут существовать между таблицами в СУБД?

Что обеспечивает создание связей?

Как разместить в схему данных все необходимые связываемые таблицы?

Как установить связь между таблицами?

Зачем выставляется флажок Обеспечение целостности данных?

Что нужно делать, если целостность данных при создании связей не обеспечивается?