Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Правило ссылочной целостности подразумевает состояние БД в конкретный момент времени. Избежать временных некорректных ситуаций, которые могут возникнуть при обновлении данных в БД м., если запретить любые операции, приводимые к нарушению правила ссылочной целостности. Но при обновлении БД не избежать временного нарушения целостности (например, расформировывается подгруппа, или в начале учебного года переименовывается подгруппа). Поэтому необходимо ввести компенсирующие операции, которые «исправят» это временное нарушение целостности.
Такие компенсирующие операции связаны с внешними ключами, поэтому для любого внешнего ключа при создании связи необходимо ответить на два вопроса:
1)Что должно произойти при попытке изменить (обновить) значение потенциального ключа, на который имеется ссылка? (Например, заменить названия подгруппы ИНФ-Щ1) на ИНФ-21(1) в таблице Подгруппы в начале учебного года.) Возможны как минимум два варианта ответа на такой вопрос:
• ограничить, т. е. отложить до удаления и последующего обновления значений ссылающихся кортежей;
• каскадировать, т. е. обновить значения во всех ссылающихся кортежах.
2) Что должно произойти при попытке удалить объект ссылки внешнего ключа? (Например, убрать все подгруппы V курса из таблицы Подгруппы в конце учебного года.) Возможны два аналогичных варианта:
• ограничить, т.е. не удалять, пока пользователь не удалит ссылающиеся кортежи, иными словами, отложить удаление;
• каскадировать, т. е. удалить, удаляя все соответствующие ссылающиеся кортежи.
Выбор ответов на эти два вопроса и является заданием (или определением) правил внешних ключей. В СУБД MS Access определение правил внешних ключей осуществляется при создании связей между таблицами: если будет отмечен параметр Каскадное обновление связанных полей - выбрана операция каскадирование для обновления, если не отмечен- ограничение; аналогично с параметром Каскадное удаление связанных записей.
Дата публикования: 2015-02-03; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!