ВУЗ:
Составители:
Рубрика:
– 48 –
Правило
CASCADE:
– определяет, что при удалении строки-предка все строки-потомки также ав-
томатически удаляются из таблицы-потомка;
– определяет, что при изменении значения первичного ключа в строке-предке
соответствующее значение внешнего ключа в таблице-потомке также автоматиче-
ски изменяется во всех строках-потомках таким образом, чтобы соответствовать
новому значению первичного ключа.
Правило
SETNULL:
– определяет, что при удалении строки-предка внешним ключам во всех ее
строках-потомках автоматически присваивается значение
NULL;
– определяет, что при обновлении значения первичного ключа в строке-
предке внешним ключам во всех ее строках-потомках автоматически присваива-
ется значение
NULL.
Правило
SETDEFAULT:
– определяет, что при удалении строки-предка внешним ключам во всех ее
строках-потомках автоматически присваивается определенное значение, по умол-
чанию установленное для данного столбца;
– определяет, что при обновлении значения первичного ключа в строке-
предке внешним ключам во всех ее строках-потомках автоматически присваива-
ется определенное значение, по умолчанию установленное для данного столбца.
Правило
NONE:
– определяет, что при удалении строки-предка значения внешних ключей во
всех ее строках-потомках не меняются;
– определяет, что при обновлении значения первичного ключа в строке-
предке значения внешних ключей во всех ее строках-потомках не меняются.
Обычно правило
NONE используется в «плоских» таблицах, так как в на-
стольных или файл-серверных системах функциональность, обеспечивающая
правила ссылочной целостности, реализуется в клиентском приложении.
Рассмотрим применение правил ссылочной целостности на примере одной
из связей предок/потомок учебной базы данных. Относительно таблиц
SLUZHASCHIE и OFFISY, связанных отношением предок-потомок, вышеописанные
проблемы добавления, обновления и удаления с использованием перечислен-
ных правил решаются следующим образом:
1. Проблема, возникающая при добавлении новой строки потомка, решается
путем проверки значений в столбцах внешнего ключа перед выполнением инст-
рукции
INSERT. Если они не равны ни одному из значений первичного ключа, то
инструкция
INSERT отбрасывается и выдается сообщение об ошибке. Другими
словами применяется правило
RESTRICT.
2. Проблема, возникающая при обновлении внешнего ключа в строке-
потомке, решается аналогично: путем проверки нового значения в столбцах
внешнего ключа перед выполнением инструкции
UPDATE. Если оно не равно ни
одному из значений первичного ключа, то инструкция
UPDATE отбрасывается и
выдается сообщение об ошибке. То есть в данном случае также применяется
правило
RESTRICT.
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
