NONE (НИКАКОЙ) – никаких операций по поддержке ссылочной це- лостности не выполняется. В этом случае в дочернем отношении могут появ- ляться некорректные значения внешних ключей, и вся ответственность за це- лостность базы данных ложится на приложение.
SET NULL (УСТАНОВИТЬ В NULL) – разрешить выполнение тре- буемой операции, но все возникающие некорректные значения внешних ключей заменять на неопределенные значения (null-значения). При этом кор- тежи дочернего отношения теряют всякую связь с кортежами родительского отношения.
SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) – разрешить вы- полнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. При этом должен существовать кортеж родительского отношения, первич- ный ключ которого принят как значение по умолчанию для внешних ключей. Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже нельзя изменять значение ключа. Кроме того, как и в предыдущем случае, кортежи дочернего отношения теряют всякую связь с кортежами родитель- ского отношения.
Рассмотрим применение стратегии поддержания ссылочной целостно- сти [27].
При обновлении кортежа в родительском отношении допустимы сле- дующие стратегии:
RESTRICT – не разрешать обновление, если имеется хотя бы один кортеж дочернего отношения, ссылающийся на обновляемый кортеж роди- тельского отношения.
CASCADE – выполнить обновление и каскадно изменить значения внешних ключей во всех кортежах дочернего отношения, ссылающихся на обновляемый кортеж.
SET NULL – выполнить обновление и во всех кортежах дочернего отношения, ссылающихся на обновляемый кортеж, изменить значения внеш-
них ключей на null-значение.
SET DEFAULT – выполнить обновление и во всех кортежах дочер- него отношения, ссылающихся на обновляемый кортеж, изменить значения внешних ключей на некоторое значение, принятое по умолчанию.
NONE – выполнить обновление, не обращая внимания на нарушения ссылочной целостности.
При удалении кортежа в родительском отношении допустимы страте-
гии:
RESTRICT – не разрешать удаление, если имеется хотя бы один кор-
теж в дочернем отношении, ссылающийся на удаляемый кортеж.
Достарыңызбен бөлісу: |