Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_по_ИТУ.doc
Скачиваний:
20
Добавлен:
31.03.2015
Размер:
14.24 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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