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

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

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

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

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

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

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

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

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

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

Определение технологии загрузки базы данных на примере

Рассмотрим технологию загрузки на примере базы данных “Учебный процесс”, в котором связи между таблицами соответствуют схеме данных, приведенной в главе 3 на рис. 3.29.

Документы-источники загрузки этой базы данных перечислены при описании предметной области в главе 2.

Таблицы-объекты загрузки

Определим объекты загрузки – группы из взаимосвязанных таблиц, подлежащих загрузке из одного документа:

  • Таблица ГРУППА -> СТУДЕНТ. Загрузка записей этих таблиц будет производиться одновременно из одного документа “Список студентов группы”, что обеспечивает формирование взаимосвязей записей студентов с соответствующей записью группы. При этом будет обеспечен однократный ввод реквизитов ГРУППЫ и однократный ввод значений НГ для всех студентов группы.
  • Таблица КАФЕДРА -> ПРЕПОДАВАТЕЛЬ. Загрузка записей этих таблиц также будет производиться одновременно из одного документа “Список преподавателей кафедры”, что обеспечивает сразу формирование взаимосвязей записей преподавателей с соответствующей записью кафедры. При этом будет обеспечен однократный ввод реквизитов КАФЕДРЫ и однократный ввод значений ККАФ для всех преподавателей кафедры.
  • Таблица ПРЕДМЕТ. Загрузка этой таблицы может производиться из плана произведения занятий в группах. При этом достаточно ввести составной идентификатор занятия, не вводя наименование предмета и фамилию преподавателя.
  • Таблица ИЗУЧЕНИЕ. Загрузка этой таблицы может производиться из плана проведения занятий в группах. При этом достаточно ввести составной идентификатор занятия, не вводя наименование предмета и фамилию преподавателя.
  • Таблица УСПЕВАЕМОСТЬ. Загрузка этой таблицы может производиться из заполнения экзаменационной ведомости группы. При этом достаточно точно ввести составной идентификатор, не вводя фамилию студента, наименование предмета, фамилию преподавателя.

Наши рекомендации