ВУЗ:
Составители:
Рубрика:
76
связанные с некоторыми кортежами родительского отношения.
2) CASCADE (КАСКАД) – разрешить выполнение требуемой операции,
но внести при этом необходимые поправки в других кортежах отношений
так, чтобы не допустить нарушения ссылочной целостности и сохранить все
имеющиеся связи. Изменение начинается в родительском отношении и кас-
кадно выполняется в дочернем отношении. Так как дочернее отношение
мо-
жет быть родительским для некоторого третьего отношения, то может потре-
боваться выполнение каскадной стратегии и для этой связи и т.д. Это самая
сложная стратегия, но она хороша тем, что при этом не нарушается связь ме-
жду кортежами родительского и дочернего отношений.
Эти стратегии являются стандартными и присутствуют во всех
СУБД,
в которых имеется поддержка ссылочной целостности.
ERwin реализует также дополнительные стратегии поддержания ссы-
лочной целостности (если они реализованы в целевой СУБД):
1) NONE (НИКАКОЙ) – никаких операций по поддержке ссылочной це-
лостности не выполняется. В этом случае в дочернем отношении могут появ-
ляться некорректные значения внешних ключей, и вся ответственность за
це-
лостность базы данных ложится на приложение.
2) SET NULL (УСТАНОВИТЬ В NULL) – разрешить выполнение тре-
буемой операции, но все возникающие некорректные значения внешних
ключей заменять на неопределенные значения (null-значения). При этом кор-
тежи дочернего отношения теряют всякую связь с кортежами родительского
отношения.
3) SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) – разрешить вы-
полнение требуемой операции,
но все возникающие некорректные значения
внешних ключей изменять на некоторое значение, принятое по умолчанию.
При этом должен существовать кортеж родительского отношения, первич-
ный ключ которого принят как значение по умолчанию для внешних ключей.
Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже
нельзя изменять значение ключа. Кроме того, как
и в предыдущем случае,
кортежи дочернего отношения теряют всякую связь с кортежами родитель-
ского отношения.
Рассмотрим применение стратегии поддержания ссылочной целостно-
сти [27].
При обновлении кортежа в родительском отношении допустимы сле-
дующие стратегии:
1) RESTRICT – не разрешать обновление, если имеется хотя бы один
кортеж дочернего отношения, ссылающийся на обновляемый кортеж роди-
тельского
отношения.
2) CASCADE – выполнить обновление и каскадно изменить значения
внешних ключей во всех кортежах дочернего отношения, ссылающихся на
обновляемый кортеж.
3) SET NULL – выполнить обновление и во всех кортежах дочернего
отношения, ссылающихся на обновляемый кортеж, изменить значения внеш-
связанные с некоторыми кортежами родительского отношения. 2) CASCADE (КАСКАД) – разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других кортежах отношений так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительском отношении и кас- кадно выполняется в дочернем отношении. Так как дочернее отношение мо- жет быть родительским для некоторого третьего отношения, то может потре- боваться выполнение каскадной стратегии и для этой связи и т.д. Это самая сложная стратегия, но она хороша тем, что при этом не нарушается связь ме- жду кортежами родительского и дочернего отношений. Эти стратегии являются стандартными и присутствуют во всех СУБД, в которых имеется поддержка ссылочной целостности. ERwin реализует также дополнительные стратегии поддержания ссы- лочной целостности (если они реализованы в целевой СУБД): 1) NONE (НИКАКОЙ) – никаких операций по поддержке ссылочной це- лостности не выполняется. В этом случае в дочернем отношении могут появ- ляться некорректные значения внешних ключей, и вся ответственность за це- лостность базы данных ложится на приложение. 2) SET NULL (УСТАНОВИТЬ В NULL) – разрешить выполнение тре- буемой операции, но все возникающие некорректные значения внешних ключей заменять на неопределенные значения (null-значения). При этом кор- тежи дочернего отношения теряют всякую связь с кортежами родительского отношения. 3) SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) – разрешить вы- полнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. При этом должен существовать кортеж родительского отношения, первич- ный ключ которого принят как значение по умолчанию для внешних ключей. Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже нельзя изменять значение ключа. Кроме того, как и в предыдущем случае, кортежи дочернего отношения теряют всякую связь с кортежами родитель- ского отношения. Рассмотрим применение стратегии поддержания ссылочной целостно- сти [27]. При обновлении кортежа в родительском отношении допустимы сле- дующие стратегии: 1) RESTRICT – не разрешать обновление, если имеется хотя бы один кортеж дочернего отношения, ссылающийся на обновляемый кортеж роди- тельского отношения. 2) CASCADE – выполнить обновление и каскадно изменить значения внешних ключей во всех кортежах дочернего отношения, ссылающихся на обновляемый кортеж. 3) SET NULL – выполнить обновление и во всех кортежах дочернего отношения, ссылающихся на обновляемый кортеж, изменить значения внеш- 76
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »