Referential Integrity Builder

Для вызова достаточно щелкнуть правой кнопкой мыши на линии, отображающей связь между таблицами, и выбрать команд контекстного меню Edit Referential Integrity (Редактировать ссылочную целостность).

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

В данном окне есть три вкладки: Rules for Updating (Правила при обновлении), Rules for Deleting (Правила при удалении) и Rules for Inserting (Правила при вставке).

Внизу расположена таблица, в которой перечислены все отношения. В первом столбце этой таблицы указано имя родительской таблицы, а во втором — дочерней. В трех следующих столбцах указаны правила соблюдение ссылочной целостности для каждого конкретного случая: Update (Обновление), Delete (Удаление), Insert (Вставка). В двух последних столбцах указаны теги.

По умолчанию в трех столбцах (Update, Delete, Insert) установлено значение Ignore (Игнорировать) и никакая ссылочная целостность, естественно, пока не соблюдается.

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

Существуют следующие правила поведения, которые могут быть использованы при изменении значений индекса в родительской таблице:

  • – Cascade (Каскадное изменение) — при изменении значения ключа в родительской таблице произойдет каскадное обновление соответствующих индексов и в дочерней таблице. Это как раз тот случай, который мы рассматривали ранее;
  • – Restrict (Ограничить) — обновление значений ключа в родительской таблице невозможно, если имеются соответствующие значения в записях дочерних таблиц;
  • – Ignore (Игнорировать) — правила ссылочной целостности не соблюдаются и возможны любые изменения в значениях индексов.

Мы рассмотрели правила при обновлении, правила при удалении записей полностью аналогичны.

А вот правила при вставке (Insert) следующие:

  • – Restrict (Ограничить) — не удастся вставить в дочернюю таблицу записи в том случае, если в родительской таблице нет записей с таким же значением ключа;
  • – Ignore (Игнорировать) — разрешена вставка записей, ссылочная целостность соблюдаться не будет.

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

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

Установив необходимые правила для соблюдения ссылочной целостности, закроем диалоговое окно построителя, воспользовавшись кнопкой ОК. При этом появится диалоговое окно, в котором Лис спросит, действительно ли мы хотим сохранить произведенные изменения.

Ответим Да и после генерации соответствующего кода процесс определения ссылочной целостности будет завершен.

Теперь, прежде чем приступить к заполнению наших таблиц, необходимо Рассмотреть следующий важный вопрос — что такое идентификаторы?

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100