Цель лабораторной работы: научиться включать таблицы в схему данных и устанавливать связь между таблицами базы данных.
Схема данных является не только удобным и наглядным средством графического отображения логических связей таблиц базы данных. Связи, заданные в схеме данных, автоматически используются для объединения записей связанных таблиц при любой обработке. Это упрощает процесс конструирования многотабличных форм, отчетов и запросов.
По заданному для связи параметру объединения определяется, как должно происходить объединение записей связываемых таблиц. По умолчанию происходит объединение только тех записей связанных таблиц, в которых значение поля связи совпадают.
Установление связи между двумя таблицами возможны только при выполнении следующих условий.
· связываемые таблицы имеют поля с одинаковыми типами данных, причем имена полей могут быть различными;
· обе таблицы сохраняются в одной базе данных Access.
Если главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы, то Access определяет, что таблицы находятся в отношении 1:М или 1:1. Для таблиц, находящихся в этих отношениях, в схеме данных можно установить параметры поддержания связной целостности данных.
Поддержка связной целостности данных означает, что Access при корректировке базы данных обеспечивает для связанных таблиц контроль за соблюдением следующих условий:
· в подчиненную таблицу не может быть доставлена запись со значением ключа связи, не существующим в главной таблице;
· в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
· изменения значений ключа связи в записи главной таблицы невозможно, если в подчиненной таблице имеются записи, связанные с ней.
Если для связи обеспечивается поддержание целостности, то можно задать режимы перечисленные ниже.
· Каскадное обновление связанных полей обеспечивает при изменении значения ключа связи в записи главной таблицы автоматическое изменение значения в связанных полях подчиненных записях.
· Каскадное удаление связанных записей обеспечивает при удалении записи из главной таблицы автоматическое удаление всех связанных записей в подчиненной таблице. Каскадное удаление подчиненных записей выполняется на всех уровнях, если этот режим задан на каждом уровне.
Упражнение 6.2.1. Включение таблиц в схему данных и определение связей между ними.
Рассмотрим процесс создания схемы данных, соответствующей логической структуре базы данных Учебный процесс.
1. Откройте окно Схема данных. Для этого при активном окне Учебный процесс: база данных нажмите кнопку Схема данных на панели инструментов.
2. В диалоговом окне Добавление таблицы выберите вкладку Таблица и, нажимая кнопку добавить, разместите в окне Схема данных все ранее созданные таблицы базы данных,
3. Нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных Учебный процесс со списком своих полей.
4. Установите связь между таблицами ГРУППА и СТУДЕНТ по простому ключу НГ. Для этого в окне Схема данных установите курсор мыши на ключевом поле НГ главной таблицы ГРУППА и перетащите это поле на поле НГ в подчиненной таблице СТУДЕНТ.
5. В открывшемся окне Изменение связей в строке Тип отношений установится один-ко-многим. Отметьте доступный для этого типа отношений параметр Обеспечение целостности данных. Если таблицы ГРУППА и СТУДЕНТ пустые или ранее были заполнены данными, отвечающие требованиям целостности, между таблицами будет установлена связь, на схеме как 1:М. В противном случае появится сообщение о невозможности установить связь с проверкой целостности.
6. Установите флажки каскадного обновление связанных полей и каскадного удаление связанных записей, тогда будет обеспечена автоматическая корректировка данных для сохранения целостности во взаимосвязанных таблицах.
7. Установите связи по простому ключу для других пар таблиц: КАФЕДРА- ПРЕПОДАВАТЕЛЬ (ключ ККАФ), ПРЕДМЕТ – ИЗУЧЕНИЕ (ключ КП), ПРЕПОДАВАТЕЛЬ – ИЗУЧЕНИЕ (ключ ТАБН), ГРУППА-ИЗУЧЕНИЕ (ключ НГ).
8. Установите связь по составному ключу НГ+НС между таблицами СТУДЕНТ – УСПЕВАЕМОСТЬ. Для этого в главной таблице СТУДЕНТ выделите оба эти поля, удерживая клавишу <Ctrl>, и перетащите оба поля на поле НГ в подчиненной таблице УСПЕВАЕМОСТЬ.
9. В окне Изменение связи для поля НС главной таблицы Таблица /запрос выберите соответствующее поле подчиненной таблицы Связанная таблица/запрос. В этом же окне установите режим Обеспечение целостности данных и другие параметры связи.
10. Аналогично по составному ключу НГ+КП+ТАБН+ВИДЗ установите связи между парой таблиц ИЗУЧЕНИЕ – УСПЕВАЕМОСТЬ.
11. Разместите таблицы в окне схемы данных в соответствии с их относительной подчиненностью, перемещая и изменяя их размеры, как показано на рис. 6.2.1.
Рис 6.2.1. Схема данных базы данных Учебный процесс
Контрольные вопросы
1. Для чего создается схема данных базы Access?
2. В каких отношения должны находится таблицы, чтобы для них можно было установить параметры поддержки связной целостности данных?
3. Для чего предназначен значок “+” в левом столбце таблицы?
4. Что произойдет при изменении значения ключевого поля в главной таблицы, если для ее связи с подчиненной установлен флажок каскадное обновление связанных полей?