Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1401


2.3.2. изменения , способные нарушить ссы лочную целостность

Существует четыре типа изменений в базах данных, которые могут изме-

нить ссылочную целостность отношений «предок – потомок»:

– Добавление новой строки потомка. Когда происходит добавление новой строки в таблицу-потомок SLUZHASCHIE, значение ее внешнего ключа «ID_OFC»

должно быть равно одному из значений первичного ключа «ID_OFC» в таблице- предке OFFISY. Если значение внешнего ключа не равно ни одному из значений первичного ключа, то добавление такой строки разрушит базу данных, поскольку

появится потомок без предка («сирота»);

– Обновление внешнего ключа в строке-потомке. Это та же проблема, что и в предыдущей  ситуации,  но  выраженная  в  иной  форме.  Если  внешний  ключ

«ID_OFC» обновляется инструкцией UPDATE, то его новое значение должно быть равно одному из значений первичного ключа «ID_OFC» в таблице-предке OFFISY. В противном случае обновленная строка окажется сиротой;

– Удаление строки-предка. Если из таблицы-предка OFFISY будет удалена строка, у которой есть хотя бы один потомок (в таблице SLUZHASCHIE), то строки- потомки останутся сиротами. Значения внешних ключей «ID_OFC» в этих строках

не будут равны ни одному из значений первичного ключа таблицы-предка OFFISY;

– Обновление  внешнего  ключа  в  строке-предке.  Если  в  таблице-предке

OFFISY будет обновлено значение внешнего ключа для отдела, у которого есть хо-

тя бы один потомок (в таблице SLUZHASCHIE), то строки-потомки останутся сиро-

тами.