Проверка поддержания целостности в базе данных

На рис. 6 в созданной схеме данных БД "Учебный процесс" все связи отмечены символами 1: ∞, что свидетельствует об установлении связей типа 1:М (по простому или составному ключу), для которых будет обеспечиваться целостность данных.

Проверим поддержание целостности при внесении изменений в таблицы ГРУППА -> СТУДЕНТ, связанные одно-многозначными отношениями.

Проверка целостности при изменении значений связанных полей в таблицах.

Откроем таблицу ГРУППА в режиме таблицы. Изменим значение ключевого поля НГ (номер группы) в одной из записей главной таблицы ГРУППА. Убе­димся, что во всех записях подчиненной таблицы СТУДЕНТ, для студентов обучающихся в этой группе, автоматически также изменится значение поля НГ. Изменение происходит, поскольку был установлен параметр каскадное обновление связанных полей полей. Причем это изменение осуществляется мгновенно, как только изменяемая запись перестает быть текущей. Для наблюдений за автоматическими изменениями в подчиненной таблице откроем на экране одновременно таблицы ГРУППА и СТУДЕНТ. Однако открыв одновременно другие подчиненные таблицы, можно убедиться, что при этой схеме данных каскадное обновление не всегда распространяется на подчиненные таблицы следующих уровней ИЗУЧЕНИЕ и УСПЕВАЕМОСТЬ. Чтобы убедиться в этом, необходимо в таблице ГРУППА попытаться изменить тот номер группы, который есть в таблице УСПЕВАЕМОСТЬ (откройте эти таблицы одновременно). Вы увидите, что такое каскадное изменение данных окажется невозможным. Это является недостатком данной схемы данных, в связи с чем в схему необходимо внести изменения (см. ниже). Но прежде выполним другое.

Изменим значение ключа связи НГ в подчиненной таблице СТУДЕНТ на значение, не существующее в записях таблицы ГРУППА, и убедимся, что такое изменение запрещено, т. к. при поддержании целостности не может существовать запись подчиненной таблицы с ключом связи, которого нет в главной таблице.

Проверка при добавлении записей в подчиненную таблицу. Убедимся, что не­возможно включить новую запись в подчиненную таблицу СТУДЕНТ со значением ключа связи НГ, не представленным в таблице ГРУППА.

Проверка при удалении записи в главной таблице. Убедимся, что вместе с удалением записи в главной таблице ГРУППА удаляются все подчиненные записи, т. к. был установлен параметр каскадное удаление связанных записей.

Заметим, если каскадное удаление не разрешено, невозможно удалить запись в главной таблице, если имеются связанные с ней записи в подчиненной.

Итак, схема на рис. 6, которая взята из книги Бекаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2010. БХВ-Санкт-Петербург, 1999, имеет тот недостаток, что не обеспечивает каскадное изменение некоторых данных. В связи с этим недостатком для данной лабораторной работы нужно реализовать измененную схему данных, представленную на стр. 25, путем внесения изменений в структуру таблиц СТУДЕНТ и УСПЕВАЕМОСТЬ и в схему данных (см. Задание).



СКОРРЕКТИРОВАННАЯ СХЕМА ДАННЫХ

Ниже приведена скорректированная схема данных, которую и следует реализовать в окончательном варианте лабораторной работы.

Рисунок 6.1. Скорректированная схема данных


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: