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


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


  • при выборе одной из вкладок Rules for Updating (правила обновления), Rules for Deleting (правила удаления), Rules for Inserting (правила вставки) в верхней части таблицы появляются переключатели с комментариями для каждого из правил.
  • Например, при выборе вкладки Rates for Updating (правила обновления) выбираются правила, связанные с изменениями значения первичного ключа или ключа-кандидата в родительской таблице. При этом возможен выбор одного из трех правил, приведенных в табл. 21.6.

    Таблица 21.6

    Правила изменения значений первичного ключа

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

    Выбор любого из правил осуществляется установкой соответствующего переключателя. Выбранное правило отображается в соответствующей строке столбца Update (обновить).

    При удалении записей из связанных таблиц (вкладка Rules for Deleting - правила удаления) требуется использование также трех правил (табл. 21.7).

    Таблица 21.7

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

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


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