Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет78/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   74   75   76   77   78   79   80   81   ...   256
sql osnovi yazika

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


Глава 5. Основы языка определения данных
ссылающейся таблицы, то будет иметь место нарушение ограничения ссылоч-
ной целостности и операция удаления не будет выполнена.
При выполнении операции UPDATE используются эти же варианты подходов по
отношению к обеспечению ссылочной целостности. Аналогом каскадного уда-
ления является каскадное обновление:


Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   256




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

    Басты бет