Учебно-практическое пособие москва 2017 ббк



Pdf көрінісі
бет72/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   68   69   70   71   72   73   74   75   ...   243
Байланысты:
Язык SQL. Базовый курс

CREATE TABLE progress
( record_book numeric( 5 ),
...
FOREIGN KEY ( record_book )
REFERENCES students ( record_book )
ON DELETE CASCADE
);
2. Запрет удаления строки из таблицы «Студенты» (students), если в таблице «Успе-
ваемость» (progress) есть хотя бы одна строка, ссылающаяся на удаляемую стро-
ку в таблице «Студенты». Для реализации такой политики в определение внеш-
него ключа добавляются ключевые слова ON DELETE RESTRICT или ON DELETE
NO ACTION. Если в определении внешнего ключа не предписано конкретное
действие, то по умолчанию используется NO ACTION. Оба эти варианта озна-
чают, что если в ссылающейся таблице, т. е. «Успеваемость», есть строки, ссы-
лающиеся на удаляемую строку в таблице «Студенты», то операция удаления
будет отменена, и будет выведено сообщение об ошибке. Отличие между эти-
ми двумя вариантами лишь в том, что при использовании NO ACTION можно
отложить проверку выполнения ограничения на более поздний строк в рамках
транзакции, а в случае RESTRICT проверка выполняется немедленно. Поэтому
если бы внешний ключ определили таким образом:
CREATE TABLE progress
( record_book numeric( 5 ),
...
76


FOREIGN KEY ( record_book )
REFERENCES students ( record_book )
ON DELETE RESTRICT
);
или таким:
CREATE TABLE progress
( record_book numeric( 5 ),
...
FOREIGN KEY ( record_book )
REFERENCES students ( record_book )
);
то при попытке удаления строки из таблицы «Студенты» и наличии в таблице
«Успеваемость» строк, связанных с ней, операция удаления была бы отменена с
выводом сообщения об ошибке.
3. Присваивание атрибутам внешнего ключа в строках таблицы «Успеваемость»
значения NULL. Для реализации этого подхода необходимо, чтобы на атрибуты
внешнего ключа не было наложено ограничение NOT NULL. Оформляется этот
вариант так:


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет