ЛЕКЦИЯ 4. Реляционная алгебра

Значения NULL и поддержка ссылочной целостности

Правила внешних ключей

Сформулированное ранее правило целостности, выражено исключительно в терминах состояний базы данных. Любое состояние базы данных, не удовлетворяющее этому правилу некорректно. Для того, чтобы избежать некорректных состояний для каждого внешнего ключа необходимо установить правила, на основании которых СУБД будет действовать при попытке удалить объект ссылки внешнего ключа или обновить потенциальный ключ, на который ссылается внешний ключ. Для каждого из этих случаев можно предусмотреть по меньшей мере две возможности.

1. При попытке удалить объект ссылки внешнего ключа:

1.1. Ограничить – приостановить операцию удаления, до момента, когда не будет существовать ссылающихся объектов.

1.2. Каскадировать – каскадировать операцию удаления, удалив соответствующие ссылающиеся объекты.

2. При попытке обновить потенциальный ключ, на который ссылается внешний ключ:

2.1. Ограничить – приостановить операцию обновления, до момента, когда не будет существовать ссылающихся объектов.

2.2. Каскадировать – каскадировать операцию обновления, обновив значение внешнего ключа в соответствующих ссылающихся объектах.

При каскадных обновлениях удавлениях и обновлениях следует учесть возможность наличия ссылочных циклов, которые могут привести к усложнению процедуры модификации БД.

 

 

Значения NULL используются для обозначения факта отсутствия информации. Например: дата рождения человека может быть неизвестна. При этом следует учесть, что значения NULL отличаются от числового значения 0 или символьных пробелов. Значение NULL вообще не является реальным значением. Для данного атрибута может быть разрешено или запрещено содержать значения NULL.

Возможность присутствия в отношении значений NULL приводит к необходимости формирования правила целостности объектов. Целостность объектов – ни один элемент первичного ключа не может содержать значения NULL.

Правило ссылочной целостности также должно быть расширено с учетом возможности присутствия значений NULL.

Возможность присутствия значений NULL приводит к возникновению ряда трудноразрешимых проблем и осуждается некоторыми исследователями (например, К. Дж. Дейтом в книге [1]).

 

Литература:

 

1. Дейт К.Дж. Введение в системы баз данных. –Пер. с англ. –6-е изд. –К. Диалектика, 1998. Стр. 79–134.

 

4.1 Понятие реляционной алгебры

4.2 Замкнутость в реляционной алгебре

4.3 Традиционные операции над множествами

4.4 Свойства основных операций реляционной алгебры

4.5 Специальные реляционные операции