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

Логическая структура базы данных

 

Логическая структура базы данных «Учебный процесс» приведена на рис.3.1. Она является адекватным отображением информационно-логической модели. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей.

Связи между объектами модели данных реализуются одинаковыми реквизитами – ключами связи в соответствующих таблицах. При этом ключом связи всегда является уникальный ключ главной таблицы. Ключом связи в подчиненной таблице является либо некоторая часть уникального ключа в ней, либо поле, не входящее в состав первичного ключа (например, код кафедры в таблице ПРЕПОДАВАТЕЛЬ). Ключ связи в подчиненной таблице называется внешним ключом.

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

Рис. 3.1. Логическая структура реляционной базы данных “Учебный процесс”

Включение таблиц в схему данных

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

 

Рис. 3.2. Схема данных БД «Учебный процесс»

 

Определение связей между таблицами схемы данных

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

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

Для обеспечения автоматической корректировки данных во взаимосвязанных таблицах установим флажок каскадное обновление связанных полей и каскадное удаление связанных записей.

Аналогичные действия выполняются для других пар таблиц КАФЕДРА → ПРЕПОДАВАТЕЛЬ (ключ ККАФ), ПРЕДМЕТ → ИЗУЧЕНИЕ (ключ КН), ПРЕПОДАВАТЕЛЬ → ИЗУЧЕНИЕ (ключ ТАБН), ГРУППА → ИЗУЧЕНИЕ (ключ НГ)

Определение связей по составному ключу. Определим связи между таблицами СТУДЕНТ → УСПЕВАЕМОСТЬ, которые связаны по составному ключу НГ+НС. Для этого в главной таблице СТУДЕНТ выделим оба этих поля, удерживая клавишу Ctrl. Перетащим оба поля на поле НГ в подчиненной таблице УСПЕВАЕМОСТЬ.

В окне Изменение связи (рис. 3.3) для ключевого поля НС главной таблицы ТАБЛИЦА/ЗАПРОС выберем соответствующее поле подчиненной таблица СВЯЗАННАЯ ТАБЛИЦА/ЗАПРОС. В этом же окне установим режимы Обеспечение целостности данных и другие параметры связи.

 

Рис. 3.3. Окно выбора параметров Связи

Аналогично определяются связи между парой таблиц ИЗУЧЕНИЕ → УСПЕВАЕМОСТЬ (составной ключ связи – НГ+КП+ТАБН+ВИДЗ).

После определения связей таблицы могут перемещаться в пределах рабочего пространства окна схемы данных. Перемещения и изменения размеров таблиц осуществляются принятыми в Windows способами. На рис. 3.2 показана схема данных «Учебный процесс», где таблицы размещены в соответствии с их относительной подчиненностью.

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

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

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

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

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

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

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

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

Если выполнение изменений невозможно, появится сообщение (рис. 3.4).

 Рис.3.4. Сообщение о невозможности внесения изменений в таблицу СТУДЕНТ

 


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



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