Основы современных компьютерных технологий


Обеспечение ссылочной целостности БД - часть 3


/p>

Правила для добавления записей применимы со стороны дочерней таблицы. Их всего два (табл. 21.8).

267

Таблица 21.8

Правила добавления записей

Наименование Описание
Restrict Запрещается добавление записи к дочерней таблице, если в родительской таблице отсутствуем запись, значение первичного ключа или ключа-кандидата которой не совпадает со значением внешнего ключа добавляемой записи
Ignore Допускается неограниченное добавление записей в дочернюю таблицу. Целостность данных не поддерживается.

По окончании выбора правил выйдем из Построителя, нажав ОК. При выходе появляется запрос подтверждения сделанных изменений. В случае подтверждения в БД создается ряд хранимых процедур и триггеров. Если такие процедуры и триггеры уже существуют, то перед их перезаписью создается резервная копия. Теперь все наши требования по обеспечению ссылочной целостности данных сохраняются в словаре БД и реализуются при работе с пей.

При формировании правил ссылочной целостности (рис. 21.5) мы рассуждали следующим образом:

  1. Изменение значений ключевых полей родительских таблиц. Таблица Т_Ргер является дочерней по отношению к таблицам T_Dolgn и T_Stag; в свою очередь, для нее дочерней является таблица T_Zagr. He будем исключать возможность изменения названия должности или фамилии преподавателя. Соответствующие поля являются ключевыми. При необходимости такие изменения необходимо произвести в родительских таблицах соответственно: должность - в T_Dolgn, а фамилию -в Т_Ргер. В этом случае они синхронно (каскадом) изменятся в дочерних таблицах. Запретим изменения значений ключевого поля Stag (стаж) в родительской таблице T_Stag.
  2. Удаление записей в родительских таблицах. Запретим удаление записей в родительских таблицах, имеющих в дочерних таблицах записи с совпадающими значениями внешних ключевых полей.
  3. Изменение (добавление) записей в дочерней таблице. Запретим ввод записей в дочерние таблицы, не соответствующие одной из записей в родительской таблице.

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




Начало  Назад  Вперед