Лабораторная работа № 5
2. «СОЗДАНИЕ НОВОЙ БАЗЫ ДАННЫХ»
2.8. ЗАДАНИЕ 8. Редактирование и удаление связей между таблицами
В предыдущем ЗАДАНИИ 7 между всеми таблицами БД Факультет были установлены связи. Любая связь может быть отредактирована или удалена. Для это необходимо выполнить следующие действия:
- Если таблицы, между которыми необходимо изменить связь, открыты, заройте их.
- Открыть окно Схема данных.
- В окне Схема данных подвести курсор к линии связи, которую надо откорректировать, и двойным щелчком открыть диалоговое окно Изменение связей (рис. 19).
- Внесите необходимые изменения: установите целостность данных и каскадное обновление полей, проставив в соответствующих окнах флажки. После закрытия окна Изменение связей вы снова вернетесь в окно Схема данных.
- Обратите внимание, как изменился вид линий связи: теперь по схеме данных можно определить тип связи (рис. 23).
- После установления целостности связей всех таблиц откройте в режиме таблицы таблицу Учетная карта и Ведомость. Введите в первую таблицу в поле ФИО фамилии Иванов И.И. и Петров П.П., другие поля заполнять необязательно (запись считается введенной, если курсор уже переведен в поле временной (новой) записи). Затем через буфер обмена перенесите эти фамилии в таблицу Ведомость.
- Установите расположение окон Слева направо, используя пункт горизонтального меню Окно. Перейдите в таблицу Учетная карта. Удалите запись Иванов И.И.. (используйте пункт Правка>Удалить запись горизонтального меню). Внимательно прочтите предупреждение, которое выдает Access на ваши действия (рис. 24 а). Подтвердите удаление. Обратите внимание, что произошло с этой же записью в таблице Ведомость.
Рис. 23. Схема связей между таблицами, в которых обеспечивается
целостность данных
8. Установите курсор в таблицу Ведомость. Удалите запись с фамилией Петров П.П. Обратите внимание на предупреждение, сделанное Access в этом случае (рис. 24 б). Самостоятельно удалите запись с фамилией Петров П.П. из таблицы Учетная карта. Закройте обе таблицы.
а)
б)
Рис. 24. Предупреждение Access при каскадном удалении записи а) в главной таблице. б) в подчиненной таблице
9. Откройте таблицы Группы и Преподаватели. и расположите их Слева направо.
10. Попробуйте удалить запись с фамилией Голованова Н.И. из таблицы Преподатели. Access не может позволить вам этого сделать, иначе нарушается целостность данных (скопируйте запись с фамилией Голованова Н.И. в буфер обмена).
11.Удалите фамилию Голованова Н.И. из поля Кураторы таблицы Группы. А затем еще раз повторите шаг 10. На этот раз удаление записи должно пройти успешно.
12. Вставьте из буфера удаленную запись в таблицу Преподаватели и впишите эту же фамилию в поле Кураторы таблицы Группы. Закройте все таблицы.
Если понадобится удалить межтабличную связь, например, для того, чтобы изменить тип данных поля, участвующего в связи, необходимо выполнить следующие действия.
- Щелкнуть на требуемой линии объединения в окне Схема данных (линия при этом станет более жирной) и нажмите клавишу <Delete>. Есть и другой способ: щелкнуть правой кнопкой мыши на нужной линии связи и выбрать из появившегося контекстного меню команду Удалить.
- На экране появится диалоговое окно Access, в котором необходимо будет подтвердить удаление связи.