Научная электронная библиотека
Монографии, изданные в издательстве Российской Академии Естествознания

7.3. Целостность ссылок

Объекты предметной области взаимосвязаны. Взаимосвязь объектов в РМД выражается через внешние ключи. Связь может быть типа 1:1 или 1:М.

Поэтому:

1) связи между данными отношениями записываются в терминах функциональных зависимостей;

2) для обеспечения функциональных зависимостей между кортежами разных отношений применяется дублирование первичного ключа родительского отношения в дочернее.

Атрибуты, которые представляют собой копии ключей родительских отношений, именуются внешними ключами.

Требование целостности по ссылкам состоит в следующем: для любого значения внешнего ключа, которое появляется в дочернем отношении, должен найтись кортеж с таким же значением первичного ключа в родительском отношении. Иными словами внешний ключ дочернего отношения должен быть согласован с первичным ключом родительского отношения.

Пример. Пусть, например, даны отношения ОТДЕЛ (Nотдела, Наименование-отдела) и СОТРУДНИК (Nсотрудника, Nотдела, ФИО-сотрудника), хранящие сведения о работниках предприятия и отделах, в которых они работают. В данной паре отношение ОТДЕЛ является родительским, поэтому его первичный ключ Nотдела имеется в дочернем отношении СОТРУДНИК. В данном случае требование целостности по ссылкам означает, что в таблице СОТРУДНИК не может быть кортежа со значением атрибута Nотдела, не встречающегося в таблице ОТДЕЛ. Если такого значения в отношении ОТДЕЛ не наблюдается, то внешний ключ в отношении
СОТРУДНИК считается неопределенным.

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

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


Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674